90fe0d58a5
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 897a0a23 SPIGOT-5753: Back PotionType by a minecraft registry 255b2aa1 SPIGOT-7080: Add World#locateNearestBiome ff984826 Remove javadoc.io doc links CraftBukkit Changes: 71b0135cc SPIGOT-5753: Back PotionType by a minecraft registry a6bcb8489 SPIGOT-7080: Add World#locateNearestBiome ad0e57434 SPIGOT-7502: CraftMetaItem - cannot deserialize BlockStateTag b3efca57a SPIGOT-6400: Use Mockito instead of InvocationHandler 38c599f9d PR-1272: Only allow one entity in CraftItem instead of two f065271ac SPIGOT-7498: ChunkSnapshot.getBlockEmittedLight() gets 64 blocks upper in Overworld Spigot Changes: e0e223fe Remove javadoc.io doc links
64 Zeilen
2.8 KiB
Diff
64 Zeilen
2.8 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Fri, 20 Aug 2021 13:03:55 -0700
|
|
Subject: [PATCH] Get entity default attributes
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
|
|
index 0f09250d536b7405f0dc253afb1f3c4ccbaeb0da..f08e03c71f1e59d31a22822701b4e9ae6cc1429d 100644
|
|
--- a/src/main/java/org/bukkit/UnsafeValues.java
|
|
+++ b/src/main/java/org/bukkit/UnsafeValues.java
|
|
@@ -196,5 +196,22 @@ public interface UnsafeValues {
|
|
* @return the server's protocol version
|
|
*/
|
|
int getProtocolVersion();
|
|
+
|
|
+ /**
|
|
+ * Checks if the entity represented by the namespaced key has default attributes.
|
|
+ *
|
|
+ * @param entityKey the entity's key
|
|
+ * @return true if it has default attributes
|
|
+ */
|
|
+ boolean hasDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey);
|
|
+
|
|
+ /**
|
|
+ * Gets the default attributes for the entity represented by the namespaced key.
|
|
+ *
|
|
+ * @param entityKey the entity's key
|
|
+ * @return an unmodifiable instance of Attributable for reading default attributes.
|
|
+ * @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultEntityAttributes(NamespacedKey)} first)
|
|
+ */
|
|
+ @org.jetbrains.annotations.NotNull org.bukkit.attribute.Attributable getDefaultEntityAttributes(@org.jetbrains.annotations.NotNull NamespacedKey entityKey);
|
|
// Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java
|
|
index 6c40a989eff1163c19106c1e6b4c8fc01ace7280..6cf14afd2c1b8018c67c6cac302ae28bb12ab5a5 100644
|
|
--- a/src/main/java/org/bukkit/entity/EntityType.java
|
|
+++ b/src/main/java/org/bukkit/entity/EntityType.java
|
|
@@ -449,6 +449,25 @@ public enum EntityType implements Keyed, Translatable, net.kyori.adventure.trans
|
|
Preconditions.checkArgument(this != UNKNOWN, "UNKNOWN entities do not have translation keys");
|
|
return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this);
|
|
}
|
|
+
|
|
+ /**
|
|
+ * Checks if the entity has default attributes.
|
|
+ *
|
|
+ * @return true if it has default attributes
|
|
+ */
|
|
+ public boolean hasDefaultAttributes() {
|
|
+ return org.bukkit.Bukkit.getUnsafe().hasDefaultEntityAttributes(this.key);
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Gets the default attributes for the entity.
|
|
+ *
|
|
+ * @return an unmodifiable instance of Attributable for reading default attributes.
|
|
+ * @throws IllegalArgumentException if the entity does not exist of have default attributes (use {@link #hasDefaultAttributes()} first)
|
|
+ */
|
|
+ public @NotNull org.bukkit.attribute.Attributable getDefaultAttributes() {
|
|
+ return org.bukkit.Bukkit.getUnsafe().getDefaultEntityAttributes(this.key);
|
|
+ }
|
|
// Paper end
|
|
|
|
/**
|