diff --git a/paper-api/pom.xml b/paper-api/pom.xml
index bc08e92339..1dfd11ed8e 100644
--- a/paper-api/pom.xml
+++ b/paper-api/pom.xml
@@ -5,7 +5,7 @@
org.bukkit
bukkit
- 1.16.1-R0.1-SNAPSHOT
+ 1.16.2-R0.1-SNAPSHOT
jar
Bukkit
diff --git a/paper-api/src/main/java/org/bukkit/Material.java b/paper-api/src/main/java/org/bukkit/Material.java
index cedb719856..f66cd342c2 100644
--- a/paper-api/src/main/java/org/bukkit/Material.java
+++ b/paper-api/src/main/java/org/bukkit/Material.java
@@ -28,6 +28,7 @@ import org.bukkit.block.data.type.BrewingStand;
import org.bukkit.block.data.type.BubbleColumn;
import org.bukkit.block.data.type.Cake;
import org.bukkit.block.data.type.Campfire;
+import org.bukkit.block.data.type.Chain;
import org.bukkit.block.data.type.Chest;
import org.bukkit.block.data.type.Cocoa;
import org.bukkit.block.data.type.CommandBlock;
@@ -747,9 +748,9 @@ public enum Material implements Keyed {
*/
IRON_BARS(9378, Fence.class),
/**
- * BlockData: {@link Waterlogged}
+ * BlockData: {@link Chain}
*/
- CHAIN(28265, Waterlogged.class),
+ CHAIN(28265, Chain.class),
/**
* BlockData: {@link Fence}
*/
@@ -1658,9 +1659,6 @@ public enum Material implements Keyed {
JIGSAW(17398, Jigsaw.class),
TURTLE_HELMET(30120, 1, 275),
SCUTE(11914),
- IRON_SHOVEL(30045, 1, 250),
- IRON_PICKAXE(8842, 1, 250),
- IRON_AXE(15894, 1, 250),
FLINT_AND_STEEL(28620, 1, 64),
APPLE(7720),
BOW(8745, 1, 384),
@@ -1672,39 +1670,42 @@ public enum Material implements Keyed {
GOLD_INGOT(28927),
NETHERITE_INGOT(32457),
NETHERITE_SCRAP(29331),
- IRON_SWORD(10904, 1, 250),
WOODEN_SWORD(7175, 1, 59),
WOODEN_SHOVEL(28432, 1, 59),
WOODEN_PICKAXE(12792, 1, 59),
WOODEN_AXE(6292, 1, 59),
+ WOODEN_HOE(16043, 1, 59),
STONE_SWORD(25084, 1, 131),
STONE_SHOVEL(9520, 1, 131),
STONE_PICKAXE(14611, 1, 131),
STONE_AXE(6338, 1, 131),
- DIAMOND_SWORD(27707, 1, 1561),
- DIAMOND_SHOVEL(25415, 1, 1561),
- DIAMOND_PICKAXE(24291, 1, 1561),
- DIAMOND_AXE(27277, 1, 1561),
- STICK(9773),
- BOWL(32661),
- MUSHROOM_STEW(16336, 1),
+ STONE_HOE(22855, 1, 131),
GOLDEN_SWORD(10505, 1, 32),
GOLDEN_SHOVEL(15597, 1, 32),
GOLDEN_PICKAXE(25898, 1, 32),
GOLDEN_AXE(4878, 1, 32),
+ GOLDEN_HOE(19337, 1, 32),
+ IRON_SWORD(10904, 1, 250),
+ IRON_SHOVEL(30045, 1, 250),
+ IRON_PICKAXE(8842, 1, 250),
+ IRON_AXE(15894, 1, 250),
+ IRON_HOE(11339, 1, 250),
+ DIAMOND_SWORD(27707, 1, 1561),
+ DIAMOND_SHOVEL(25415, 1, 1561),
+ DIAMOND_PICKAXE(24291, 1, 1561),
+ DIAMOND_AXE(27277, 1, 1561),
+ DIAMOND_HOE(24050, 1, 1561),
NETHERITE_SWORD(23871, 1, 2031),
NETHERITE_SHOVEL(29728, 1, 2031),
NETHERITE_PICKAXE(9930, 1, 2031),
NETHERITE_AXE(29533, 1, 2031),
+ NETHERITE_HOE(27385, 1, 2031),
+ STICK(9773),
+ BOWL(32661),
+ MUSHROOM_STEW(16336, 1),
STRING(12806),
FEATHER(30548),
GUNPOWDER(29974),
- WOODEN_HOE(16043, 1, 59),
- STONE_HOE(22855, 1, 131),
- IRON_HOE(11339, 1, 250),
- DIAMOND_HOE(24050, 1, 1561),
- GOLDEN_HOE(19337, 1, 32),
- NETHERITE_HOE(27385, 1, 2031),
WHEAT_SEEDS(28742),
/**
* BlockData: {@link Ageable}
@@ -1807,25 +1808,25 @@ public enum Material implements Keyed {
COOKED_COD(9681),
COOKED_SALMON(5615),
INK_SAC(7184),
- RED_DYE(5728),
- GREEN_DYE(23215),
COCOA_BEANS(30186),
LAPIS_LAZULI(11075),
- PURPLE_DYE(6347),
- CYAN_DYE(8043),
- LIGHT_GRAY_DYE(27643),
- GRAY_DYE(9184),
- PINK_DYE(31151),
- LIME_DYE(6147),
- YELLOW_DYE(5952),
- LIGHT_BLUE_DYE(28738),
- MAGENTA_DYE(11788),
+ WHITE_DYE(10758),
ORANGE_DYE(13866),
- BONE_MEAL(32458),
+ MAGENTA_DYE(11788),
+ LIGHT_BLUE_DYE(28738),
+ YELLOW_DYE(5952),
+ LIME_DYE(6147),
+ PINK_DYE(31151),
+ GRAY_DYE(9184),
+ LIGHT_GRAY_DYE(27643),
+ CYAN_DYE(8043),
+ PURPLE_DYE(6347),
BLUE_DYE(11588),
BROWN_DYE(7648),
+ GREEN_DYE(23215),
+ RED_DYE(5728),
BLACK_DYE(6202),
- WHITE_DYE(10758),
+ BONE_MEAL(32458),
BONE(5686),
SUGAR(30638),
/**
@@ -1964,6 +1965,7 @@ public enum Material implements Keyed {
PHANTOM_SPAWN_EGG(24648),
PIG_SPAWN_EGG(22584),
PIGLIN_SPAWN_EGG(16193),
+ PIGLIN_BRUTE_SPAWN_EGG(30230),
PILLAGER_SPAWN_EGG(28659),
POLAR_BEAR_SPAWN_EGG(17015),
PUFFERFISH_SPAWN_EGG(24570),
@@ -5751,7 +5753,6 @@ public enum Material implements Keyed {
case CHEST:
case COMPOSTER:
case CRAFTING_TABLE:
- case CRIMSON_ROOTS:
case CYAN_BANNER:
case CYAN_BED:
case CYAN_CARPET:
@@ -5824,7 +5825,6 @@ public enum Material implements Keyed {
case MAGENTA_WALL_BANNER:
case MAGENTA_WOOL:
case MUSHROOM_STEM:
- case NETHER_SPROUTS:
case NOTE_BLOCK:
case OAK_DOOR:
case OAK_FENCE:
@@ -5894,7 +5894,6 @@ public enum Material implements Keyed {
case TNT:
case TRAPPED_CHEST:
case VINE:
- case WARPED_ROOTS:
case WHITE_BANNER:
case WHITE_BED:
case WHITE_CARPET:
diff --git a/paper-api/src/main/java/org/bukkit/Sound.java b/paper-api/src/main/java/org/bukkit/Sound.java
index ddfaf1bd89..be605747e4 100644
--- a/paper-api/src/main/java/org/bukkit/Sound.java
+++ b/paper-api/src/main/java/org/bukkit/Sound.java
@@ -636,6 +636,7 @@ public enum Sound {
ENTITY_PARROT_IMITATE_MAGMA_CUBE,
ENTITY_PARROT_IMITATE_PHANTOM,
ENTITY_PARROT_IMITATE_PIGLIN,
+ ENTITY_PARROT_IMITATE_PIGLIN_BRUTE,
ENTITY_PARROT_IMITATE_PILLAGER,
ENTITY_PARROT_IMITATE_RAVAGER,
ENTITY_PARROT_IMITATE_SHULKER,
@@ -662,6 +663,12 @@ public enum Sound {
ENTITY_PIGLIN_ADMIRING_ITEM,
ENTITY_PIGLIN_AMBIENT,
ENTITY_PIGLIN_ANGRY,
+ ENTITY_PIGLIN_BRUTE_AMBIENT,
+ ENTITY_PIGLIN_BRUTE_ANGRY,
+ ENTITY_PIGLIN_BRUTE_CONVERTED_TO_ZOMBIFIED,
+ ENTITY_PIGLIN_BRUTE_DEATH,
+ ENTITY_PIGLIN_BRUTE_HURT,
+ ENTITY_PIGLIN_BRUTE_STEP,
ENTITY_PIGLIN_CELEBRATE,
ENTITY_PIGLIN_CONVERTED_TO_ZOMBIFIED,
ENTITY_PIGLIN_DEATH,
diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/Chain.java b/paper-api/src/main/java/org/bukkit/block/data/type/Chain.java
new file mode 100644
index 0000000000..c0ca51db0a
--- /dev/null
+++ b/paper-api/src/main/java/org/bukkit/block/data/type/Chain.java
@@ -0,0 +1,7 @@
+package org.bukkit.block.data.type;
+
+import org.bukkit.block.data.Orientable;
+import org.bukkit.block.data.Waterlogged;
+
+public interface Chain extends Orientable, Waterlogged {
+}
diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/Lantern.java b/paper-api/src/main/java/org/bukkit/block/data/type/Lantern.java
index a6c35655ac..debb26d9b7 100644
--- a/paper-api/src/main/java/org/bukkit/block/data/type/Lantern.java
+++ b/paper-api/src/main/java/org/bukkit/block/data/type/Lantern.java
@@ -1,11 +1,11 @@
package org.bukkit.block.data.type;
-import org.bukkit.block.data.BlockData;
+import org.bukkit.block.data.Waterlogged;
/**
* 'hanging' denotes whether the lantern is hanging from a block.
*/
-public interface Lantern extends BlockData {
+public interface Lantern extends Waterlogged {
/**
* Gets the value of the 'hanging' property.
diff --git a/paper-api/src/main/java/org/bukkit/entity/EntityType.java b/paper-api/src/main/java/org/bukkit/entity/EntityType.java
index 98ebed7d90..774363a818 100644
--- a/paper-api/src/main/java/org/bukkit/entity/EntityType.java
+++ b/paper-api/src/main/java/org/bukkit/entity/EntityType.java
@@ -265,6 +265,7 @@ public enum EntityType implements Keyed {
PIGLIN("piglin", Piglin.class, -1),
STRIDER("strider", Strider.class, -1),
ZOGLIN("zoglin", Zoglin.class, -1),
+ PIGLIN_BRUTE("piglin_brute", PiglinBrute.class, -1),
/**
* A fishing line and bobber.
*/
diff --git a/paper-api/src/main/java/org/bukkit/entity/Piglin.java b/paper-api/src/main/java/org/bukkit/entity/Piglin.java
index 2347dc5565..eefe96c997 100644
--- a/paper-api/src/main/java/org/bukkit/entity/Piglin.java
+++ b/paper-api/src/main/java/org/bukkit/entity/Piglin.java
@@ -3,21 +3,7 @@ package org.bukkit.entity;
/**
* Represents a Piglin.
*/
-public interface Piglin extends Monster {
-
- /**
- * Gets whether the piglin is immune to zombification.
- *
- * @return Whether the piglin is immune to zombification
- */
- public boolean isImmuneToZombification();
-
- /**
- * Sets whether the piglin is immune to zombification.
- *
- * @param flag Whether the piglin is immune to zombification
- */
- public void setImmuneToZombification(boolean flag);
+public interface Piglin extends PiglinAbstract {
/**
* Get whether the piglin is able to hunt hoglins.
@@ -32,48 +18,4 @@ public interface Piglin extends Monster {
* @param flag Whether the piglin is able to hunt hoglins.
*/
public void setIsAbleToHunt(boolean flag);
-
- /**
- * Gets the amount of ticks until this entity will be converted to a
- * Zombified Piglin.
- *
- * When this reaches 300, the entity will be converted.
- *
- * @return conversion time
- * @throws IllegalStateException if {@link #isConverting()} is false.
- */
- public int getConversionTime();
-
- /**
- * Sets the amount of ticks until this entity will be converted to a
- * Zombified Piglin.
- *
- * When this reaches 0, the entity will be converted. A value of less than 0
- * will stop the current conversion process without converting the current
- * entity.
- *
- * @param time new conversion time
- */
- public void setConversionTime(int time);
-
- /**
- * Get if this entity is in the process of converting to a Zombified Piglin.
- *
- * @return conversion status
- */
- boolean isConverting();
-
- /**
- * Gets whether the piglin is a baby
- *
- * @return Whether the piglin is a baby
- */
- public boolean isBaby();
-
- /**
- * Sets whether the piglin is a baby
- *
- * @param flag Whether the piglin is a baby
- */
- public void setBaby(boolean flag);
}
diff --git a/paper-api/src/main/java/org/bukkit/entity/PiglinAbstract.java b/paper-api/src/main/java/org/bukkit/entity/PiglinAbstract.java
new file mode 100644
index 0000000000..28631b93b0
--- /dev/null
+++ b/paper-api/src/main/java/org/bukkit/entity/PiglinAbstract.java
@@ -0,0 +1,65 @@
+package org.bukkit.entity;
+
+/**
+ * Piglin / Piglin Brute.
+ */
+public interface PiglinAbstract extends Monster {
+
+ /**
+ * Gets whether the piglin is immune to zombification.
+ *
+ * @return Whether the piglin is immune to zombification
+ */
+ public boolean isImmuneToZombification();
+
+ /**
+ * Sets whether the piglin is immune to zombification.
+ *
+ * @param flag Whether the piglin is immune to zombification
+ */
+ public void setImmuneToZombification(boolean flag);
+
+ /**
+ * Gets the amount of ticks until this entity will be converted to a
+ * Zombified Piglin.
+ *
+ * When this reaches 300, the entity will be converted.
+ *
+ * @return conversion time
+ * @throws IllegalStateException if {@link #isConverting()} is false.
+ */
+ public int getConversionTime();
+
+ /**
+ * Sets the amount of ticks until this entity will be converted to a
+ * Zombified Piglin.
+ *
+ * When this reaches 0, the entity will be converted. A value of less than 0
+ * will stop the current conversion process without converting the current
+ * entity.
+ *
+ * @param time new conversion time
+ */
+ public void setConversionTime(int time);
+
+ /**
+ * Get if this entity is in the process of converting to a Zombified Piglin.
+ *
+ * @return conversion status
+ */
+ boolean isConverting();
+
+ /**
+ * Gets whether the piglin is a baby
+ *
+ * @return Whether the piglin is a baby
+ */
+ public boolean isBaby();
+
+ /**
+ * Sets whether the piglin is a baby
+ *
+ * @param flag Whether the piglin is a baby
+ */
+ public void setBaby(boolean flag);
+}
diff --git a/paper-api/src/main/java/org/bukkit/entity/PiglinBrute.java b/paper-api/src/main/java/org/bukkit/entity/PiglinBrute.java
new file mode 100644
index 0000000000..e230c17524
--- /dev/null
+++ b/paper-api/src/main/java/org/bukkit/entity/PiglinBrute.java
@@ -0,0 +1,6 @@
+package org.bukkit.entity;
+
+/**
+ * Represents a Piglin Brute.
+ */
+public interface PiglinBrute extends PiglinAbstract { }
diff --git a/paper-api/src/main/java/org/bukkit/entity/memory/MemoryKey.java b/paper-api/src/main/java/org/bukkit/entity/memory/MemoryKey.java
index 3aa8a30a5f..905d5f6d16 100644
--- a/paper-api/src/main/java/org/bukkit/entity/memory/MemoryKey.java
+++ b/paper-api/src/main/java/org/bukkit/entity/memory/MemoryKey.java
@@ -50,6 +50,7 @@ public final class MemoryKey implements Keyed {
public static final MemoryKey POTENTIAL_JOB_SITE = new MemoryKey<>(NamespacedKey.minecraft("potential_job_site"), Location.class);
public static final MemoryKey JOB_SITE = new MemoryKey<>(NamespacedKey.minecraft("job_site"), Location.class);
public static final MemoryKey MEETING_POINT = new MemoryKey<>(NamespacedKey.minecraft("meeting_point"), Location.class);
+ public static final MemoryKey GOLEM_DETECTED_RECENTLY = new MemoryKey<>(NamespacedKey.minecraft("golem_detected_recently"), Boolean.class);
public static final MemoryKey LAST_SLEPT = new MemoryKey<>(NamespacedKey.minecraft("last_slept"), Long.class);
public static final MemoryKey LAST_WOKEN = new MemoryKey<>(NamespacedKey.minecraft("last_woken"), Long.class);
public static final MemoryKey LAST_WORKED_AT_POI = new MemoryKey<>(NamespacedKey.minecraft("last_worked_at_poi"), Long.class);
diff --git a/paper-api/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java b/paper-api/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java
index 1370380ae2..7d23333e71 100644
--- a/paper-api/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/entity/EntityTransformEvent.java
@@ -103,6 +103,10 @@ public class EntityTransformEvent extends EntityEvent implements Cancellable {
/**
* When a slime splits into multiple smaller slimes.
*/
- SPLIT
+ SPLIT,
+ /**
+ * When reason is unknown.
+ */
+ UNKNOWN
}
}
diff --git a/paper-api/src/main/java/org/bukkit/event/player/PlayerPortalEvent.java b/paper-api/src/main/java/org/bukkit/event/player/PlayerPortalEvent.java
index a6f91166a3..b4efd87ca7 100644
--- a/paper-api/src/main/java/org/bukkit/event/player/PlayerPortalEvent.java
+++ b/paper-api/src/main/java/org/bukkit/event/player/PlayerPortalEvent.java
@@ -38,7 +38,9 @@ public class PlayerPortalEvent extends PlayerTeleportEvent {
*
* @param searchRadius the radius in which to search for a portal from the
* location
+ * @deprecated not currently functional
*/
+ @Deprecated
public void setSearchRadius(int searchRadius) {
this.getSearchRadius = searchRadius;
}
@@ -68,7 +70,9 @@ public class PlayerPortalEvent extends PlayerTeleportEvent {
*
* @param canCreatePortal Sets whether there should be a destination portal
* created
+ * @deprecated not currently functional
*/
+ @Deprecated
public void setCanCreatePortal(boolean canCreatePortal) {
this.canCreatePortal = canCreatePortal;
}
@@ -85,7 +89,9 @@ public class PlayerPortalEvent extends PlayerTeleportEvent {
*
* @param creationRadius the radius in which to create a portal from the
* location
+ * @deprecated not currently functional
*/
+ @Deprecated
public void setCreationRadius(int creationRadius) {
this.creationRadius = creationRadius;
}