diff --git a/paper-api/pom.xml b/paper-api/pom.xml index 92f99b14ba..a577eb928c 100644 --- a/paper-api/pom.xml +++ b/paper-api/pom.xml @@ -5,7 +5,7 @@ org.bukkit bukkit - 1.15.2-R0.1-SNAPSHOT + 1.16.1-R0.1-SNAPSHOT jar Bukkit @@ -74,14 +74,14 @@ org.yaml snakeyaml - 1.25 + 1.26 compile org.jetbrains annotations - 18.0.0 + 19.0.0 provided @@ -100,7 +100,7 @@ org.ow2.asm asm-tree - 7.3.1 + 8.0.1 test diff --git a/paper-api/src/main/java/org/bukkit/ChatColor.java b/paper-api/src/main/java/org/bukkit/ChatColor.java index 930f109a10..427368a772 100644 --- a/paper-api/src/main/java/org/bukkit/ChatColor.java +++ b/paper-api/src/main/java/org/bukkit/ChatColor.java @@ -106,7 +106,7 @@ public enum ChatColor { * you need to dynamically convert colour codes from your custom format. */ public static final char COLOR_CHAR = '\u00A7'; - private static final Pattern STRIP_COLOR_PATTERN = Pattern.compile("(?i)" + String.valueOf(COLOR_CHAR) + "[0-9A-FK-OR]"); + private static final Pattern STRIP_COLOR_PATTERN = Pattern.compile("(?i)" + String.valueOf(COLOR_CHAR) + "[0-9A-FK-ORX]"); private final int intCode; private final char code; @@ -218,7 +218,7 @@ public enum ChatColor { char[] b = textToTranslate.toCharArray(); for (int i = 0; i < b.length - 1; i++) { - if (b[i] == altColorChar && "0123456789AaBbCcDdEeFfKkLlMmNnOoRr".indexOf(b[i + 1]) > -1) { + if (b[i] == altColorChar && "0123456789AaBbCcDdEeFfKkLlMmNnOoRrXx".indexOf(b[i + 1]) > -1) { b[i] = ChatColor.COLOR_CHAR; b[i + 1] = Character.toLowerCase(b[i + 1]); } diff --git a/paper-api/src/main/java/org/bukkit/EntityEffect.java b/paper-api/src/main/java/org/bukkit/EntityEffect.java index 4cec72688a..14ae0fd3ec 100644 --- a/paper-api/src/main/java/org/bukkit/EntityEffect.java +++ b/paper-api/src/main/java/org/bukkit/EntityEffect.java @@ -1,7 +1,5 @@ package org.bukkit; -import com.google.common.collect.Maps; -import java.util.Map; import org.bukkit.entity.Ageable; import org.bukkit.entity.ArmorStand; import org.bukkit.entity.Entity; @@ -18,7 +16,6 @@ import org.bukkit.entity.Witch; import org.bukkit.entity.Wolf; import org.bukkit.entity.ZombieVillager; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; /** * A list of all Effects that can happen to entities. @@ -152,7 +149,6 @@ public enum EntityEffect { private final byte data; private final Class applicable; - private static final Map BY_DATA = Maps.newHashMap(); EntityEffect(final int data, /*@NotNull*/ Class clazz) { this.data = (byte) data; @@ -179,24 +175,4 @@ public enum EntityEffect { public Class getApplicable() { return applicable; } - - /** - * Gets the EntityEffect with the given data value - * - * @param data Data value to fetch - * @return The {@link EntityEffect} representing the given value, or null - * if it doesn't exist - * @deprecated Magic value - */ - @Deprecated - @Nullable - public static EntityEffect getByData(final byte data) { - return BY_DATA.get(data); - } - - static { - for (EntityEffect entityEffect : values()) { - BY_DATA.put(entityEffect.data, entityEffect); - } - } } diff --git a/paper-api/src/main/java/org/bukkit/GameRule.java b/paper-api/src/main/java/org/bukkit/GameRule.java index 48f8dd6495..720fe9f517 100644 --- a/paper-api/src/main/java/org/bukkit/GameRule.java +++ b/paper-api/src/main/java/org/bukkit/GameRule.java @@ -158,6 +158,16 @@ public final class GameRule { */ public static final GameRule DO_TRADER_SPAWNING = new GameRule<>("doTraderSpawning", Boolean.class); + /** + * Whether mobs should cease being angry at a player once they die. + */ + public static final GameRule FORGIVE_DEAD_PLAYERS = new GameRule<>("forgiveDeadPlayers", Boolean.class); + + /** + * Whether mobs will target all player entities once angered. + */ + public static final GameRule UNIVERSAL_ANGER = new GameRule<>("universalAnger", Boolean.class); + // Numerical rules /** * How often a random block tick occurs (such as plant growth, leaf decay, diff --git a/paper-api/src/main/java/org/bukkit/Material.java b/paper-api/src/main/java/org/bukkit/Material.java index 57b0d98121..c7316bd2ef 100644 --- a/paper-api/src/main/java/org/bukkit/Material.java +++ b/paper-api/src/main/java/org/bukkit/Material.java @@ -46,6 +46,7 @@ import org.bukkit.block.data.type.Gate; import org.bukkit.block.data.type.GlassPane; import org.bukkit.block.data.type.Grindstone; import org.bukkit.block.data.type.Hopper; +import org.bukkit.block.data.type.Jigsaw; import org.bukkit.block.data.type.Jukebox; import org.bukkit.block.data.type.Ladder; import org.bukkit.block.data.type.Lantern; @@ -59,6 +60,7 @@ import org.bukkit.block.data.type.RedstoneRail; import org.bukkit.block.data.type.RedstoneWallTorch; import org.bukkit.block.data.type.RedstoneWire; import org.bukkit.block.data.type.Repeater; +import org.bukkit.block.data.type.RespawnAnchor; import org.bukkit.block.data.type.Sapling; import org.bukkit.block.data.type.Scaffolding; import org.bukkit.block.data.type.SeaPickle; @@ -74,6 +76,7 @@ import org.bukkit.block.data.type.TrapDoor; import org.bukkit.block.data.type.Tripwire; import org.bukkit.block.data.type.TripwireHook; import org.bukkit.block.data.type.TurtleEgg; +import org.bukkit.block.data.type.Wall; import org.bukkit.block.data.type.WallSign; import org.bukkit.material.MaterialData; import org.jetbrains.annotations.NotNull; @@ -148,6 +151,7 @@ public enum Material implements Keyed { ACTIVATOR_RAIL(5834, RedstoneRail.class), AIR(9648, 0), ALLIUM(6871), + ANCIENT_DEBRIS(18198), ANDESITE(25975), /** * BlockData: {@link Slab} @@ -158,9 +162,9 @@ public enum Material implements Keyed { */ ANDESITE_STAIRS(17747, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - ANDESITE_WALL(14938, Fence.class), + ANDESITE_WALL(14938, Wall.class), /** * BlockData: {@link Directional} */ @@ -188,6 +192,10 @@ public enum Material implements Keyed { */ BARREL(22396, Directional.class), BARRIER(26453), + /** + * BlockData: {@link Orientable} + */ + BASALT(12191, Orientable.class), BAT_SPAWN_EGG(14607), BEACON(6608), BEDROCK(23130), @@ -270,6 +278,19 @@ public enum Material implements Keyed { * BlockData: {@link Orientable} */ BIRCH_WOOD(20913, Orientable.class), + BLACKSTONE(7354), + /** + * BlockData: {@link Slab} + */ + BLACKSTONE_SLAB(11948, Slab.class), + /** + * BlockData: {@link Stairs} + */ + BLACKSTONE_STAIRS(14646, Stairs.class), + /** + * BlockData: {@link Wall} + */ + BLACKSTONE_WALL(17327, Wall.class), /** * BlockData: {@link Rotatable} */ @@ -380,9 +401,9 @@ public enum Material implements Keyed { */ BRICK_STAIRS(21534, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - BRICK_WALL(18995, Fence.class), + BRICK_WALL(18995, Wall.class), /** * BlockData: {@link Rotatable} */ @@ -440,7 +461,7 @@ public enum Material implements Keyed { /** * BlockData: {@link Ageable} */ - CACTUS(12191, Ageable.class), + CACTUS(28478, Ageable.class), /** * BlockData: {@link Cake} */ @@ -467,6 +488,10 @@ public enum Material implements Keyed { CAULDRON(26531, Levelled.class), CAVE_AIR(17422), CAVE_SPIDER_SPAWN_EGG(23341), + /** + * BlockData: {@link Waterlogged} + */ + CHAIN(28265, Waterlogged.class), CHAINMAIL_BOOTS(17953, 1, 195), CHAINMAIL_CHESTPLATE(23602, 1, 240), CHAINMAIL_HELMET(26114, 1, 165), @@ -487,6 +512,8 @@ public enum Material implements Keyed { * BlockData: {@link Directional} */ CHIPPED_ANVIL(10623, Directional.class), + CHISELED_NETHER_BRICKS(21613), + CHISELED_POLISHED_BLACKSTONE(8923), CHISELED_QUARTZ_BLOCK(30964), CHISELED_RED_SANDSTONE(15529), CHISELED_SANDSTONE(31763), @@ -517,9 +544,9 @@ public enum Material implements Keyed { */ COBBLESTONE_STAIRS(24715, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - COBBLESTONE_WALL(12616, Fence.class), + COBBLESTONE_WALL(12616, Wall.class), COBWEB(9469), /** * BlockData: {@link Cocoa} @@ -557,6 +584,8 @@ public enum Material implements Keyed { COOKIE(27431), CORNFLOWER(15405), COW_SPAWN_EGG(14761), + CRACKED_NETHER_BRICKS(10888), + CRACKED_POLISHED_BLACKSTONE_BRICKS(16846), CRACKED_STONE_BRICKS(27869), CRAFTING_TABLE(20706), CREEPER_BANNER_PATTERN(15774, 1), @@ -569,7 +598,60 @@ public enum Material implements Keyed { * BlockData: {@link Directional} */ CREEPER_WALL_HEAD(30123, Directional.class), + /** + * BlockData: {@link Switch} + */ + CRIMSON_BUTTON(26799, Switch.class), + /** + * BlockData: {@link Door} + */ + CRIMSON_DOOR(19544, Door.class), + /** + * BlockData: {@link Fence} + */ + CRIMSON_FENCE(21075, Fence.class), + /** + * BlockData: {@link Gate} + */ + CRIMSON_FENCE_GATE(15602, Gate.class), + CRIMSON_FUNGUS(26268), + /** + * BlockData: {@link Orientable} + */ + CRIMSON_HYPHAE(6550, Orientable.class), + CRIMSON_NYLIUM(18139), + CRIMSON_PLANKS(18812), + /** + * BlockData: {@link Powerable} + */ + CRIMSON_PRESSURE_PLATE(18316, Powerable.class), + CRIMSON_ROOTS(14064), + /** + * BlockData: {@link Sign} + */ + CRIMSON_SIGN(12162, 16, Sign.class), + /** + * BlockData: {@link Slab} + */ + CRIMSON_SLAB(4691, Slab.class), + /** + * BlockData: {@link Stairs} + */ + CRIMSON_STAIRS(32442, Stairs.class), + /** + * BlockData: {@link Orientable} + */ + CRIMSON_STEM(27920, Orientable.class), + /** + * BlockData: {@link TrapDoor} + */ + CRIMSON_TRAPDOOR(25056, TrapDoor.class), + /** + * BlockData: {@link WallSign} + */ + CRIMSON_WALL_SIGN(7573, 16, WallSign.class), CROSSBOW(4340, 1, 326), + CRYING_OBSIDIAN(31545), CUT_RED_SANDSTONE(26842), /** * BlockData: {@link Slab} @@ -781,9 +863,9 @@ public enum Material implements Keyed { */ DIORITE_STAIRS(13134, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - DIORITE_WALL(17412, Fence.class), + DIORITE_WALL(17412, Wall.class), DIRT(10580), /** * BlockData: {@link Dispenser} @@ -847,9 +929,9 @@ public enum Material implements Keyed { */ END_STONE_BRICK_STAIRS(28831, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - END_STONE_BRICK_WALL(27225, Fence.class), + END_STONE_BRICK_WALL(27225, Wall.class), EVOKER_SPAWN_EGG(21271), EXPERIENCE_BOTTLE(12858), /** @@ -898,6 +980,7 @@ public enum Material implements Keyed { FURNACE_MINECART(14196, 1), GHAST_SPAWN_EGG(9970), GHAST_TEAR(18222), + GILDED_BLACKSTONE(8498), GLASS(6195), GLASS_BOTTLE(6116), /** @@ -934,9 +1017,9 @@ public enum Material implements Keyed { */ GRANITE_STAIRS(21840, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - GRANITE_WALL(23279, Fence.class), + GRANITE_WALL(23279, Wall.class), GRASS(6155), /** * BlockData: {@link Snowable} @@ -1021,6 +1104,7 @@ public enum Material implements Keyed { * BlockData: {@link AnaloguePowerable} */ HEAVY_WEIGHTED_PRESSURE_PLATE(16970, AnaloguePowerable.class), + HOGLIN_SPAWN_EGG(14088), HONEYCOMB(9482), HONEYCOMB_BLOCK(28780), HONEY_BLOCK(30615), @@ -1085,9 +1169,9 @@ public enum Material implements Keyed { */ JACK_O_LANTERN(31612, Directional.class), /** - * BlockData: {@link Directional} + * BlockData: {@link Jigsaw} */ - JIGSAW(17398, Directional.class), + JIGSAW(17398, Jigsaw.class), /** * BlockData: {@link Jukebox} */ @@ -1296,6 +1380,7 @@ public enum Material implements Keyed { LIME_WOOL(10443), LINGERING_POTION(25857, 1), LLAMA_SPAWN_EGG(23640), + LODESTONE(23127), /** * BlockData: {@link Directional} */ @@ -1359,9 +1444,9 @@ public enum Material implements Keyed { */ MOSSY_COBBLESTONE_STAIRS(29210, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - MOSSY_COBBLESTONE_WALL(11536, Fence.class), + MOSSY_COBBLESTONE_WALL(11536, Wall.class), MOSSY_STONE_BRICKS(16415), /** * BlockData: {@link Slab} @@ -1372,9 +1457,9 @@ public enum Material implements Keyed { */ MOSSY_STONE_BRICK_STAIRS(27578, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - MOSSY_STONE_BRICK_WALL(18259, Fence.class), + MOSSY_STONE_BRICK_WALL(18259, Wall.class), /** * BlockData: {@link TechnicalPiston} */ @@ -1393,6 +1478,7 @@ public enum Material implements Keyed { MUSIC_DISC_FAR(13823, 1), MUSIC_DISC_MALL(11517, 1), MUSIC_DISC_MELLOHI(26117, 1), + MUSIC_DISC_PIGSTEP(21323, 1), MUSIC_DISC_STAL(14989, 1), MUSIC_DISC_STRAD(16785, 1), MUSIC_DISC_WAIT(26499, 1), @@ -1404,6 +1490,18 @@ public enum Material implements Keyed { MYCELIUM(9913, Snowable.class), NAME_TAG(30731), NAUTILUS_SHELL(19989), + NETHERITE_AXE(29533, 1, 2031), + NETHERITE_BLOCK(6527), + NETHERITE_BOOTS(21942, 1, 481), + NETHERITE_CHESTPLATE(6106, 1, 592), + NETHERITE_HELMET(15907, 1, 407), + NETHERITE_HOE(27385, 1, 2031), + NETHERITE_INGOT(32457), + NETHERITE_LEGGINGS(25605, 1, 555), + NETHERITE_PICKAXE(9930, 1, 2031), + NETHERITE_SCRAP(29331), + NETHERITE_SHOVEL(29728, 1, 2031), + NETHERITE_SWORD(23871, 1, 2031), NETHERRACK(23425), NETHER_BRICK(19996), NETHER_BRICKS(27802), @@ -1420,14 +1518,16 @@ public enum Material implements Keyed { */ NETHER_BRICK_STAIRS(12085, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - NETHER_BRICK_WALL(10398, Fence.class), + NETHER_BRICK_WALL(10398, Wall.class), + NETHER_GOLD_ORE(4185), /** * BlockData: {@link Orientable} */ NETHER_PORTAL(19469, Orientable.class), NETHER_QUARTZ_ORE(4807), + NETHER_SPROUTS(10431), NETHER_STAR(12469), /** * BlockData: {@link Ageable} @@ -1550,6 +1650,8 @@ public enum Material implements Keyed { PETRIFIED_OAK_SLAB(18658, Slab.class), PHANTOM_MEMBRANE(18398), PHANTOM_SPAWN_EGG(24648), + PIGLIN_BANNER_PATTERN(22028, 1), + PIGLIN_SPAWN_EGG(16193), PIG_SPAWN_EGG(22584), PILLAGER_SPAWN_EGG(28659), /** @@ -1614,7 +1716,45 @@ public enum Material implements Keyed { /** * BlockData: {@link Stairs} */ - POLISHED_ANDESITE_STAIRS(7573, Stairs.class), + POLISHED_ANDESITE_STAIRS(19242, Stairs.class), + /** + * BlockData: {@link Orientable} + */ + POLISHED_BASALT(11659, Orientable.class), + POLISHED_BLACKSTONE(18144), + POLISHED_BLACKSTONE_BRICKS(19844), + /** + * BlockData: {@link Slab} + */ + POLISHED_BLACKSTONE_BRICK_SLAB(12219, Slab.class), + /** + * BlockData: {@link Stairs} + */ + POLISHED_BLACKSTONE_BRICK_STAIRS(17983, Stairs.class), + /** + * BlockData: {@link Wall} + */ + POLISHED_BLACKSTONE_BRICK_WALL(9540, Wall.class), + /** + * BlockData: {@link Switch} + */ + POLISHED_BLACKSTONE_BUTTON(20760, Switch.class), + /** + * BlockData: {@link Powerable} + */ + POLISHED_BLACKSTONE_PRESSURE_PLATE(32340, Powerable.class), + /** + * BlockData: {@link Slab} + */ + POLISHED_BLACKSTONE_SLAB(23430, Slab.class), + /** + * BlockData: {@link Stairs} + */ + POLISHED_BLACKSTONE_STAIRS(8653, Stairs.class), + /** + * BlockData: {@link Wall} + */ + POLISHED_BLACKSTONE_WALL(15119, Wall.class), POLISHED_DIORITE(31615), /** * BlockData: {@link Slab} @@ -1651,6 +1791,8 @@ public enum Material implements Keyed { POTTED_BROWN_MUSHROOM(14481), POTTED_CACTUS(8777), POTTED_CORNFLOWER(28917), + POTTED_CRIMSON_FUNGUS(5548), + POTTED_CRIMSON_ROOTS(13852), POTTED_DANDELION(9727), POTTED_DARK_OAK_SAPLING(6486), POTTED_DEAD_BUSH(13020), @@ -1665,6 +1807,8 @@ public enum Material implements Keyed { POTTED_RED_MUSHROOM(22881), POTTED_RED_TULIP(28594), POTTED_SPRUCE_SAPLING(29498), + POTTED_WARPED_FUNGUS(30800), + POTTED_WARPED_ROOTS(6403), POTTED_WHITE_TULIP(24330), POTTED_WITHER_ROSE(26876), /** @@ -1692,9 +1836,9 @@ public enum Material implements Keyed { */ PRISMARINE_STAIRS(19217, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - PRISMARINE_WALL(18184, Fence.class), + PRISMARINE_WALL(18184, Wall.class), PUFFERFISH(8115), PUFFERFISH_BUCKET(8861, 1), PUFFERFISH_SPAWN_EGG(24570), @@ -1751,6 +1895,7 @@ public enum Material implements Keyed { PURPUR_STAIRS(8921, Stairs.class), QUARTZ(23608), QUARTZ_BLOCK(11987), + QUARTZ_BRICKS(23358), /** * BlockData: {@link Orientable} */ @@ -1826,9 +1971,9 @@ public enum Material implements Keyed { */ RED_NETHER_BRICK_STAIRS(26374, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - RED_NETHER_BRICK_WALL(4580, Fence.class), + RED_NETHER_BRICK_WALL(4580, Wall.class), RED_SAND(16279), RED_SANDSTONE(9092), /** @@ -1840,9 +1985,9 @@ public enum Material implements Keyed { */ RED_SANDSTONE_STAIRS(25466, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - RED_SANDSTONE_WALL(4753, Fence.class), + RED_SANDSTONE_WALL(4753, Wall.class), /** * BlockData: {@link Directional} */ @@ -1867,6 +2012,10 @@ public enum Material implements Keyed { * BlockData: {@link CommandBlock} */ REPEATING_COMMAND_BLOCK(12405, CommandBlock.class), + /** + * BlockData: {@link RespawnAnchor} + */ + RESPAWN_ANCHOR(4099, RespawnAnchor.class), /** * BlockData: {@link Bisected} */ @@ -1887,9 +2036,9 @@ public enum Material implements Keyed { */ SANDSTONE_STAIRS(18474, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - SANDSTONE_WALL(18470, Fence.class), + SANDSTONE_WALL(18470, Wall.class), /** * BlockData: {@link Scaffolding} */ @@ -1904,6 +2053,7 @@ public enum Material implements Keyed { SHEARS(27971, 1, 238), SHEEP_SPAWN_EGG(24488), SHIELD(29943, 1, 336), + SHROOMLIGHT(20424), /** * BlockData: {@link Directional} */ @@ -1924,7 +2074,7 @@ public enum Material implements Keyed { SKULL_BANNER_PATTERN(7680, 1), SLIME_BALL(5242), SLIME_BLOCK(31892), - SLIME_SPAWN_EGG(6550), + SLIME_SPAWN_EGG(17196), SMITHING_TABLE(9082), /** * BlockData: {@link Furnace} @@ -1968,7 +2118,28 @@ public enum Material implements Keyed { SNOW(14146, Snow.class), SNOWBALL(19487, 16), SNOW_BLOCK(19913), + /** + * BlockData: {@link Campfire} + */ + SOUL_CAMPFIRE(4238, Campfire.class), + /** + * BlockData: {@link Fire} + */ + SOUL_FIRE(30163, Fire.class), + /** + * BlockData: {@link Lantern} + */ + SOUL_LANTERN(27778, Lantern.class), SOUL_SAND(16841), + SOUL_SOIL(31140), + /** + * BlockData: {@link Lightable} + */ + SOUL_TORCH(14292, Lightable.class), + /** + * BlockData: {@link Directional} + */ + SOUL_WALL_TORCH(27500, Directional.class), SPAWNER(7018), SPECTRAL_ARROW(4568), SPIDER_EYE(9318), @@ -2055,9 +2226,9 @@ public enum Material implements Keyed { */ STONE_BRICK_STAIRS(27032, Stairs.class), /** - * BlockData: {@link Fence} + * BlockData: {@link Wall} */ - STONE_BRICK_WALL(29073, Fence.class), + STONE_BRICK_WALL(29073, Wall.class), /** * BlockData: {@link Switch} */ @@ -2079,6 +2250,7 @@ public enum Material implements Keyed { STONE_STAIRS(23784, Stairs.class), STONE_SWORD(25084, 1, 131), STRAY_SPAWN_EGG(30153), + STRIDER_SPAWN_EGG(6203), STRING(12806), /** * BlockData: {@link Orientable} @@ -2096,6 +2268,14 @@ public enum Material implements Keyed { * BlockData: {@link Orientable} */ STRIPPED_BIRCH_WOOD(22350, Orientable.class), + /** + * BlockData: {@link Orientable} + */ + STRIPPED_CRIMSON_HYPHAE(27488, Orientable.class), + /** + * BlockData: {@link Orientable} + */ + STRIPPED_CRIMSON_STEM(16882, Orientable.class), /** * BlockData: {@link Orientable} */ @@ -2128,6 +2308,14 @@ public enum Material implements Keyed { * BlockData: {@link Orientable} */ STRIPPED_SPRUCE_WOOD(6467, Orientable.class), + /** + * BlockData: {@link Orientable} + */ + STRIPPED_WARPED_HYPHAE(7422, Orientable.class), + /** + * BlockData: {@link Orientable} + */ + STRIPPED_WARPED_STEM(15627, Orientable.class), /** * BlockData: {@link StructureBlock} */ @@ -2156,6 +2344,10 @@ public enum Material implements Keyed { * BlockData: {@link Bisected} */ TALL_SEAGRASS(27189, Bisected.class), + /** + * BlockData: {@link AnaloguePowerable} + */ + TARGET(22637, AnaloguePowerable.class), TERRACOTTA(16544), TIPPED_ARROW(25164), /** @@ -2201,6 +2393,11 @@ public enum Material implements Keyed { TURTLE_EGG(32101, TurtleEgg.class), TURTLE_HELMET(30120, 1, 275), TURTLE_SPAWN_EGG(17324), + /** + * BlockData: {@link Ageable} + */ + TWISTING_VINES(27283, Ageable.class), + TWISTING_VINES_PLANT(25338), VEX_SPAWN_EGG(27751), VILLAGER_SPAWN_EGG(30348), VINDICATOR_SPAWN_EGG(25324), @@ -2214,11 +2411,70 @@ public enum Material implements Keyed { */ WALL_TORCH(25890, Directional.class), WANDERING_TRADER_SPAWN_EGG(17904), + /** + * BlockData: {@link Switch} + */ + WARPED_BUTTON(25264, Switch.class), + /** + * BlockData: {@link Door} + */ + WARPED_DOOR(15062, Door.class), + /** + * BlockData: {@link Fence} + */ + WARPED_FENCE(18438, Fence.class), + /** + * BlockData: {@link Gate} + */ + WARPED_FENCE_GATE(11115, Gate.class), + WARPED_FUNGUS(19799), + WARPED_FUNGUS_ON_A_STICK(11706, 1, 100), + /** + * BlockData: {@link Orientable} + */ + WARPED_HYPHAE(18439, Orientable.class), + WARPED_NYLIUM(26396), + WARPED_PLANKS(16045), + /** + * BlockData: {@link Powerable} + */ + WARPED_PRESSURE_PLATE(29516, Powerable.class), + WARPED_ROOTS(13932), + /** + * BlockData: {@link Sign} + */ + WARPED_SIGN(10407, 16, Sign.class), + /** + * BlockData: {@link Slab} + */ + WARPED_SLAB(27150, Slab.class), + /** + * BlockData: {@link Stairs} + */ + WARPED_STAIRS(17721, Stairs.class), + /** + * BlockData: {@link Orientable} + */ + WARPED_STEM(28920, Orientable.class), + /** + * BlockData: {@link TrapDoor} + */ + WARPED_TRAPDOOR(7708, TrapDoor.class), + /** + * BlockData: {@link WallSign} + */ + WARPED_WALL_SIGN(13534, 16, WallSign.class), + WARPED_WART_BLOCK(15463), /** * BlockData: {@link Levelled} */ WATER(24998, Levelled.class), WATER_BUCKET(8802, 1), + /** + * BlockData: {@link Ageable} + */ + WEEPING_VINES(29267, Ageable.class), + WEEPING_VINES_PLANT(19437), WET_SPONGE(9043), /** * BlockData: {@link Ageable} @@ -2307,18 +2563,19 @@ public enum Material implements Keyed { */ YELLOW_WALL_BANNER(32004, Directional.class), YELLOW_WOOL(29507), + ZOGLIN_SPAWN_EGG(7442), /** * BlockData: {@link Rotatable} */ ZOMBIE_HEAD(9304, Rotatable.class), ZOMBIE_HORSE_SPAWN_EGG(4275), - ZOMBIE_PIGMAN_SPAWN_EGG(11531), ZOMBIE_SPAWN_EGG(5814), ZOMBIE_VILLAGER_SPAWN_EGG(10311), /** * BlockData: {@link Directional} */ ZOMBIE_WALL_HEAD(16296, Directional.class), + ZOMBIFIED_PIGLIN_SPAWN_EGG(6626), // ----- Legacy Separator ----- @Deprecated LEGACY_AIR(0, 0), @@ -3455,6 +3712,7 @@ public enum Material implements Keyed { case ACTIVATOR_RAIL: case AIR: case ALLIUM: + case ANCIENT_DEBRIS: case ANDESITE: case ANDESITE_SLAB: case ANDESITE_STAIRS: @@ -3467,6 +3725,7 @@ public enum Material implements Keyed { case BAMBOO_SAPLING: case BARREL: case BARRIER: + case BASALT: case BEACON: case BEDROCK: case BEEHIVE: @@ -3488,6 +3747,10 @@ public enum Material implements Keyed { case BIRCH_TRAPDOOR: case BIRCH_WALL_SIGN: case BIRCH_WOOD: + case BLACKSTONE: + case BLACKSTONE_SLAB: + case BLACKSTONE_STAIRS: + case BLACKSTONE_WALL: case BLACK_BANNER: case BLACK_BED: case BLACK_CARPET: @@ -3553,9 +3816,12 @@ public enum Material implements Keyed { case CARVED_PUMPKIN: case CAULDRON: case CAVE_AIR: + case CHAIN: case CHAIN_COMMAND_BLOCK: case CHEST: case CHIPPED_ANVIL: + case CHISELED_NETHER_BRICKS: + case CHISELED_POLISHED_BLACKSTONE: case CHISELED_QUARTZ_BLOCK: case CHISELED_RED_SANDSTONE: case CHISELED_SANDSTONE: @@ -3577,10 +3843,29 @@ public enum Material implements Keyed { case COMPOSTER: case CONDUIT: case CORNFLOWER: + case CRACKED_NETHER_BRICKS: + case CRACKED_POLISHED_BLACKSTONE_BRICKS: case CRACKED_STONE_BRICKS: case CRAFTING_TABLE: case CREEPER_HEAD: case CREEPER_WALL_HEAD: + case CRIMSON_BUTTON: + case CRIMSON_DOOR: + case CRIMSON_FENCE: + case CRIMSON_FENCE_GATE: + case CRIMSON_FUNGUS: + case CRIMSON_HYPHAE: + case CRIMSON_NYLIUM: + case CRIMSON_PLANKS: + case CRIMSON_PRESSURE_PLATE: + case CRIMSON_ROOTS: + case CRIMSON_SIGN: + case CRIMSON_SLAB: + case CRIMSON_STAIRS: + case CRIMSON_STEM: + case CRIMSON_TRAPDOOR: + case CRIMSON_WALL_SIGN: + case CRYING_OBSIDIAN: case CUT_RED_SANDSTONE: case CUT_RED_SANDSTONE_SLAB: case CUT_SANDSTONE: @@ -3677,6 +3962,7 @@ public enum Material implements Keyed { case FLOWER_POT: case FROSTED_ICE: case FURNACE: + case GILDED_BLACKSTONE: case GLASS: case GLASS_PANE: case GLOWSTONE: @@ -3804,6 +4090,7 @@ public enum Material implements Keyed { case LIME_TERRACOTTA: case LIME_WALL_BANNER: case LIME_WOOL: + case LODESTONE: case LOOM: case MAGENTA_BANNER: case MAGENTA_BED: @@ -3831,14 +4118,17 @@ public enum Material implements Keyed { case MOVING_PISTON: case MUSHROOM_STEM: case MYCELIUM: + case NETHERITE_BLOCK: case NETHERRACK: case NETHER_BRICKS: case NETHER_BRICK_FENCE: case NETHER_BRICK_SLAB: case NETHER_BRICK_STAIRS: case NETHER_BRICK_WALL: + case NETHER_GOLD_ORE: case NETHER_PORTAL: case NETHER_QUARTZ_ORE: + case NETHER_SPROUTS: case NETHER_WART: case NETHER_WART_BLOCK: case NOTE_BLOCK: @@ -3897,6 +4187,17 @@ public enum Material implements Keyed { case POLISHED_ANDESITE: case POLISHED_ANDESITE_SLAB: case POLISHED_ANDESITE_STAIRS: + case POLISHED_BASALT: + case POLISHED_BLACKSTONE: + case POLISHED_BLACKSTONE_BRICKS: + case POLISHED_BLACKSTONE_BRICK_SLAB: + case POLISHED_BLACKSTONE_BRICK_STAIRS: + case POLISHED_BLACKSTONE_BRICK_WALL: + case POLISHED_BLACKSTONE_BUTTON: + case POLISHED_BLACKSTONE_PRESSURE_PLATE: + case POLISHED_BLACKSTONE_SLAB: + case POLISHED_BLACKSTONE_STAIRS: + case POLISHED_BLACKSTONE_WALL: case POLISHED_DIORITE: case POLISHED_DIORITE_SLAB: case POLISHED_DIORITE_STAIRS: @@ -3914,6 +4215,8 @@ public enum Material implements Keyed { case POTTED_BROWN_MUSHROOM: case POTTED_CACTUS: case POTTED_CORNFLOWER: + case POTTED_CRIMSON_FUNGUS: + case POTTED_CRIMSON_ROOTS: case POTTED_DANDELION: case POTTED_DARK_OAK_SAPLING: case POTTED_DEAD_BUSH: @@ -3928,6 +4231,8 @@ public enum Material implements Keyed { case POTTED_RED_MUSHROOM: case POTTED_RED_TULIP: case POTTED_SPRUCE_SAPLING: + case POTTED_WARPED_FUNGUS: + case POTTED_WARPED_ROOTS: case POTTED_WHITE_TULIP: case POTTED_WITHER_ROSE: case POWERED_RAIL: @@ -3957,6 +4262,7 @@ public enum Material implements Keyed { case PURPUR_SLAB: case PURPUR_STAIRS: case QUARTZ_BLOCK: + case QUARTZ_BRICKS: case QUARTZ_PILLAR: case QUARTZ_SLAB: case QUARTZ_STAIRS: @@ -3993,6 +4299,7 @@ public enum Material implements Keyed { case RED_WOOL: case REPEATER: case REPEATING_COMMAND_BLOCK: + case RESPAWN_ANCHOR: case ROSE_BUSH: case SAND: case SANDSTONE: @@ -4003,6 +4310,7 @@ public enum Material implements Keyed { case SEAGRASS: case SEA_LANTERN: case SEA_PICKLE: + case SHROOMLIGHT: case SHULKER_BOX: case SKELETON_SKULL: case SKELETON_WALL_SKULL: @@ -4022,7 +4330,13 @@ public enum Material implements Keyed { case SMOOTH_STONE_SLAB: case SNOW: case SNOW_BLOCK: + case SOUL_CAMPFIRE: + case SOUL_FIRE: + case SOUL_LANTERN: case SOUL_SAND: + case SOUL_SOIL: + case SOUL_TORCH: + case SOUL_WALL_TORCH: case SPAWNER: case SPONGE: case SPRUCE_BUTTON: @@ -4055,6 +4369,8 @@ public enum Material implements Keyed { case STRIPPED_ACACIA_WOOD: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: + case STRIPPED_CRIMSON_HYPHAE: + case STRIPPED_CRIMSON_STEM: case STRIPPED_DARK_OAK_LOG: case STRIPPED_DARK_OAK_WOOD: case STRIPPED_JUNGLE_LOG: @@ -4063,6 +4379,8 @@ public enum Material implements Keyed { case STRIPPED_OAK_WOOD: case STRIPPED_SPRUCE_LOG: case STRIPPED_SPRUCE_WOOD: + case STRIPPED_WARPED_HYPHAE: + case STRIPPED_WARPED_STEM: case STRUCTURE_BLOCK: case STRUCTURE_VOID: case SUGAR_CANE: @@ -4070,6 +4388,7 @@ public enum Material implements Keyed { case SWEET_BERRY_BUSH: case TALL_GRASS: case TALL_SEAGRASS: + case TARGET: case TERRACOTTA: case TNT: case TORCH: @@ -4081,10 +4400,31 @@ public enum Material implements Keyed { case TUBE_CORAL_FAN: case TUBE_CORAL_WALL_FAN: case TURTLE_EGG: + case TWISTING_VINES: + case TWISTING_VINES_PLANT: case VINE: case VOID_AIR: case WALL_TORCH: + case WARPED_BUTTON: + case WARPED_DOOR: + case WARPED_FENCE: + case WARPED_FENCE_GATE: + case WARPED_FUNGUS: + case WARPED_HYPHAE: + case WARPED_NYLIUM: + case WARPED_PLANKS: + case WARPED_PRESSURE_PLATE: + case WARPED_ROOTS: + case WARPED_SIGN: + case WARPED_SLAB: + case WARPED_STAIRS: + case WARPED_STEM: + case WARPED_TRAPDOOR: + case WARPED_WALL_SIGN: + case WARPED_WART_BLOCK: case WATER: + case WEEPING_VINES: + case WEEPING_VINES_PLANT: case WET_SPONGE: case WHEAT: case WHITE_BANNER: @@ -4314,6 +4654,7 @@ public enum Material implements Keyed { case MUSIC_DISC_FAR: case MUSIC_DISC_MALL: case MUSIC_DISC_MELLOHI: + case MUSIC_DISC_PIGSTEP: case MUSIC_DISC_STAL: case MUSIC_DISC_STRAD: case MUSIC_DISC_WAIT: @@ -4349,6 +4690,7 @@ public enum Material implements Keyed { case ACACIA_TRAPDOOR: case ACACIA_WALL_SIGN: case ACACIA_WOOD: + case ANCIENT_DEBRIS: case ANDESITE: case ANDESITE_SLAB: case ANDESITE_STAIRS: @@ -4357,6 +4699,7 @@ public enum Material implements Keyed { case BAMBOO: case BARREL: case BARRIER: + case BASALT: case BEACON: case BEDROCK: case BEEHIVE: @@ -4375,6 +4718,10 @@ public enum Material implements Keyed { case BIRCH_TRAPDOOR: case BIRCH_WALL_SIGN: case BIRCH_WOOD: + case BLACKSTONE: + case BLACKSTONE_SLAB: + case BLACKSTONE_STAIRS: + case BLACKSTONE_WALL: case BLACK_BANNER: case BLACK_BED: case BLACK_CONCRETE: @@ -4426,9 +4773,12 @@ public enum Material implements Keyed { case CARTOGRAPHY_TABLE: case CARVED_PUMPKIN: case CAULDRON: + case CHAIN: case CHAIN_COMMAND_BLOCK: case CHEST: case CHIPPED_ANVIL: + case CHISELED_NETHER_BRICKS: + case CHISELED_POLISHED_BLACKSTONE: case CHISELED_QUARTZ_BLOCK: case CHISELED_RED_SANDSTONE: case CHISELED_SANDSTONE: @@ -4444,8 +4794,24 @@ public enum Material implements Keyed { case COMMAND_BLOCK: case COMPOSTER: case CONDUIT: + case CRACKED_NETHER_BRICKS: + case CRACKED_POLISHED_BLACKSTONE_BRICKS: case CRACKED_STONE_BRICKS: case CRAFTING_TABLE: + case CRIMSON_DOOR: + case CRIMSON_FENCE: + case CRIMSON_FENCE_GATE: + case CRIMSON_HYPHAE: + case CRIMSON_NYLIUM: + case CRIMSON_PLANKS: + case CRIMSON_PRESSURE_PLATE: + case CRIMSON_SIGN: + case CRIMSON_SLAB: + case CRIMSON_STAIRS: + case CRIMSON_STEM: + case CRIMSON_TRAPDOOR: + case CRIMSON_WALL_SIGN: + case CRYING_OBSIDIAN: case CUT_RED_SANDSTONE: case CUT_RED_SANDSTONE_SLAB: case CUT_SANDSTONE: @@ -4525,6 +4891,7 @@ public enum Material implements Keyed { case FLETCHING_TABLE: case FROSTED_ICE: case FURNACE: + case GILDED_BLACKSTONE: case GLASS: case GLASS_PANE: case GLOWSTONE: @@ -4632,6 +4999,7 @@ public enum Material implements Keyed { case LIME_TERRACOTTA: case LIME_WALL_BANNER: case LIME_WOOL: + case LODESTONE: case LOOM: case MAGENTA_BANNER: case MAGENTA_BED: @@ -4657,12 +5025,14 @@ public enum Material implements Keyed { case MOVING_PISTON: case MUSHROOM_STEM: case MYCELIUM: + case NETHERITE_BLOCK: case NETHERRACK: case NETHER_BRICKS: case NETHER_BRICK_FENCE: case NETHER_BRICK_SLAB: case NETHER_BRICK_STAIRS: case NETHER_BRICK_WALL: + case NETHER_GOLD_ORE: case NETHER_QUARTZ_ORE: case NETHER_WART_BLOCK: case NOTE_BLOCK: @@ -4711,6 +5081,16 @@ public enum Material implements Keyed { case POLISHED_ANDESITE: case POLISHED_ANDESITE_SLAB: case POLISHED_ANDESITE_STAIRS: + case POLISHED_BASALT: + case POLISHED_BLACKSTONE: + case POLISHED_BLACKSTONE_BRICKS: + case POLISHED_BLACKSTONE_BRICK_SLAB: + case POLISHED_BLACKSTONE_BRICK_STAIRS: + case POLISHED_BLACKSTONE_BRICK_WALL: + case POLISHED_BLACKSTONE_PRESSURE_PLATE: + case POLISHED_BLACKSTONE_SLAB: + case POLISHED_BLACKSTONE_STAIRS: + case POLISHED_BLACKSTONE_WALL: case POLISHED_DIORITE: case POLISHED_DIORITE_SLAB: case POLISHED_DIORITE_STAIRS: @@ -4741,6 +5121,7 @@ public enum Material implements Keyed { case PURPUR_SLAB: case PURPUR_STAIRS: case QUARTZ_BLOCK: + case QUARTZ_BRICKS: case QUARTZ_PILLAR: case QUARTZ_SLAB: case QUARTZ_STAIRS: @@ -4769,12 +5150,14 @@ public enum Material implements Keyed { case RED_WALL_BANNER: case RED_WOOL: case REPEATING_COMMAND_BLOCK: + case RESPAWN_ANCHOR: case SAND: case SANDSTONE: case SANDSTONE_SLAB: case SANDSTONE_STAIRS: case SANDSTONE_WALL: case SEA_LANTERN: + case SHROOMLIGHT: case SHULKER_BOX: case SLIME_BLOCK: case SMITHING_TABLE: @@ -4791,7 +5174,10 @@ public enum Material implements Keyed { case SMOOTH_STONE: case SMOOTH_STONE_SLAB: case SNOW_BLOCK: + case SOUL_CAMPFIRE: + case SOUL_LANTERN: case SOUL_SAND: + case SOUL_SOIL: case SPAWNER: case SPONGE: case SPRUCE_DOOR: @@ -4821,6 +5207,8 @@ public enum Material implements Keyed { case STRIPPED_ACACIA_WOOD: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: + case STRIPPED_CRIMSON_HYPHAE: + case STRIPPED_CRIMSON_STEM: case STRIPPED_DARK_OAK_LOG: case STRIPPED_DARK_OAK_WOOD: case STRIPPED_JUNGLE_LOG: @@ -4829,12 +5217,29 @@ public enum Material implements Keyed { case STRIPPED_OAK_WOOD: case STRIPPED_SPRUCE_LOG: case STRIPPED_SPRUCE_WOOD: + case STRIPPED_WARPED_HYPHAE: + case STRIPPED_WARPED_STEM: case STRUCTURE_BLOCK: + case TARGET: case TERRACOTTA: case TNT: case TRAPPED_CHEST: case TUBE_CORAL_BLOCK: case TURTLE_EGG: + case WARPED_DOOR: + case WARPED_FENCE: + case WARPED_FENCE_GATE: + case WARPED_HYPHAE: + case WARPED_NYLIUM: + case WARPED_PLANKS: + case WARPED_PRESSURE_PLATE: + case WARPED_SIGN: + case WARPED_SLAB: + case WARPED_STAIRS: + case WARPED_STEM: + case WARPED_TRAPDOOR: + case WARPED_WALL_SIGN: + case WARPED_WART_BLOCK: case WET_SPONGE: case WHITE_BANNER: case WHITE_BED: @@ -5346,6 +5751,7 @@ public enum Material implements Keyed { case CHEST: case COMPOSTER: case CRAFTING_TABLE: + case CRIMSON_ROOTS: case CYAN_BANNER: case CYAN_BED: case CYAN_CARPET: @@ -5418,6 +5824,7 @@ 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: @@ -5456,6 +5863,7 @@ public enum Material implements Keyed { case RED_WOOL: case ROSE_BUSH: case SMITHING_TABLE: + case SOUL_CAMPFIRE: case SPRUCE_DOOR: case SPRUCE_FENCE: case SPRUCE_FENCE_GATE: @@ -5486,6 +5894,7 @@ public enum Material implements Keyed { case TNT: case TRAPPED_CHEST: case VINE: + case WARPED_ROOTS: case WHITE_BANNER: case WHITE_BED: case WHITE_CARPET: @@ -5689,6 +6098,7 @@ public enum Material implements Keyed { case SUNFLOWER: case SWEET_BERRY_BUSH: case TALL_GRASS: + case TARGET: case TNT: case VINE: case WHITE_CARPET: @@ -6013,15 +6423,18 @@ public enum Material implements Keyed { case ACACIA_LOG: case ACACIA_PLANKS: case ACACIA_WOOD: + case ANCIENT_DEBRIS: case ANDESITE: case BARREL: case BARRIER: + case BASALT: case BEDROCK: case BEEHIVE: case BEE_NEST: case BIRCH_LOG: case BIRCH_PLANKS: case BIRCH_WOOD: + case BLACKSTONE: case BLACK_CONCRETE: case BLACK_CONCRETE_POWDER: case BLACK_GLAZED_TERRACOTTA: @@ -6051,6 +6464,8 @@ public enum Material implements Keyed { case CARTOGRAPHY_TABLE: case CARVED_PUMPKIN: case CHAIN_COMMAND_BLOCK: + case CHISELED_NETHER_BRICKS: + case CHISELED_POLISHED_BLACKSTONE: case CHISELED_QUARTZ_BLOCK: case CHISELED_RED_SANDSTONE: case CHISELED_SANDSTONE: @@ -6061,8 +6476,15 @@ public enum Material implements Keyed { case COARSE_DIRT: case COBBLESTONE: case COMMAND_BLOCK: + case CRACKED_NETHER_BRICKS: + case CRACKED_POLISHED_BLACKSTONE_BRICKS: case CRACKED_STONE_BRICKS: case CRAFTING_TABLE: + case CRIMSON_HYPHAE: + case CRIMSON_NYLIUM: + case CRIMSON_PLANKS: + case CRIMSON_STEM: + case CRYING_OBSIDIAN: case CUT_RED_SANDSTONE: case CUT_SANDSTONE: case CYAN_CONCRETE: @@ -6094,6 +6516,7 @@ public enum Material implements Keyed { case FIRE_CORAL_BLOCK: case FLETCHING_TABLE: case FURNACE: + case GILDED_BLACKSTONE: case GOLD_BLOCK: case GOLD_ORE: case GRANITE: @@ -6148,6 +6571,7 @@ public enum Material implements Keyed { case LIME_SHULKER_BOX: case LIME_TERRACOTTA: case LIME_WOOL: + case LODESTONE: case LOOM: case MAGENTA_CONCRETE: case MAGENTA_CONCRETE_POWDER: @@ -6161,8 +6585,10 @@ public enum Material implements Keyed { case MOSSY_STONE_BRICKS: case MUSHROOM_STEM: case MYCELIUM: + case NETHERITE_BLOCK: case NETHERRACK: case NETHER_BRICKS: + case NETHER_GOLD_ORE: case NETHER_QUARTZ_ORE: case NETHER_WART_BLOCK: case NOTE_BLOCK: @@ -6185,6 +6611,9 @@ public enum Material implements Keyed { case PINK_WOOL: case PODZOL: case POLISHED_ANDESITE: + case POLISHED_BASALT: + case POLISHED_BLACKSTONE: + case POLISHED_BLACKSTONE_BRICKS: case POLISHED_DIORITE: case POLISHED_GRANITE: case PRISMARINE: @@ -6199,6 +6628,7 @@ public enum Material implements Keyed { case PURPUR_BLOCK: case PURPUR_PILLAR: case QUARTZ_BLOCK: + case QUARTZ_BRICKS: case QUARTZ_PILLAR: case REDSTONE_LAMP: case REDSTONE_ORE: @@ -6213,8 +6643,10 @@ public enum Material implements Keyed { case RED_TERRACOTTA: case RED_WOOL: case REPEATING_COMMAND_BLOCK: + case RESPAWN_ANCHOR: case SAND: case SANDSTONE: + case SHROOMLIGHT: case SHULKER_BOX: case SLIME_BLOCK: case SMITHING_TABLE: @@ -6225,6 +6657,7 @@ public enum Material implements Keyed { case SMOOTH_STONE: case SNOW_BLOCK: case SOUL_SAND: + case SOUL_SOIL: case SPAWNER: case SPONGE: case SPRUCE_LOG: @@ -6236,6 +6669,8 @@ public enum Material implements Keyed { case STRIPPED_ACACIA_WOOD: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: + case STRIPPED_CRIMSON_HYPHAE: + case STRIPPED_CRIMSON_STEM: case STRIPPED_DARK_OAK_LOG: case STRIPPED_DARK_OAK_WOOD: case STRIPPED_JUNGLE_LOG: @@ -6244,9 +6679,17 @@ public enum Material implements Keyed { case STRIPPED_OAK_WOOD: case STRIPPED_SPRUCE_LOG: case STRIPPED_SPRUCE_WOOD: + case STRIPPED_WARPED_HYPHAE: + case STRIPPED_WARPED_STEM: case STRUCTURE_BLOCK: + case TARGET: case TERRACOTTA: case TUBE_CORAL_BLOCK: + case WARPED_HYPHAE: + case WARPED_NYLIUM: + case WARPED_PLANKS: + case WARPED_STEM: + case WARPED_WART_BLOCK: case WET_SPONGE: case WHITE_CONCRETE: case WHITE_CONCRETE_POWDER: @@ -6434,6 +6877,7 @@ public enum Material implements Keyed { case CAVE_AIR: case COCOA: case CREEPER_WALL_HEAD: + case CRIMSON_WALL_SIGN: case CYAN_WALL_BANNER: case DARK_OAK_WALL_SIGN: case DEAD_BRAIN_CORAL_WALL_FAN: @@ -6475,6 +6919,8 @@ public enum Material implements Keyed { case POTTED_BROWN_MUSHROOM: case POTTED_CACTUS: case POTTED_CORNFLOWER: + case POTTED_CRIMSON_FUNGUS: + case POTTED_CRIMSON_ROOTS: case POTTED_DANDELION: case POTTED_DARK_OAK_SAPLING: case POTTED_DEAD_BUSH: @@ -6489,6 +6935,8 @@ public enum Material implements Keyed { case POTTED_RED_MUSHROOM: case POTTED_RED_TULIP: case POTTED_SPRUCE_SAPLING: + case POTTED_WARPED_FUNGUS: + case POTTED_WARPED_ROOTS: case POTTED_WHITE_TULIP: case POTTED_WITHER_ROSE: case PUMPKIN_STEM: @@ -6497,14 +6945,19 @@ public enum Material implements Keyed { case REDSTONE_WIRE: case RED_WALL_BANNER: case SKELETON_WALL_SKULL: + case SOUL_FIRE: + case SOUL_WALL_TORCH: case SPRUCE_WALL_SIGN: case SWEET_BERRY_BUSH: case TALL_SEAGRASS: case TRIPWIRE: case TUBE_CORAL_WALL_FAN: + case TWISTING_VINES_PLANT: case VOID_AIR: case WALL_TORCH: + case WARPED_WALL_SIGN: case WATER: + case WEEPING_VINES_PLANT: case WHITE_WALL_BANNER: case WITHER_SKELETON_WALL_SKULL: case YELLOW_WALL_BANNER: @@ -6611,6 +7064,7 @@ public enum Material implements Keyed { case BIRCH_STAIRS: case BIRCH_TRAPDOOR: case BIRCH_WALL_SIGN: + case BLACKSTONE_STAIRS: case BLACK_BED: case BLACK_SHULKER_BOX: case BLAST_FURNACE: @@ -6632,6 +7086,14 @@ public enum Material implements Keyed { case COMPARATOR: case COMPOSTER: case CRAFTING_TABLE: + case CRIMSON_BUTTON: + case CRIMSON_DOOR: + case CRIMSON_FENCE: + case CRIMSON_FENCE_GATE: + case CRIMSON_SIGN: + case CRIMSON_STAIRS: + case CRIMSON_TRAPDOOR: + case CRIMSON_WALL_SIGN: case CYAN_BED: case CYAN_SHULKER_BOX: case DAMAGED_ANVIL: @@ -6704,6 +7166,9 @@ public enum Material implements Keyed { case PINK_BED: case PINK_SHULKER_BOX: case POLISHED_ANDESITE_STAIRS: + case POLISHED_BLACKSTONE_BRICK_STAIRS: + case POLISHED_BLACKSTONE_BUTTON: + case POLISHED_BLACKSTONE_STAIRS: case POLISHED_DIORITE_STAIRS: case POLISHED_GRANITE_STAIRS: case POTTED_ACACIA_SAPLING: @@ -6715,6 +7180,8 @@ public enum Material implements Keyed { case POTTED_BROWN_MUSHROOM: case POTTED_CACTUS: case POTTED_CORNFLOWER: + case POTTED_CRIMSON_FUNGUS: + case POTTED_CRIMSON_ROOTS: case POTTED_DANDELION: case POTTED_DARK_OAK_SAPLING: case POTTED_DEAD_BUSH: @@ -6729,6 +7196,8 @@ public enum Material implements Keyed { case POTTED_RED_MUSHROOM: case POTTED_RED_TULIP: case POTTED_SPRUCE_SAPLING: + case POTTED_WARPED_FUNGUS: + case POTTED_WARPED_ROOTS: case POTTED_WHITE_TULIP: case POTTED_WITHER_ROSE: case PRISMARINE_BRICK_STAIRS: @@ -6739,12 +7208,14 @@ public enum Material implements Keyed { case PURPUR_STAIRS: case QUARTZ_STAIRS: case REDSTONE_ORE: + case REDSTONE_WIRE: case RED_BED: case RED_NETHER_BRICK_STAIRS: case RED_SANDSTONE_STAIRS: case RED_SHULKER_BOX: case REPEATER: case REPEATING_COMMAND_BLOCK: + case RESPAWN_ANCHOR: case SANDSTONE_STAIRS: case SHULKER_BOX: case SMITHING_TABLE: @@ -6752,6 +7223,7 @@ public enum Material implements Keyed { case SMOOTH_QUARTZ_STAIRS: case SMOOTH_RED_SANDSTONE_STAIRS: case SMOOTH_SANDSTONE_STAIRS: + case SOUL_CAMPFIRE: case SPRUCE_BUTTON: case SPRUCE_DOOR: case SPRUCE_FENCE: @@ -6768,6 +7240,14 @@ public enum Material implements Keyed { case SWEET_BERRY_BUSH: case TNT: case TRAPPED_CHEST: + case WARPED_BUTTON: + case WARPED_DOOR: + case WARPED_FENCE: + case WARPED_FENCE_GATE: + case WARPED_SIGN: + case WARPED_STAIRS: + case WARPED_TRAPDOOR: + case WARPED_WALL_SIGN: case WHITE_BED: case WHITE_SHULKER_BOX: case YELLOW_BED: @@ -6895,8 +7375,10 @@ public enum Material implements Keyed { case CACTUS: case CHORUS_FLOWER: case CHORUS_PLANT: + case CRIMSON_NYLIUM: case LADDER: case NETHERRACK: + case WARPED_NYLIUM: return 0.4F; case ACACIA_BUTTON: case ACACIA_PRESSURE_PLATE: @@ -6908,6 +7390,8 @@ public enum Material implements Keyed { case BROWN_CONCRETE_POWDER: case CAKE: case COARSE_DIRT: + case CRIMSON_BUTTON: + case CRIMSON_PRESSURE_PLATE: case CYAN_CONCRETE_POWDER: case DARK_OAK_BUTTON: case DARK_OAK_PRESSURE_PLATE: @@ -6933,20 +7417,23 @@ public enum Material implements Keyed { case ORANGE_CONCRETE_POWDER: case PACKED_ICE: case PINK_CONCRETE_POWDER: - case PISTON: - case PISTON_HEAD: case PODZOL: + case POLISHED_BLACKSTONE_BUTTON: + case POLISHED_BLACKSTONE_PRESSURE_PLATE: case PURPLE_CONCRETE_POWDER: case RED_CONCRETE_POWDER: case RED_SAND: case SAND: case SOUL_SAND: + case SOUL_SOIL: case SPRUCE_BUTTON: case SPRUCE_PRESSURE_PLATE: - case STICKY_PISTON: case STONE_BUTTON: case STONE_PRESSURE_PLATE: + case TARGET: case TURTLE_EGG: + case WARPED_BUTTON: + case WARPED_PRESSURE_PLATE: case WHITE_CONCRETE_POWDER: case YELLOW_CONCRETE_POWDER: return 0.5F; @@ -6988,6 +7475,7 @@ public enum Material implements Keyed { case PINK_WOOL: case PURPLE_WOOL: case QUARTZ_BLOCK: + case QUARTZ_BRICKS: case QUARTZ_PILLAR: case QUARTZ_STAIRS: case RED_SANDSTONE: @@ -7015,6 +7503,8 @@ public enum Material implements Keyed { case CARVED_PUMPKIN: case CREEPER_HEAD: case CREEPER_WALL_HEAD: + case CRIMSON_SIGN: + case CRIMSON_WALL_SIGN: case CYAN_BANNER: case CYAN_WALL_BANNER: case DARK_OAK_SIGN: @@ -7051,10 +7541,14 @@ public enum Material implements Keyed { case PURPLE_WALL_BANNER: case RED_BANNER: case RED_WALL_BANNER: + case SHROOMLIGHT: case SKELETON_SKULL: case SKELETON_WALL_SKULL: case SPRUCE_SIGN: case SPRUCE_WALL_SIGN: + case WARPED_SIGN: + case WARPED_WALL_SIGN: + case WARPED_WART_BLOCK: case WHITE_BANNER: case WHITE_WALL_BANNER: case WITHER_SKELETON_SKULL: @@ -7064,6 +7558,7 @@ public enum Material implements Keyed { case ZOMBIE_HEAD: case ZOMBIE_WALL_HEAD: return 1.0F; + case BASALT: case BLACK_TERRACOTTA: case BLUE_TERRACOTTA: case BROWN_TERRACOTTA: @@ -7076,6 +7571,7 @@ public enum Material implements Keyed { case MAGENTA_TERRACOTTA: case ORANGE_TERRACOTTA: case PINK_TERRACOTTA: + case POLISHED_BASALT: case PURPLE_TERRACOTTA: case RED_TERRACOTTA: case TERRACOTTA: @@ -7103,10 +7599,15 @@ public enum Material implements Keyed { case ANDESITE_SLAB: case ANDESITE_STAIRS: case ANDESITE_WALL: + case BLACKSTONE: + case BLACKSTONE_STAIRS: + case BLACKSTONE_WALL: case BOOKSHELF: case BRAIN_CORAL_BLOCK: case BUBBLE_CORAL_BLOCK: + case CHISELED_POLISHED_BLACKSTONE: case CHISELED_STONE_BRICKS: + case CRACKED_POLISHED_BLACKSTONE_BRICKS: case CRACKED_STONE_BRICKS: case DARK_PRISMARINE: case DARK_PRISMARINE_SLAB: @@ -7121,6 +7622,7 @@ public enum Material implements Keyed { case DIORITE_STAIRS: case DIORITE_WALL: case FIRE_CORAL_BLOCK: + case GILDED_BLACKSTONE: case GRANITE: case GRANITE_SLAB: case GRANITE_STAIRS: @@ -7130,9 +7632,14 @@ public enum Material implements Keyed { case MOSSY_STONE_BRICK_SLAB: case MOSSY_STONE_BRICK_STAIRS: case MOSSY_STONE_BRICK_WALL: + case PISTON: + case PISTON_HEAD: case POLISHED_ANDESITE: case POLISHED_ANDESITE_SLAB: case POLISHED_ANDESITE_STAIRS: + case POLISHED_BLACKSTONE_BRICKS: + case POLISHED_BLACKSTONE_BRICK_STAIRS: + case POLISHED_BLACKSTONE_BRICK_WALL: case POLISHED_DIORITE: case POLISHED_DIORITE_SLAB: case POLISHED_DIORITE_STAIRS: @@ -7149,6 +7656,7 @@ public enum Material implements Keyed { case PURPUR_BLOCK: case PURPUR_PILLAR: case PURPUR_STAIRS: + case STICKY_PISTON: case STONE: case STONE_BRICKS: case STONE_BRICK_STAIRS: @@ -7187,6 +7695,7 @@ public enum Material implements Keyed { case BIRCH_SLAB: case BIRCH_STAIRS: case BIRCH_WOOD: + case BLACKSTONE_SLAB: case BLACK_SHULKER_BOX: case BLUE_SHULKER_BOX: case BONE_BLOCK: @@ -7197,10 +7706,19 @@ public enum Material implements Keyed { case BROWN_SHULKER_BOX: case CAMPFIRE: case CAULDRON: + case CHISELED_NETHER_BRICKS: case COBBLESTONE: case COBBLESTONE_SLAB: case COBBLESTONE_STAIRS: case COBBLESTONE_WALL: + case CRACKED_NETHER_BRICKS: + case CRIMSON_FENCE: + case CRIMSON_FENCE_GATE: + case CRIMSON_HYPHAE: + case CRIMSON_PLANKS: + case CRIMSON_SLAB: + case CRIMSON_STAIRS: + case CRIMSON_STEM: case CUT_RED_SANDSTONE_SLAB: case CUT_SANDSTONE_SLAB: case CYAN_SHULKER_BOX: @@ -7245,6 +7763,11 @@ public enum Material implements Keyed { case ORANGE_SHULKER_BOX: case PETRIFIED_OAK_SLAB: case PINK_SHULKER_BOX: + case POLISHED_BLACKSTONE: + case POLISHED_BLACKSTONE_BRICK_SLAB: + case POLISHED_BLACKSTONE_SLAB: + case POLISHED_BLACKSTONE_STAIRS: + case POLISHED_BLACKSTONE_WALL: case PURPLE_SHULKER_BOX: case PURPUR_SLAB: case QUARTZ_SLAB: @@ -7267,6 +7790,7 @@ public enum Material implements Keyed { case SMOOTH_SANDSTONE_STAIRS: case SMOOTH_STONE: case SMOOTH_STONE_SLAB: + case SOUL_CAMPFIRE: case SPRUCE_FENCE: case SPRUCE_FENCE_GATE: case SPRUCE_LOG: @@ -7280,6 +7804,8 @@ public enum Material implements Keyed { case STRIPPED_ACACIA_WOOD: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: + case STRIPPED_CRIMSON_HYPHAE: + case STRIPPED_CRIMSON_STEM: case STRIPPED_DARK_OAK_LOG: case STRIPPED_DARK_OAK_WOOD: case STRIPPED_JUNGLE_LOG: @@ -7288,6 +7814,15 @@ public enum Material implements Keyed { case STRIPPED_OAK_WOOD: case STRIPPED_SPRUCE_LOG: case STRIPPED_SPRUCE_WOOD: + case STRIPPED_WARPED_HYPHAE: + case STRIPPED_WARPED_STEM: + case WARPED_FENCE: + case WARPED_FENCE_GATE: + case WARPED_HYPHAE: + case WARPED_PLANKS: + case WARPED_SLAB: + case WARPED_STAIRS: + case WARPED_STEM: case WHITE_SHULKER_BOX: case YELLOW_SHULKER_BOX: return 2.0F; @@ -7310,6 +7845,8 @@ public enum Material implements Keyed { case BIRCH_TRAPDOOR: case COAL_ORE: case CONDUIT: + case CRIMSON_DOOR: + case CRIMSON_TRAPDOOR: case DARK_OAK_DOOR: case DARK_OAK_TRAPDOOR: case DIAMOND_ORE: @@ -7328,6 +7865,7 @@ public enum Material implements Keyed { case JUNGLE_TRAPDOOR: case LAPIS_BLOCK: case LAPIS_ORE: + case NETHER_GOLD_ORE: case NETHER_QUARTZ_ORE: case OAK_DOOR: case OAK_TRAPDOOR: @@ -7335,19 +7873,24 @@ public enum Material implements Keyed { case REDSTONE_ORE: case SPRUCE_DOOR: case SPRUCE_TRAPDOOR: + case WARPED_DOOR: + case WARPED_TRAPDOOR: return 3.0F; case BLAST_FURNACE: case DISPENSER: case DROPPER: case FURNACE: case LANTERN: + case LODESTONE: case SMOKER: + case SOUL_LANTERN: case STONECUTTER: return 3.5F; case COBWEB: return 4.0F; case ANVIL: case BELL: + case CHAIN: case CHIPPED_ANVIL: case COAL_BLOCK: case DAMAGED_ANVIL: @@ -7363,7 +7906,12 @@ public enum Material implements Keyed { return 5.0F; case ENDER_CHEST: return 22.5F; + case ANCIENT_DEBRIS: + return 30.0F; + case CRYING_OBSIDIAN: + case NETHERITE_BLOCK: case OBSIDIAN: + case RESPAWN_ANCHOR: return 50.0F; case LAVA: case WATER: @@ -7477,8 +8025,10 @@ public enum Material implements Keyed { case CACTUS: case CHORUS_FLOWER: case CHORUS_PLANT: + case CRIMSON_NYLIUM: case LADDER: case NETHERRACK: + case WARPED_NYLIUM: return 0.4F; case ACACIA_BUTTON: case ACACIA_PRESSURE_PLATE: @@ -7490,6 +8040,8 @@ public enum Material implements Keyed { case BROWN_CONCRETE_POWDER: case CAKE: case COARSE_DIRT: + case CRIMSON_BUTTON: + case CRIMSON_PRESSURE_PLATE: case CYAN_CONCRETE_POWDER: case DARK_OAK_BUTTON: case DARK_OAK_PRESSURE_PLATE: @@ -7514,20 +8066,23 @@ public enum Material implements Keyed { case ORANGE_CONCRETE_POWDER: case PACKED_ICE: case PINK_CONCRETE_POWDER: - case PISTON: - case PISTON_HEAD: case PODZOL: + case POLISHED_BLACKSTONE_BUTTON: + case POLISHED_BLACKSTONE_PRESSURE_PLATE: case PURPLE_CONCRETE_POWDER: case RED_CONCRETE_POWDER: case RED_SAND: case SAND: case SOUL_SAND: + case SOUL_SOIL: case SPRUCE_BUTTON: case SPRUCE_PRESSURE_PLATE: - case STICKY_PISTON: case STONE_BUTTON: case STONE_PRESSURE_PLATE: + case TARGET: case TURTLE_EGG: + case WARPED_BUTTON: + case WARPED_PRESSURE_PLATE: case WHITE_CONCRETE_POWDER: case YELLOW_CONCRETE_POWDER: return 0.5F; @@ -7576,6 +8131,7 @@ public enum Material implements Keyed { case PINK_WOOL: case PURPLE_WOOL: case QUARTZ_BLOCK: + case QUARTZ_BRICKS: case QUARTZ_PILLAR: case QUARTZ_STAIRS: case RED_SANDSTONE: @@ -7603,6 +8159,8 @@ public enum Material implements Keyed { case CARVED_PUMPKIN: case CREEPER_HEAD: case CREEPER_WALL_HEAD: + case CRIMSON_SIGN: + case CRIMSON_WALL_SIGN: case CYAN_BANNER: case CYAN_WALL_BANNER: case DARK_OAK_SIGN: @@ -7639,10 +8197,14 @@ public enum Material implements Keyed { case PURPLE_WALL_BANNER: case RED_BANNER: case RED_WALL_BANNER: + case SHROOMLIGHT: case SKELETON_SKULL: case SKELETON_WALL_SKULL: case SPRUCE_SIGN: case SPRUCE_WALL_SIGN: + case WARPED_SIGN: + case WARPED_WALL_SIGN: + case WARPED_WART_BLOCK: case WHITE_BANNER: case WHITE_WALL_BANNER: case WITHER_SKELETON_SKULL: @@ -7670,6 +8232,9 @@ public enum Material implements Keyed { case YELLOW_GLAZED_TERRACOTTA: return 1.4F; case BOOKSHELF: + case PISTON: + case PISTON_HEAD: + case STICKY_PISTON: return 1.5F; case BLACK_CONCRETE: case BLUE_CONCRETE: @@ -7698,6 +8263,8 @@ public enum Material implements Keyed { case BROWN_SHULKER_BOX: case CAMPFIRE: case CAULDRON: + case CRIMSON_HYPHAE: + case CRIMSON_STEM: case CYAN_SHULKER_BOX: case DARK_OAK_LOG: case DARK_OAK_WOOD: @@ -7716,12 +8283,15 @@ public enum Material implements Keyed { case PURPLE_SHULKER_BOX: case RED_SHULKER_BOX: case SHULKER_BOX: + case SOUL_CAMPFIRE: case SPRUCE_LOG: case SPRUCE_WOOD: case STRIPPED_ACACIA_LOG: case STRIPPED_ACACIA_WOOD: case STRIPPED_BIRCH_LOG: case STRIPPED_BIRCH_WOOD: + case STRIPPED_CRIMSON_HYPHAE: + case STRIPPED_CRIMSON_STEM: case STRIPPED_DARK_OAK_LOG: case STRIPPED_DARK_OAK_WOOD: case STRIPPED_JUNGLE_LOG: @@ -7730,6 +8300,10 @@ public enum Material implements Keyed { case STRIPPED_OAK_WOOD: case STRIPPED_SPRUCE_LOG: case STRIPPED_SPRUCE_WOOD: + case STRIPPED_WARPED_HYPHAE: + case STRIPPED_WARPED_STEM: + case WARPED_HYPHAE: + case WARPED_STEM: case WHITE_SHULKER_BOX: case YELLOW_SHULKER_BOX: return 2.0F; @@ -7764,6 +8338,13 @@ public enum Material implements Keyed { case COAL_ORE: case COCOA: case CONDUIT: + case CRIMSON_DOOR: + case CRIMSON_FENCE: + case CRIMSON_FENCE_GATE: + case CRIMSON_PLANKS: + case CRIMSON_SLAB: + case CRIMSON_STAIRS: + case CRIMSON_TRAPDOOR: case DARK_OAK_DOOR: case DARK_OAK_FENCE: case DARK_OAK_FENCE_GATE: @@ -7784,6 +8365,7 @@ public enum Material implements Keyed { case JUNGLE_TRAPDOOR: case LAPIS_BLOCK: case LAPIS_ORE: + case NETHER_GOLD_ORE: case NETHER_QUARTZ_ORE: case OAK_DOOR: case OAK_FENCE: @@ -7801,17 +8383,27 @@ public enum Material implements Keyed { case SPRUCE_SLAB: case SPRUCE_STAIRS: case SPRUCE_TRAPDOOR: + case WARPED_DOOR: + case WARPED_FENCE: + case WARPED_FENCE_GATE: + case WARPED_PLANKS: + case WARPED_SLAB: + case WARPED_STAIRS: + case WARPED_TRAPDOOR: return 3.0F; case BLAST_FURNACE: case DISPENSER: case DROPPER: case FURNACE: case LANTERN: + case LODESTONE: case SMOKER: + case SOUL_LANTERN: case STONECUTTER: return 3.5F; case COBWEB: return 4.0F; + case BASALT: case BLACK_TERRACOTTA: case BLUE_TERRACOTTA: case BROWN_TERRACOTTA: @@ -7824,6 +8416,7 @@ public enum Material implements Keyed { case MAGENTA_TERRACOTTA: case ORANGE_TERRACOTTA: case PINK_TERRACOTTA: + case POLISHED_BASALT: case PURPLE_TERRACOTTA: case RED_TERRACOTTA: case TERRACOTTA: @@ -7841,18 +8434,27 @@ public enum Material implements Keyed { case ANDESITE_SLAB: case ANDESITE_STAIRS: case ANDESITE_WALL: + case BLACKSTONE: + case BLACKSTONE_SLAB: + case BLACKSTONE_STAIRS: + case BLACKSTONE_WALL: case BRAIN_CORAL_BLOCK: case BRICKS: case BRICK_SLAB: case BRICK_STAIRS: case BRICK_WALL: case BUBBLE_CORAL_BLOCK: + case CHAIN: + case CHISELED_NETHER_BRICKS: + case CHISELED_POLISHED_BLACKSTONE: case CHISELED_STONE_BRICKS: case COAL_BLOCK: case COBBLESTONE: case COBBLESTONE_SLAB: case COBBLESTONE_STAIRS: case COBBLESTONE_WALL: + case CRACKED_NETHER_BRICKS: + case CRACKED_POLISHED_BLACKSTONE_BRICKS: case CRACKED_STONE_BRICKS: case CUT_RED_SANDSTONE_SLAB: case CUT_SANDSTONE_SLAB: @@ -7871,6 +8473,7 @@ public enum Material implements Keyed { case DIORITE_WALL: case EMERALD_BLOCK: case FIRE_CORAL_BLOCK: + case GILDED_BLACKSTONE: case GOLD_BLOCK: case GRANITE: case GRANITE_SLAB: @@ -7898,6 +8501,14 @@ public enum Material implements Keyed { case POLISHED_ANDESITE: case POLISHED_ANDESITE_SLAB: case POLISHED_ANDESITE_STAIRS: + case POLISHED_BLACKSTONE: + case POLISHED_BLACKSTONE_BRICKS: + case POLISHED_BLACKSTONE_BRICK_SLAB: + case POLISHED_BLACKSTONE_BRICK_STAIRS: + case POLISHED_BLACKSTONE_BRICK_WALL: + case POLISHED_BLACKSTONE_SLAB: + case POLISHED_BLACKSTONE_STAIRS: + case POLISHED_BLACKSTONE_WALL: case POLISHED_DIORITE: case POLISHED_DIORITE_SLAB: case POLISHED_DIORITE_STAIRS: @@ -7955,11 +8566,15 @@ public enum Material implements Keyed { return 100.0F; case ENDER_CHEST: return 600.0F; + case ANCIENT_DEBRIS: case ANVIL: case CHIPPED_ANVIL: + case CRYING_OBSIDIAN: case DAMAGED_ANVIL: case ENCHANTING_TABLE: + case NETHERITE_BLOCK: case OBSIDIAN: + case RESPAWN_ANCHOR: return 1200.0F; case BEDROCK: case CHAIN_COMMAND_BLOCK: diff --git a/paper-api/src/main/java/org/bukkit/Particle.java b/paper-api/src/main/java/org/bukkit/Particle.java index 49467ac70a..b32de827cf 100644 --- a/paper-api/src/main/java/org/bukkit/Particle.java +++ b/paper-api/src/main/java/org/bukkit/Particle.java @@ -72,6 +72,16 @@ public enum Particle { FALLING_HONEY, LANDING_HONEY, FALLING_NECTAR, + SOUL_FIRE_FLAME, + ASH, + CRIMSON_SPORE, + WARPED_SPORE, + SOUL, + DRIPPING_OBSIDIAN_TEAR, + FALLING_OBSIDIAN_TEAR, + LANDING_OBSIDIAN_TEAR, + REVERSE_PORTAL, + WHITE_ASH, // ----- Legacy Separator ----- LEGACY_BLOCK_CRACK(MaterialData.class), LEGACY_BLOCK_DUST(MaterialData.class), diff --git a/paper-api/src/main/java/org/bukkit/Registry.java b/paper-api/src/main/java/org/bukkit/Registry.java index 9d0d0d7451..91544ade41 100644 --- a/paper-api/src/main/java/org/bukkit/Registry.java +++ b/paper-api/src/main/java/org/bukkit/Registry.java @@ -7,6 +7,7 @@ import java.util.Iterator; import java.util.Map; import java.util.function.Predicate; import org.bukkit.advancement.Advancement; +import org.bukkit.attribute.Attribute; import org.bukkit.block.Biome; import org.bukkit.boss.KeyedBossBar; import org.bukkit.enchantments.Enchantment; @@ -51,6 +52,12 @@ public interface Registry extends Iterable { * @see Art */ Registry ART = new SimpleRegistry<>(Art.class); + /** + * Attribute. + * + * @see Attribute + */ + Registry ATTRIBUTE = new SimpleRegistry<>(Attribute.class); /** * Server biomes. * diff --git a/paper-api/src/main/java/org/bukkit/Sound.java b/paper-api/src/main/java/org/bukkit/Sound.java index e857cf84ec..ddfaf1bd89 100644 --- a/paper-api/src/main/java/org/bukkit/Sound.java +++ b/paper-api/src/main/java/org/bukkit/Sound.java @@ -9,13 +9,34 @@ package org.bukkit; * depend on the ordinal values of this class. */ public enum Sound { + + AMBIENT_BASALT_DELTAS_ADDITIONS, + AMBIENT_BASALT_DELTAS_LOOP, + AMBIENT_BASALT_DELTAS_MOOD, AMBIENT_CAVE, + AMBIENT_CRIMSON_FOREST_ADDITIONS, + AMBIENT_CRIMSON_FOREST_LOOP, + AMBIENT_CRIMSON_FOREST_MOOD, + AMBIENT_NETHER_WASTES_ADDITIONS, + AMBIENT_NETHER_WASTES_LOOP, + AMBIENT_NETHER_WASTES_MOOD, + AMBIENT_SOUL_SAND_VALLEY_ADDITIONS, + AMBIENT_SOUL_SAND_VALLEY_LOOP, + AMBIENT_SOUL_SAND_VALLEY_MOOD, AMBIENT_UNDERWATER_ENTER, AMBIENT_UNDERWATER_EXIT, AMBIENT_UNDERWATER_LOOP, AMBIENT_UNDERWATER_LOOP_ADDITIONS, AMBIENT_UNDERWATER_LOOP_ADDITIONS_RARE, AMBIENT_UNDERWATER_LOOP_ADDITIONS_ULTRA_RARE, + AMBIENT_WARPED_FOREST_ADDITIONS, + AMBIENT_WARPED_FOREST_LOOP, + AMBIENT_WARPED_FOREST_MOOD, + BLOCK_ANCIENT_DEBRIS_BREAK, + BLOCK_ANCIENT_DEBRIS_FALL, + BLOCK_ANCIENT_DEBRIS_HIT, + BLOCK_ANCIENT_DEBRIS_PLACE, + BLOCK_ANCIENT_DEBRIS_STEP, BLOCK_ANVIL_BREAK, BLOCK_ANVIL_DESTROY, BLOCK_ANVIL_FALL, @@ -34,6 +55,11 @@ public enum Sound { BLOCK_BAMBOO_STEP, BLOCK_BARREL_CLOSE, BLOCK_BARREL_OPEN, + BLOCK_BASALT_BREAK, + BLOCK_BASALT_FALL, + BLOCK_BASALT_HIT, + BLOCK_BASALT_PLACE, + BLOCK_BASALT_STEP, BLOCK_BEACON_ACTIVATE, BLOCK_BEACON_AMBIENT, BLOCK_BEACON_DEACTIVATE, @@ -46,6 +72,11 @@ public enum Sound { BLOCK_BELL_RESONATE, BLOCK_BELL_USE, BLOCK_BLASTFURNACE_FIRE_CRACKLE, + BLOCK_BONE_BLOCK_BREAK, + BLOCK_BONE_BLOCK_FALL, + BLOCK_BONE_BLOCK_HIT, + BLOCK_BONE_BLOCK_PLACE, + BLOCK_BONE_BLOCK_STEP, BLOCK_BREWING_STAND_BREW, BLOCK_BUBBLE_COLUMN_BUBBLE_POP, BLOCK_BUBBLE_COLUMN_UPWARDS_AMBIENT, @@ -53,6 +84,11 @@ public enum Sound { BLOCK_BUBBLE_COLUMN_WHIRLPOOL_AMBIENT, BLOCK_BUBBLE_COLUMN_WHIRLPOOL_INSIDE, BLOCK_CAMPFIRE_CRACKLE, + BLOCK_CHAIN_BREAK, + BLOCK_CHAIN_FALL, + BLOCK_CHAIN_HIT, + BLOCK_CHAIN_PLACE, + BLOCK_CHAIN_STEP, BLOCK_CHEST_CLOSE, BLOCK_CHEST_LOCKED, BLOCK_CHEST_OPEN, @@ -87,7 +123,17 @@ public enum Sound { BLOCK_FENCE_GATE_OPEN, BLOCK_FIRE_AMBIENT, BLOCK_FIRE_EXTINGUISH, + BLOCK_FUNGUS_BREAK, + BLOCK_FUNGUS_FALL, + BLOCK_FUNGUS_HIT, + BLOCK_FUNGUS_PLACE, + BLOCK_FUNGUS_STEP, BLOCK_FURNACE_FIRE_CRACKLE, + BLOCK_GILDED_BLACKSTONE_BREAK, + BLOCK_GILDED_BLACKSTONE_FALL, + BLOCK_GILDED_BLACKSTONE_HIT, + BLOCK_GILDED_BLACKSTONE_PLACE, + BLOCK_GILDED_BLACKSTONE_STEP, BLOCK_GLASS_BREAK, BLOCK_GLASS_FALL, BLOCK_GLASS_HIT, @@ -129,6 +175,11 @@ public enum Sound { BLOCK_LAVA_POP, BLOCK_LEVER_CLICK, BLOCK_LILY_PAD_PLACE, + BLOCK_LODESTONE_BREAK, + BLOCK_LODESTONE_FALL, + BLOCK_LODESTONE_HIT, + BLOCK_LODESTONE_PLACE, + BLOCK_LODESTONE_STEP, BLOCK_METAL_BREAK, BLOCK_METAL_FALL, BLOCK_METAL_HIT, @@ -136,6 +187,36 @@ public enum Sound { BLOCK_METAL_PRESSURE_PLATE_CLICK_OFF, BLOCK_METAL_PRESSURE_PLATE_CLICK_ON, BLOCK_METAL_STEP, + BLOCK_NETHERITE_BLOCK_BREAK, + BLOCK_NETHERITE_BLOCK_FALL, + BLOCK_NETHERITE_BLOCK_HIT, + BLOCK_NETHERITE_BLOCK_PLACE, + BLOCK_NETHERITE_BLOCK_STEP, + BLOCK_NETHERRACK_BREAK, + BLOCK_NETHERRACK_FALL, + BLOCK_NETHERRACK_HIT, + BLOCK_NETHERRACK_PLACE, + BLOCK_NETHERRACK_STEP, + BLOCK_NETHER_BRICKS_BREAK, + BLOCK_NETHER_BRICKS_FALL, + BLOCK_NETHER_BRICKS_HIT, + BLOCK_NETHER_BRICKS_PLACE, + BLOCK_NETHER_BRICKS_STEP, + BLOCK_NETHER_GOLD_ORE_BREAK, + BLOCK_NETHER_GOLD_ORE_FALL, + BLOCK_NETHER_GOLD_ORE_HIT, + BLOCK_NETHER_GOLD_ORE_PLACE, + BLOCK_NETHER_GOLD_ORE_STEP, + BLOCK_NETHER_ORE_BREAK, + BLOCK_NETHER_ORE_FALL, + BLOCK_NETHER_ORE_HIT, + BLOCK_NETHER_ORE_PLACE, + BLOCK_NETHER_ORE_STEP, + BLOCK_NETHER_SPROUTS_BREAK, + BLOCK_NETHER_SPROUTS_FALL, + BLOCK_NETHER_SPROUTS_HIT, + BLOCK_NETHER_SPROUTS_PLACE, + BLOCK_NETHER_SPROUTS_STEP, BLOCK_NETHER_WART_BREAK, BLOCK_NOTE_BLOCK_BANJO, BLOCK_NOTE_BLOCK_BASEDRUM, @@ -153,6 +234,11 @@ public enum Sound { BLOCK_NOTE_BLOCK_PLING, BLOCK_NOTE_BLOCK_SNARE, BLOCK_NOTE_BLOCK_XYLOPHONE, + BLOCK_NYLIUM_BREAK, + BLOCK_NYLIUM_FALL, + BLOCK_NYLIUM_HIT, + BLOCK_NYLIUM_PLACE, + BLOCK_NYLIUM_STEP, BLOCK_PISTON_CONTRACT, BLOCK_PISTON_EXTEND, BLOCK_PORTAL_AMBIENT, @@ -160,6 +246,15 @@ public enum Sound { BLOCK_PORTAL_TRIGGER, BLOCK_PUMPKIN_CARVE, BLOCK_REDSTONE_TORCH_BURNOUT, + BLOCK_RESPAWN_ANCHOR_AMBIENT, + BLOCK_RESPAWN_ANCHOR_CHARGE, + BLOCK_RESPAWN_ANCHOR_DEPLETE, + BLOCK_RESPAWN_ANCHOR_SET_SPAWN, + BLOCK_ROOTS_BREAK, + BLOCK_ROOTS_FALL, + BLOCK_ROOTS_HIT, + BLOCK_ROOTS_PLACE, + BLOCK_ROOTS_STEP, BLOCK_SAND_BREAK, BLOCK_SAND_FALL, BLOCK_SAND_HIT, @@ -170,6 +265,11 @@ public enum Sound { BLOCK_SCAFFOLDING_HIT, BLOCK_SCAFFOLDING_PLACE, BLOCK_SCAFFOLDING_STEP, + BLOCK_SHROOMLIGHT_BREAK, + BLOCK_SHROOMLIGHT_FALL, + BLOCK_SHROOMLIGHT_HIT, + BLOCK_SHROOMLIGHT_PLACE, + BLOCK_SHROOMLIGHT_STEP, BLOCK_SHULKER_BOX_CLOSE, BLOCK_SHULKER_BOX_OPEN, BLOCK_SLIME_BLOCK_BREAK, @@ -177,12 +277,28 @@ public enum Sound { BLOCK_SLIME_BLOCK_HIT, BLOCK_SLIME_BLOCK_PLACE, BLOCK_SLIME_BLOCK_STEP, + BLOCK_SMITHING_TABLE_USE, BLOCK_SMOKER_SMOKE, BLOCK_SNOW_BREAK, BLOCK_SNOW_FALL, BLOCK_SNOW_HIT, BLOCK_SNOW_PLACE, BLOCK_SNOW_STEP, + BLOCK_SOUL_SAND_BREAK, + BLOCK_SOUL_SAND_FALL, + BLOCK_SOUL_SAND_HIT, + BLOCK_SOUL_SAND_PLACE, + BLOCK_SOUL_SAND_STEP, + BLOCK_SOUL_SOIL_BREAK, + BLOCK_SOUL_SOIL_FALL, + BLOCK_SOUL_SOIL_HIT, + BLOCK_SOUL_SOIL_PLACE, + BLOCK_SOUL_SOIL_STEP, + BLOCK_STEM_BREAK, + BLOCK_STEM_FALL, + BLOCK_STEM_HIT, + BLOCK_STEM_PLACE, + BLOCK_STEM_STEP, BLOCK_STONE_BREAK, BLOCK_STONE_BUTTON_CLICK_OFF, BLOCK_STONE_BUTTON_CLICK_ON, @@ -198,7 +314,18 @@ public enum Sound { BLOCK_TRIPWIRE_CLICK_OFF, BLOCK_TRIPWIRE_CLICK_ON, BLOCK_TRIPWIRE_DETACH, + BLOCK_VINE_STEP, + BLOCK_WART_BLOCK_BREAK, + BLOCK_WART_BLOCK_FALL, + BLOCK_WART_BLOCK_HIT, + BLOCK_WART_BLOCK_PLACE, + BLOCK_WART_BLOCK_STEP, BLOCK_WATER_AMBIENT, + BLOCK_WEEPING_VINES_BREAK, + BLOCK_WEEPING_VINES_FALL, + BLOCK_WEEPING_VINES_HIT, + BLOCK_WEEPING_VINES_PLACE, + BLOCK_WEEPING_VINES_STEP, BLOCK_WET_GRASS_BREAK, BLOCK_WET_GRASS_FALL, BLOCK_WET_GRASS_HIT, @@ -288,6 +415,7 @@ public enum Sound { ENTITY_DONKEY_ANGRY, ENTITY_DONKEY_CHEST, ENTITY_DONKEY_DEATH, + ENTITY_DONKEY_EAT, ENTITY_DONKEY_HURT, ENTITY_DRAGON_FIREBALL_EXPLODE, ENTITY_DROWNED_AMBIENT, @@ -360,6 +488,7 @@ public enum Sound { ENTITY_FOX_SLEEP, ENTITY_FOX_SNIFF, ENTITY_FOX_SPIT, + ENTITY_FOX_TELEPORT, ENTITY_GENERIC_BIG_FALL, ENTITY_GENERIC_BURN, ENTITY_GENERIC_DEATH, @@ -385,6 +514,14 @@ public enum Sound { ENTITY_GUARDIAN_FLOP, ENTITY_GUARDIAN_HURT, ENTITY_GUARDIAN_HURT_LAND, + ENTITY_HOGLIN_AMBIENT, + ENTITY_HOGLIN_ANGRY, + ENTITY_HOGLIN_ATTACK, + ENTITY_HOGLIN_CONVERTED_TO_ZOMBIFIED, + ENTITY_HOGLIN_DEATH, + ENTITY_HOGLIN_HURT, + ENTITY_HOGLIN_RETREAT, + ENTITY_HOGLIN_STEP, ENTITY_HORSE_AMBIENT, ENTITY_HORSE_ANGRY, ENTITY_HORSE_ARMOR, @@ -458,8 +595,10 @@ public enum Sound { ENTITY_MOOSHROOM_SHEAR, ENTITY_MOOSHROOM_SUSPICIOUS_MILK, ENTITY_MULE_AMBIENT, + ENTITY_MULE_ANGRY, ENTITY_MULE_CHEST, ENTITY_MULE_DEATH, + ENTITY_MULE_EAT, ENTITY_MULE_HURT, ENTITY_OCELOT_AMBIENT, ENTITY_OCELOT_DEATH, @@ -491,10 +630,12 @@ public enum Sound { ENTITY_PARROT_IMITATE_EVOKER, ENTITY_PARROT_IMITATE_GHAST, ENTITY_PARROT_IMITATE_GUARDIAN, + ENTITY_PARROT_IMITATE_HOGLIN, ENTITY_PARROT_IMITATE_HUSK, ENTITY_PARROT_IMITATE_ILLUSIONER, ENTITY_PARROT_IMITATE_MAGMA_CUBE, ENTITY_PARROT_IMITATE_PHANTOM, + ENTITY_PARROT_IMITATE_PIGLIN, ENTITY_PARROT_IMITATE_PILLAGER, ENTITY_PARROT_IMITATE_RAVAGER, ENTITY_PARROT_IMITATE_SHULKER, @@ -508,6 +649,7 @@ public enum Sound { ENTITY_PARROT_IMITATE_WITCH, ENTITY_PARROT_IMITATE_WITHER, ENTITY_PARROT_IMITATE_WITHER_SKELETON, + ENTITY_PARROT_IMITATE_ZOGLIN, ENTITY_PARROT_IMITATE_ZOMBIE, ENTITY_PARROT_IMITATE_ZOMBIE_VILLAGER, ENTITY_PARROT_STEP, @@ -517,6 +659,16 @@ public enum Sound { ENTITY_PHANTOM_FLAP, ENTITY_PHANTOM_HURT, ENTITY_PHANTOM_SWOOP, + ENTITY_PIGLIN_ADMIRING_ITEM, + ENTITY_PIGLIN_AMBIENT, + ENTITY_PIGLIN_ANGRY, + ENTITY_PIGLIN_CELEBRATE, + ENTITY_PIGLIN_CONVERTED_TO_ZOMBIFIED, + ENTITY_PIGLIN_DEATH, + ENTITY_PIGLIN_HURT, + ENTITY_PIGLIN_JEALOUS, + ENTITY_PIGLIN_RETREAT, + ENTITY_PIGLIN_STEP, ENTITY_PIG_AMBIENT, ENTITY_PIG_DEATH, ENTITY_PIG_HURT, @@ -620,6 +772,7 @@ public enum Sound { ENTITY_SNOW_GOLEM_AMBIENT, ENTITY_SNOW_GOLEM_DEATH, ENTITY_SNOW_GOLEM_HURT, + ENTITY_SNOW_GOLEM_SHEAR, ENTITY_SNOW_GOLEM_SHOOT, ENTITY_SPIDER_AMBIENT, ENTITY_SPIDER_DEATH, @@ -635,6 +788,15 @@ public enum Sound { ENTITY_STRAY_DEATH, ENTITY_STRAY_HURT, ENTITY_STRAY_STEP, + ENTITY_STRIDER_AMBIENT, + ENTITY_STRIDER_DEATH, + ENTITY_STRIDER_EAT, + ENTITY_STRIDER_HAPPY, + ENTITY_STRIDER_HURT, + ENTITY_STRIDER_RETREAT, + ENTITY_STRIDER_SADDLE, + ENTITY_STRIDER_STEP, + ENTITY_STRIDER_STEP_LAVA, ENTITY_TNT_PRIMED, ENTITY_TROPICAL_FISH_AMBIENT, ENTITY_TROPICAL_FISH_DEATH, @@ -715,6 +877,12 @@ public enum Sound { ENTITY_WOLF_SHAKE, ENTITY_WOLF_STEP, ENTITY_WOLF_WHINE, + ENTITY_ZOGLIN_AMBIENT, + ENTITY_ZOGLIN_ANGRY, + ENTITY_ZOGLIN_ATTACK, + ENTITY_ZOGLIN_DEATH, + ENTITY_ZOGLIN_HURT, + ENTITY_ZOGLIN_STEP, ENTITY_ZOMBIE_AMBIENT, ENTITY_ZOMBIE_ATTACK_IRON_DOOR, ENTITY_ZOMBIE_ATTACK_WOODEN_DOOR, @@ -727,10 +895,6 @@ public enum Sound { ENTITY_ZOMBIE_HORSE_HURT, ENTITY_ZOMBIE_HURT, ENTITY_ZOMBIE_INFECT, - ENTITY_ZOMBIE_PIGMAN_AMBIENT, - ENTITY_ZOMBIE_PIGMAN_ANGRY, - ENTITY_ZOMBIE_PIGMAN_DEATH, - ENTITY_ZOMBIE_PIGMAN_HURT, ENTITY_ZOMBIE_STEP, ENTITY_ZOMBIE_VILLAGER_AMBIENT, ENTITY_ZOMBIE_VILLAGER_CONVERTED, @@ -738,6 +902,10 @@ public enum Sound { ENTITY_ZOMBIE_VILLAGER_DEATH, ENTITY_ZOMBIE_VILLAGER_HURT, ENTITY_ZOMBIE_VILLAGER_STEP, + ENTITY_ZOMBIFIED_PIGLIN_AMBIENT, + ENTITY_ZOMBIFIED_PIGLIN_ANGRY, + ENTITY_ZOMBIFIED_PIGLIN_DEATH, + ENTITY_ZOMBIFIED_PIGLIN_HURT, EVENT_RAID_HORN, ITEM_ARMOR_EQUIP_CHAIN, ITEM_ARMOR_EQUIP_DIAMOND, @@ -746,6 +914,7 @@ public enum Sound { ITEM_ARMOR_EQUIP_GOLD, ITEM_ARMOR_EQUIP_IRON, ITEM_ARMOR_EQUIP_LEATHER, + ITEM_ARMOR_EQUIP_NETHERITE, ITEM_ARMOR_EQUIP_TURTLE, ITEM_AXE_STRIP, ITEM_BOOK_PAGE_TURN, @@ -774,6 +943,7 @@ public enum Sound { ITEM_FLINTANDSTEEL_USE, ITEM_HOE_TILL, ITEM_HONEY_BOTTLE_DRINK, + ITEM_LODESTONE_COMPASS_LOCK, ITEM_NETHER_WART_PLANT, ITEM_SHIELD_BLOCK, ITEM_SHIELD_BREAK, @@ -798,6 +968,7 @@ public enum Sound { MUSIC_DISC_FAR, MUSIC_DISC_MALL, MUSIC_DISC_MELLOHI, + MUSIC_DISC_PIGSTEP, MUSIC_DISC_STAL, MUSIC_DISC_STRAD, MUSIC_DISC_WAIT, @@ -806,8 +977,13 @@ public enum Sound { MUSIC_END, MUSIC_GAME, MUSIC_MENU, - MUSIC_NETHER, + MUSIC_NETHER_BASALT_DELTAS, + MUSIC_NETHER_CRIMSON_FOREST, + MUSIC_NETHER_NETHER_WASTES, + MUSIC_NETHER_SOUL_SAND_VALLEY, + MUSIC_NETHER_WARPED_FOREST, MUSIC_UNDER_WATER, + PARTICLE_SOUL_ESCAPE, UI_BUTTON_CLICK, UI_CARTOGRAPHY_TABLE_TAKE_RESULT, UI_LOOM_SELECT_PATTERN, diff --git a/paper-api/src/main/java/org/bukkit/Statistic.java b/paper-api/src/main/java/org/bukkit/Statistic.java index bda1940333..5cb41f417e 100644 --- a/paper-api/src/main/java/org/bukkit/Statistic.java +++ b/paper-api/src/main/java/org/bukkit/Statistic.java @@ -88,7 +88,10 @@ public enum Statistic implements Keyed { RAID_TRIGGER, RAID_WIN, INTERACT_WITH_ANVIL, - INTERACT_WITH_GRINDSTONE; + INTERACT_WITH_GRINDSTONE, + TARGET_HIT, + INTERACT_WITH_SMITHING_TABLE, + STRIDER_ONE_CM; private final Type type; private final NamespacedKey key; diff --git a/paper-api/src/main/java/org/bukkit/StructureType.java b/paper-api/src/main/java/org/bukkit/StructureType.java index e062c90ead..8acb2b9de3 100644 --- a/paper-api/src/main/java/org/bukkit/StructureType.java +++ b/paper-api/src/main/java/org/bukkit/StructureType.java @@ -142,6 +142,21 @@ public final class StructureType { */ public static final StructureType PILLAGER_OUTPOST = register(new StructureType("pillager_outpost", MapCursor.Type.RED_X)); + /** + * Nether fossils. + */ + public static final StructureType NETHER_FOSSIL = register(new StructureType("nether_fossil", MapCursor.Type.RED_X)); + + /** + * Ruined portal. + */ + public static final StructureType RUINED_PORTAL = register(new StructureType("ruined_portal", MapCursor.Type.RED_X)); + + /** + * Bastion remnant. + */ + public static final StructureType BASTION_REMNANT = register(new StructureType("bastion_remnant", MapCursor.Type.RED_X)); + /* **************** * STRUCTURE TYPES REGISTERED ABOVE THIS * **************** diff --git a/paper-api/src/main/java/org/bukkit/Tag.java b/paper-api/src/main/java/org/bukkit/Tag.java index 1d93a12345..8ad4bd9ac9 100644 --- a/paper-api/src/main/java/org/bukkit/Tag.java +++ b/paper-api/src/main/java/org/bukkit/Tag.java @@ -60,10 +60,18 @@ public interface Tag extends Keyed { * Vanilla block tag representing all wooden fences. */ Tag WOODEN_FENCES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wooden_fences"), Material.class); + /** + * Vanilla block tag representing all pressure plates. + */ + Tag PRESSURE_PLATES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("pressure_plates"), Material.class); /** * Vanilla block tag representing all wooden pressure plates. */ Tag WOODEN_PRESSURE_PLATES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wooden_pressure_plates"), Material.class); + /** + * Vanilla block tag representing all stone pressure plates. + */ + Tag STONE_PRESSURE_PLATES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("stone_pressure_plates"), Material.class); /** * Vanilla block tag representing all wooden trapdoors. */ @@ -77,6 +85,10 @@ public interface Tag extends Keyed { * Vanilla block tag representing all sapling variants. */ Tag SAPLINGS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("saplings"), Material.class); + /** + * Vanilla block tag representing all log and bark variants that burn. + */ + Tag LOGS_THAT_BURN = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("logs_that_burn"), Material.class); /** * Vanilla block tag representing all log and bark variants. */ @@ -105,6 +117,14 @@ public interface Tag extends Keyed { * Vanilla block tag representing all spruce log and bark variants. */ Tag SPRUCE_LOGS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("spruce_logs"), Material.class); + /** + * Vanilla block tag representing all crimson stems. + */ + Tag CRIMSON_STEMS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("crimson_stems"), Material.class); + /** + * Vanilla block tag representing all warped stems. + */ + Tag WARPED_STEMS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("warped_stems"), Material.class); /** * Vanilla block tag representing all banner blocks. */ @@ -167,9 +187,17 @@ public interface Tag extends Keyed { */ Tag FLOWERS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("flowers"), Material.class); /** - * Vanilla block tag representing all shulker boxes. + * Vanilla block tag representing all piglin repellents. */ - Tag SHULKER_BOXES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("shulker_boxes"), Material.class); + Tag PIGLIN_REPELLENTS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("piglin_repellents"), Material.class); + /** + * Vanilla block tag representing all gold ores. + */ + Tag GOLD_ORES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("gold_ores"), Material.class); + /** + * Vanilla block tag representing all non flammable wood. + */ + Tag NON_FLAMMABLE_WOOD = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("non_flammable_wood"), Material.class); /** * Vanilla block tag denoting blocks that enderman may pick up and hold. */ @@ -222,7 +250,7 @@ public interface Tag extends Keyed { * Vanilla block tag representing all signs. */ Tag SIGNS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("signs"), Material.class); - /** + /** * Vanilla block tag representing all blocks immune to dragons. */ Tag DRAGON_IMMUNE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("dragon_immune"), Material.class); @@ -230,6 +258,10 @@ public interface Tag extends Keyed { * Vanilla block tag representing all blocks immune to withers. */ Tag WITHER_IMMUNE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wither_immune"), Material.class); + /** + * Vanilla block tag representing all base blocks used for wither summoning. + */ + Tag WITHER_SUMMON_BASE_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wither_summon_base_blocks"), Material.class); /** * Vanilla block tag representing all beehives. */ @@ -246,10 +278,93 @@ public interface Tag extends Keyed { * Vanilla block tag representing all portals. */ Tag PORTALS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("portals"), Material.class); + /** + * Vanilla block tag representing all fire blocks. + */ + Tag FIRE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("fire"), Material.class); + /** + * Vanilla block tag representing all nylium blocks. + */ + Tag NYLIUM = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("nylium"), Material.class); + /** + * Vanilla block tag representing all wart blocks. + */ + Tag WART_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wart_blocks"), Material.class); + /** + * Vanilla block tag representing all beacon base blocks. + */ + Tag BEACON_BASE_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("beacon_base_blocks"), Material.class); + /** + * Vanilla block tag representing all blocks affected by the soul speed enchantment. + */ + Tag SOUL_SPEED_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("soul_speed_blocks"), Material.class); + /** + * Vanilla block tag representing all wall post overrides. + */ + Tag WALL_POST_OVERRIDE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("wall_post_override"), Material.class); + /** + * Vanilla block tag representing all climbable blocks. + */ + Tag CLIMBABLE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("climbable"), Material.class); + /** + * Vanilla block tag representing all shulker boxes. + */ + Tag SHULKER_BOXES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("shulker_boxes"), Material.class); + /** + * Vanilla block tag representing all hoglin repellents. + */ + Tag HOGLIN_REPELLENTS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("hoglin_repellents"), Material.class); + /** + * Vanilla block tag representing all soul fire base blocks. + */ + Tag SOUL_FIRE_BASE_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("soul_fire_base_blocks"), Material.class); + /** + * Vanilla block tag representing all warm strider blocks. + */ + Tag STRIDER_WARM_BLOCKS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("strider_warm_blocks"), Material.class); + /** + * Vanilla block tag representing all campfires. + */ + Tag CAMPFIRES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("campfires"), Material.class); + /** + * Vanilla block tag representing all blocks guarded by piglins. + */ + Tag GUARDED_BY_PIGLINS = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("guarded_by_piglins"), Material.class); + /** + * Vanilla block tag representing all blocks that prevent inside mob + * spawning. + */ + Tag PREVENT_MOB_SPAWNING_INSIDE = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("prevent_mob_spawning_inside"), Material.class); + /** + * Vanilla block tag representing all fence gates. + */ + Tag FENCE_GATES = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("fence_gates"), Material.class); + /** + * Vanilla block tag representing all unstable bottom center blocks. + */ + Tag UNSTABLE_BOTTOM_CENTER = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("unstable_bottom_center"), Material.class); + /** + * Vanilla block tag representing all blocks that burn forever in the + * overworld. + */ + Tag INFINIBURN_OVERWORLD = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("infiniburn_overworld"), Material.class); + /** + * Vanilla block tag representing all blocks that burn forever in the + * nether. + */ + Tag INFINIBURN_NETHER = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("infiniburn_nether"), Material.class); + /** + * Vanilla block tag representing all blocks that burn forever in the end. + */ + Tag INFINIBURN_END = Bukkit.getTag(REGISTRY_BLOCKS, NamespacedKey.minecraft("infiniburn_end"), Material.class); /** * Key for the built in item registry. */ String REGISTRY_ITEMS = "items"; + /** + * Vanilla item tag representing all items loved by piglins. + */ + Tag ITEMS_PIGLIN_LOVED = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("piglin_loved"), Material.class); /** * Vanilla item tag representing all banner items. */ @@ -266,6 +381,10 @@ public interface Tag extends Keyed { * Vanilla item tag representing all music disc items. */ Tag ITEMS_MUSIC_DISCS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("music_discs"), Material.class); + /** + * Vanilla item tag representing all music disc items dropped by creepers. + */ + Tag ITEMS_CREEPER_DROP_MUSIC_DISCS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("creeper_drop_music_discs"), Material.class); /** * Vanilla item tag representing all coal items. */ @@ -278,6 +397,18 @@ public interface Tag extends Keyed { * Vanilla item tag representing all books that may be placed on lecterns. */ Tag ITEMS_LECTERN_BOOKS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("lectern_books"), Material.class); + /** + * Vanilla item tag representing all items that may be placed in beacons. + */ + Tag ITEMS_BEACON_PAYMENT_ITEMS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("beacon_payment_items"), Material.class); + /** + * Vanilla item tag representing all stone tool materials. + */ + Tag ITEMS_STONE_TOOL_MATERIALS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("stone_tool_materials"), Material.class); + /** + * Vanilla item tag representing all furnace materials. + */ + Tag ITEMS_FURNACE_MATERIALS = Bukkit.getTag(REGISTRY_ITEMS, NamespacedKey.minecraft("furnace_materials"), Material.class); /** * Returns whether or not this tag has an entry for the specified item. diff --git a/paper-api/src/main/java/org/bukkit/World.java b/paper-api/src/main/java/org/bukkit/World.java index 8ee5ce9c9a..a9d362389c 100644 --- a/paper-api/src/main/java/org/bukkit/World.java +++ b/paper-api/src/main/java/org/bukkit/World.java @@ -1502,8 +1502,12 @@ public interface World extends PluginMessageRecipient, Metadatable { * Gets the type of this world. * * @return Type of this world. + * @deprecated world type is only used to select the default word generation + * settings and is not stored in Vanilla worlds, making it impossible for + * this method to always return the correct value. */ @Nullable + @Deprecated public WorldType getWorldType(); /** diff --git a/paper-api/src/main/java/org/bukkit/WorldType.java b/paper-api/src/main/java/org/bukkit/WorldType.java index f98b13e717..c48b5579f7 100644 --- a/paper-api/src/main/java/org/bukkit/WorldType.java +++ b/paper-api/src/main/java/org/bukkit/WorldType.java @@ -11,11 +11,8 @@ import org.jetbrains.annotations.Nullable; public enum WorldType { NORMAL("DEFAULT"), FLAT("FLAT"), - VERSION_1_1("DEFAULT_1_1"), LARGE_BIOMES("LARGEBIOMES"), - AMPLIFIED("AMPLIFIED"), - CUSTOMIZED("CUSTOMIZED"), - BUFFET("BUFFET"); + AMPLIFIED("AMPLIFIED"); private static final Map BY_NAME = Maps.newHashMap(); private final String name; diff --git a/paper-api/src/main/java/org/bukkit/attribute/Attribute.java b/paper-api/src/main/java/org/bukkit/attribute/Attribute.java index b282dc863e..25df04ca6b 100644 --- a/paper-api/src/main/java/org/bukkit/attribute/Attribute.java +++ b/paper-api/src/main/java/org/bukkit/attribute/Attribute.java @@ -1,9 +1,14 @@ package org.bukkit.attribute; +import java.util.Locale; +import org.bukkit.Keyed; +import org.bukkit.NamespacedKey; +import org.jetbrains.annotations.NotNull; + /** * Types of attributes which may be present on an {@link Attributable}. */ -public enum Attribute { +public enum Attribute implements Keyed { /** * Maximum health of an Entity. @@ -53,4 +58,16 @@ public enum Attribute { * Chance of a zombie to spawn reinforcements. */ ZOMBIE_SPAWN_REINFORCEMENTS; + + private final NamespacedKey key; + + private Attribute() { + this.key = NamespacedKey.minecraft(this.name().toLowerCase(Locale.ROOT)); + } + + @NotNull + @Override + public NamespacedKey getKey() { + return key; + } } diff --git a/paper-api/src/main/java/org/bukkit/block/Biome.java b/paper-api/src/main/java/org/bukkit/block/Biome.java index 55386ffe0a..52a527bb5f 100644 --- a/paper-api/src/main/java/org/bukkit/block/Biome.java +++ b/paper-api/src/main/java/org/bukkit/block/Biome.java @@ -17,7 +17,7 @@ public enum Biome implements Keyed { TAIGA, SWAMP, RIVER, - NETHER, + NETHER_WASTES, THE_END, FROZEN_OCEAN, FROZEN_RIVER, @@ -83,7 +83,11 @@ public enum Biome implements Keyed { MODIFIED_WOODED_BADLANDS_PLATEAU, MODIFIED_BADLANDS_PLATEAU, BAMBOO_JUNGLE, - BAMBOO_JUNGLE_HILLS; + BAMBOO_JUNGLE_HILLS, + SOUL_SAND_VALLEY, + CRIMSON_FOREST, + WARPED_FOREST, + BASALT_DELTAS; private final NamespacedKey key; diff --git a/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java b/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java index 754582aa01..e6ce94ed2a 100644 --- a/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java +++ b/paper-api/src/main/java/org/bukkit/block/banner/PatternType.java @@ -46,7 +46,8 @@ public enum PatternType { SKULL("sku"), FLOWER("flo"), MOJANG("moj"), - GLOBE("glb"); + GLOBE("glb"), + PIGLIN("pig"); private final String identifier; private static final Map byString = new HashMap(); diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/Jigsaw.java b/paper-api/src/main/java/org/bukkit/block/data/type/Jigsaw.java new file mode 100644 index 0000000000..c70c755cdb --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/block/data/type/Jigsaw.java @@ -0,0 +1,44 @@ +package org.bukkit.block.data.type; + +import org.bukkit.block.data.BlockData; +import org.jetbrains.annotations.NotNull; + +/** + * 'orientation' is the direction the block is facing. + */ +public interface Jigsaw extends BlockData { + + /** + * Gets the value of the 'orientation' property. + * + * @return the 'orientation' value + */ + @NotNull + Orientation getOrientation(); + + /** + * Sets the value of the 'orientation' property. + * + * @param orientation the new 'orientation' value + */ + void setOrientation(@NotNull Orientation orientation); + + /** + * The directions the Jigsaw can be oriented. + */ + public enum Orientation { + + DOWN_EAST, + DOWN_NORTH, + DOWN_SOUTH, + DOWN_WEST, + UP_EAST, + UP_NORTH, + UP_SOUTH, + UP_WEST, + WEST_UP, + EAST_UP, + NORTH_UP, + SOUTH_UP; + } +} diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/RespawnAnchor.java b/paper-api/src/main/java/org/bukkit/block/data/type/RespawnAnchor.java new file mode 100644 index 0000000000..6d0a145fb2 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/block/data/type/RespawnAnchor.java @@ -0,0 +1,30 @@ +package org.bukkit.block.data.type; + +import org.bukkit.block.data.BlockData; + +/** + * 'charges' represents the amount of times the anchor may still be used. + */ +public interface RespawnAnchor extends BlockData { + + /** + * Gets the value of the 'charges' property. + * + * @return the 'charges' value + */ + int getCharges(); + + /** + * Sets the value of the 'charges' property. + * + * @param charges the new 'charges' value + */ + void setCharges(int charges); + + /** + * Gets the maximum allowed value of the 'charges' property. + * + * @return the maximum 'charges' value + */ + int getMaximumCharges(); +} diff --git a/paper-api/src/main/java/org/bukkit/block/data/type/Wall.java b/paper-api/src/main/java/org/bukkit/block/data/type/Wall.java new file mode 100644 index 0000000000..85594ec289 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/block/data/type/Wall.java @@ -0,0 +1,47 @@ +package org.bukkit.block.data.type; + +import org.bukkit.block.BlockFace; +import org.bukkit.block.data.Waterlogged; +import org.jetbrains.annotations.NotNull; + +/** + * This class encompasses the 'north', 'east', 'south', 'west', height flags + * which are used to set the height of a wall. + */ +public interface Wall extends Waterlogged { + + /** + * Gets the height of the specified face. + * + * @param face to check + * @return if face is enabled + */ + @NotNull + Height getHeight(@NotNull BlockFace face); + + /** + * Set the height of the specified face. + * + * @param face to set + * @param height the height + */ + void setHeight(@NotNull BlockFace face, @NotNull Height height); + + /** + * The different heights a face of a wall may have. + */ + public enum Height { + /** + * No wall present. + */ + NONE, + /** + * Low wall present. + */ + LOW, + /** + * Tall wall present. + */ + TALL; + } +} diff --git a/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java b/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java index d1885f178f..b833ef63fb 100644 --- a/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java +++ b/paper-api/src/main/java/org/bukkit/enchantments/Enchantment.java @@ -200,6 +200,11 @@ public abstract class Enchantment implements Keyed { */ public static final Enchantment VANISHING_CURSE = new EnchantmentWrapper("vanishing_curse"); + /** + * Walk quicker on soul blocks + */ + public static final Enchantment SOUL_SPEED = new EnchantmentWrapper("soul_speed"); + private static final Map byKey = new HashMap(); private static final Map byName = new HashMap(); private static boolean acceptingNew = true; diff --git a/paper-api/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/paper-api/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java index eefac382b7..c28f002ca2 100644 --- a/paper-api/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java +++ b/paper-api/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java @@ -8,21 +8,6 @@ import org.jetbrains.annotations.NotNull; * Represents the applicable target for a {@link Enchantment} */ public enum EnchantmentTarget { - /** - * Allows the Enchantment to be placed on all items - */ - ALL { - @Override - public boolean includes(@NotNull Material item) { - for (EnchantmentTarget target : EnchantmentTarget.values()) { - if (target != this && target.includes(item)) { - return true; - } - } - - return false; - } - }, /** * Allows the Enchantment to be placed on armor @@ -47,7 +32,8 @@ public enum EnchantmentTarget { || item.equals(Material.CHAINMAIL_BOOTS) || item.equals(Material.IRON_BOOTS) || item.equals(Material.DIAMOND_BOOTS) - || item.equals(Material.GOLDEN_BOOTS); + || item.equals(Material.GOLDEN_BOOTS) + || item.equals(Material.NETHERITE_BOOTS); } }, @@ -61,7 +47,8 @@ public enum EnchantmentTarget { || item.equals(Material.CHAINMAIL_LEGGINGS) || item.equals(Material.IRON_LEGGINGS) || item.equals(Material.DIAMOND_LEGGINGS) - || item.equals(Material.GOLDEN_LEGGINGS); + || item.equals(Material.GOLDEN_LEGGINGS) + || item.equals(Material.NETHERITE_LEGGINGS); } }, @@ -75,7 +62,8 @@ public enum EnchantmentTarget { || item.equals(Material.CHAINMAIL_CHESTPLATE) || item.equals(Material.IRON_CHESTPLATE) || item.equals(Material.DIAMOND_CHESTPLATE) - || item.equals(Material.GOLDEN_CHESTPLATE); + || item.equals(Material.GOLDEN_CHESTPLATE) + || item.equals(Material.NETHERITE_CHESTPLATE); } }, @@ -90,7 +78,8 @@ public enum EnchantmentTarget { || item.equals(Material.DIAMOND_HELMET) || item.equals(Material.IRON_HELMET) || item.equals(Material.GOLDEN_HELMET) - || item.equals(Material.TURTLE_HELMET); + || item.equals(Material.TURTLE_HELMET) + || item.equals(Material.NETHERITE_HELMET); } }, @@ -104,7 +93,8 @@ public enum EnchantmentTarget { || item.equals(Material.STONE_SWORD) || item.equals(Material.IRON_SWORD) || item.equals(Material.DIAMOND_SWORD) - || item.equals(Material.GOLDEN_SWORD); + || item.equals(Material.GOLDEN_SWORD) + || item.equals(Material.NETHERITE_SWORD); } }, @@ -119,16 +109,25 @@ public enum EnchantmentTarget { || item.equals(Material.IRON_SHOVEL) || item.equals(Material.DIAMOND_SHOVEL) || item.equals(Material.GOLDEN_SHOVEL) + || item.equals(Material.NETHERITE_SHOVEL) || item.equals(Material.WOODEN_PICKAXE) || item.equals(Material.STONE_PICKAXE) || item.equals(Material.IRON_PICKAXE) || item.equals(Material.DIAMOND_PICKAXE) || item.equals(Material.GOLDEN_PICKAXE) + || item.equals(Material.NETHERITE_PICKAXE) || item.equals(Material.WOODEN_AXE) || item.equals(Material.STONE_AXE) || item.equals(Material.IRON_AXE) || item.equals(Material.DIAMOND_AXE) - || item.equals(Material.GOLDEN_AXE); + || item.equals(Material.GOLDEN_AXE) + || item.equals(Material.NETHERITE_AXE) + || item.equals(Material.WOODEN_HOE) + || item.equals(Material.STONE_HOE) + || item.equals(Material.IRON_HOE) + || item.equals(Material.DIAMOND_HOE) + || item.equals(Material.GOLDEN_HOE) + || item.equals(Material.NETHERITE_HOE); } }, @@ -199,6 +198,16 @@ public enum EnchantmentTarget { public boolean includes(@NotNull Material item) { return item.equals(Material.CROSSBOW); } + }, + + /** + * Allow the Enchantment to be placed on vanishing items. + */ + VANISHABLE { + @Override + public boolean includes(@NotNull Material item) { + return BREAKABLE.includes(item) || (WEARABLE.includes(item) && !item.equals(Material.ELYTRA)) || item.equals(Material.COMPASS); + } }; /** 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 ad12496e64..98ebed7d90 100644 --- a/paper-api/src/main/java/org/bukkit/entity/EntityType.java +++ b/paper-api/src/main/java/org/bukkit/entity/EntityType.java @@ -213,7 +213,7 @@ public enum EntityType implements Keyed { ZOMBIE("zombie", Zombie.class, 54), SLIME("slime", Slime.class, 55), GHAST("ghast", Ghast.class, 56), - PIG_ZOMBIE("zombie_pigman", PigZombie.class, 57), + ZOMBIFIED_PIGLIN("zombified_piglin", PigZombie.class, 57), ENDERMAN("enderman", Enderman.class, 58), CAVE_SPIDER("cave_spider", CaveSpider.class, 59), SILVERFISH("silverfish", Silverfish.class, 60), @@ -261,6 +261,10 @@ public enum EntityType implements Keyed { WANDERING_TRADER("wandering_trader", WanderingTrader.class, -1), FOX("fox", Fox.class, -1), BEE("bee", Bee.class, -1), + HOGLIN("hoglin", Hoglin.class, -1), + PIGLIN("piglin", Piglin.class, -1), + STRIDER("strider", Strider.class, -1), + ZOGLIN("zoglin", Zoglin.class, -1), /** * A fishing line and bobber. */ @@ -309,6 +313,7 @@ public enum EntityType implements Keyed { NAME_MAP.put("snowman", SNOWMAN); NAME_MAP.put("villager_golem", IRON_GOLEM); NAME_MAP.put("ender_crystal", ENDER_CRYSTAL); + NAME_MAP.put("zombie_pigman", ZOMBIFIED_PIGLIN); } private EntityType(/*@Nullable*/ String name, /*@Nullable*/ Class clazz, int typeId) { diff --git a/paper-api/src/main/java/org/bukkit/entity/Firework.java b/paper-api/src/main/java/org/bukkit/entity/Firework.java index f844d5aa98..05e86cb9d8 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Firework.java +++ b/paper-api/src/main/java/org/bukkit/entity/Firework.java @@ -3,7 +3,7 @@ package org.bukkit.entity; import org.bukkit.inventory.meta.FireworkMeta; import org.jetbrains.annotations.NotNull; -public interface Firework extends Entity { +public interface Firework extends Projectile { /** * Get a copy of the fireworks meta diff --git a/paper-api/src/main/java/org/bukkit/entity/Hoglin.java b/paper-api/src/main/java/org/bukkit/entity/Hoglin.java new file mode 100644 index 0000000000..3ffe276c81 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/entity/Hoglin.java @@ -0,0 +1,6 @@ +package org.bukkit.entity; + +/** + * Represents a Hoglin. + */ +public interface Hoglin extends Animals { } diff --git a/paper-api/src/main/java/org/bukkit/entity/HumanEntity.java b/paper-api/src/main/java/org/bukkit/entity/HumanEntity.java index a7f08bb1c0..19424479ca 100644 --- a/paper-api/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/paper-api/src/main/java/org/bukkit/entity/HumanEntity.java @@ -230,31 +230,6 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ public int getSleepTicks(); - /** - * Gets the Location where the player will spawn at their bed, null if - * they have not slept in one or their current bed spawn is invalid. - * - * @return Bed Spawn Location if bed exists, otherwise null. - */ - @Nullable - public Location getBedSpawnLocation(); - - /** - * Sets the Location where the player will spawn at their bed. - * - * @param location where to set the respawn location - */ - public void setBedSpawnLocation(@Nullable Location location); - - /** - * Sets the Location where the player will spawn at their bed. - * - * @param location where to set the respawn location - * @param force whether to forcefully set the respawn location even if a - * valid bed is not present - */ - public void setBedSpawnLocation(@Nullable Location location, boolean force); - /** * Attempts to make the entity sleep at the given location. *
diff --git a/paper-api/src/main/java/org/bukkit/entity/Piglin.java b/paper-api/src/main/java/org/bukkit/entity/Piglin.java new file mode 100644 index 0000000000..2c8fdb69cb --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/entity/Piglin.java @@ -0,0 +1,6 @@ +package org.bukkit.entity; + +/** + * Represents a Piglin. + */ +public interface Piglin extends Monster { } diff --git a/paper-api/src/main/java/org/bukkit/entity/Player.java b/paper-api/src/main/java/org/bukkit/entity/Player.java index 79f9534d34..263b242b40 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Player.java +++ b/paper-api/src/main/java/org/bukkit/entity/Player.java @@ -225,6 +225,32 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public boolean isSleepingIgnored(); + /** + * Gets the Location where the player will spawn at their bed, null if + * they have not slept in one or their current bed spawn is invalid. + * + * @return Bed Spawn Location if bed exists, otherwise null. + */ + @Nullable + @Override + public Location getBedSpawnLocation(); + + /** + * Sets the Location where the player will spawn at their bed. + * + * @param location where to set the respawn location + */ + public void setBedSpawnLocation(@Nullable Location location); + + /** + * Sets the Location where the player will spawn at their bed. + * + * @param location where to set the respawn location + * @param force whether to forcefully set the respawn location even if a + * valid bed is not present + */ + public void setBedSpawnLocation(@Nullable Location location, boolean force); + /** * Play a note for a player at a location. This requires a note block * at the particular location (as far as the client is concerned). This diff --git a/paper-api/src/main/java/org/bukkit/entity/Strider.java b/paper-api/src/main/java/org/bukkit/entity/Strider.java new file mode 100644 index 0000000000..4d2dbeaddc --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/entity/Strider.java @@ -0,0 +1,6 @@ +package org.bukkit.entity; + +/** + * Represents a Strider. + */ +public interface Strider extends Animals, Vehicle { } diff --git a/paper-api/src/main/java/org/bukkit/entity/Zoglin.java b/paper-api/src/main/java/org/bukkit/entity/Zoglin.java new file mode 100644 index 0000000000..c4a1de522a --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/entity/Zoglin.java @@ -0,0 +1,6 @@ +package org.bukkit.entity; + +/** + * Represents a Zoglin. + */ +public interface Zoglin extends Monster { } 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 8a5c92a68b..3aa8a30a5f 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 @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; +import java.util.UUID; import org.bukkit.Keyed; import org.bukkit.Location; import org.bukkit.NamespacedKey; @@ -46,11 +47,17 @@ public final class MemoryKey implements Keyed { private static final Map MEMORY_KEYS = new HashMap<>(); // public static final MemoryKey HOME = new MemoryKey<>(NamespacedKey.minecraft("home"), Location.class); - public static final MemoryKey MEETING_POINT = new MemoryKey<>(NamespacedKey.minecraft("meeting_point"), Location.class); + 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 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); + public static final MemoryKey UNIVERSAL_ANGER = new MemoryKey<>(NamespacedKey.minecraft("universal_anger"), Boolean.class); + public static final MemoryKey ANGRY_AT = new MemoryKey<>(NamespacedKey.minecraft("angry_at"), UUID.class); + public static final MemoryKey ADMIRING_ITEM = new MemoryKey<>(NamespacedKey.minecraft("admiring_item"), Boolean.class); + public static final MemoryKey ADMIRING_DISABLED = new MemoryKey<>(NamespacedKey.minecraft("admiring_disabled"), Boolean.class); + public static final MemoryKey HUNTED_RECENTLY = new MemoryKey<>(NamespacedKey.minecraft("hunted_recently"), Boolean.class); /** * Returns a {@link MemoryKey} by a {@link NamespacedKey}. diff --git a/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java b/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java index 10c3b6d75c..b59fec1ae5 100644 --- a/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/paper-api/src/main/java/org/bukkit/event/inventory/InventoryType.java @@ -81,6 +81,10 @@ public enum InventoryType { * An anvil inventory, with 2 CRAFTING slots and 1 RESULT slot */ ANVIL(3, "Repairing"), + /** + * A smithing inventory, with 2 CRAFTING slots and 1 RESULT slot + */ + SMITHING(3, "Smithing"), /** * A beacon inventory, with 1 CRAFTING slot */ diff --git a/paper-api/src/main/java/org/bukkit/inventory/InventoryView.java b/paper-api/src/main/java/org/bukkit/inventory/InventoryView.java index 408a05886e..14346d83bc 100644 --- a/paper-api/src/main/java/org/bukkit/inventory/InventoryView.java +++ b/paper-api/src/main/java/org/bukkit/inventory/InventoryView.java @@ -370,6 +370,7 @@ public abstract class InventoryView { type = InventoryType.SlotType.CRAFTING; break; case ANVIL: + case SMITHING: case CARTOGRAPHY: case GRINDSTONE: case MERCHANT: diff --git a/paper-api/src/main/java/org/bukkit/inventory/SmithingInventory.java b/paper-api/src/main/java/org/bukkit/inventory/SmithingInventory.java new file mode 100644 index 0000000000..616495f851 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/inventory/SmithingInventory.java @@ -0,0 +1,6 @@ +package org.bukkit.inventory; + +/** + * Interface to the inventory of a Smithing table. + */ +public interface SmithingInventory extends Inventory { } diff --git a/paper-api/src/main/java/org/bukkit/loot/LootTables.java b/paper-api/src/main/java/org/bukkit/loot/LootTables.java index 7e83073997..4d42e692d3 100644 --- a/paper-api/src/main/java/org/bukkit/loot/LootTables.java +++ b/paper-api/src/main/java/org/bukkit/loot/LootTables.java @@ -26,6 +26,11 @@ public enum LootTables implements Keyed { JUNGLE_TEMPLE_DISPENSER("chests/jungle_temple_dispenser"), NETHER_BRIDGE("chests/nether_bridge"), PILLAGER_OUTPOST("chests/pillager_outpost"), + BASTION_TREASURE("chests/bastion_treasure"), + BASTION_OTHER("chests/bastion_other"), + BASTION_BRIDGE("chests/bastion_bridge"), + BASTION_HOGLIN_STABLE("chests/bastion_hoglin_stable"), + RUINED_PORTAL("chests/ruined_portal"), SHIPWRECK_MAP("chests/shipwreck_map"), SHIPWRECK_SUPPLY("chests/shipwreck_supply"), SHIPWRECK_TREASURE("chests/shipwreck_treasure"), @@ -138,6 +143,7 @@ public enum LootTables implements Keyed { SHEPHERD_GIFT("gameplay/hero_of_the_village/shepherd_gift"), TOOLSMITH_GIFT("gameplay/hero_of_the_village/toolsmith_gift"), WEAPONSMITH_GIFT("gameplay/hero_of_the_village/weaponsmith_gift"), + PIGLIN_BARTERING("gameplay/piglin_bartering"), // Sheep SHEEP("entities/sheep"), SHEEP_BLACK("entities/sheep/black"), diff --git a/paper-api/src/main/java/org/bukkit/map/MapPalette.java b/paper-api/src/main/java/org/bukkit/map/MapPalette.java index 8c3016d47b..c17c3ebe75 100644 --- a/paper-api/src/main/java/org/bukkit/map/MapPalette.java +++ b/paper-api/src/main/java/org/bukkit/map/MapPalette.java @@ -86,7 +86,14 @@ public final class MapPalette { c(53, 35, 24), c(65, 43, 30), c(76, 50, 35), c(40, 26, 18), c(53, 57, 29), c(65, 70, 36), c(76, 82, 42), c(40, 43, 22), c(100, 42, 32), c(122, 51, 39), c(142, 60, 46), c(75, 31, 24), - c(26, 15, 11), c(31, 18, 13), c(37, 22, 16), c(19, 11, 8) + c(26, 15, 11), c(31, 18, 13), c(37, 22, 16), c(19, 11, 8), + c(133, 33, 34), c(163, 41, 42), c(189, 48, 49), c(100, 25, 25), + c(104, 44, 68), c(127, 54, 83), c(148, 63, 97), c(78, 33, 51), + c(64, 17, 20), c(79, 21, 25), c(92, 25, 29), c(48, 13, 15), + c(15, 88, 94), c(18, 108, 115), c(22, 126, 134), c(11, 66, 70), + c(40, 100, 98), c(50, 122, 120), c(58, 142, 140), c(30, 75, 74), + c(60, 31, 43), c(74, 37, 53), c(86, 44, 62), c(45, 23, 32), + c(14, 127, 93), c(17, 155, 114), c(20, 180, 133), c(10, 95, 70) }; // Interface diff --git a/paper-api/src/test/java/org/bukkit/EntityEffectTest.java b/paper-api/src/test/java/org/bukkit/EntityEffectTest.java deleted file mode 100644 index a50dac4fe1..0000000000 --- a/paper-api/src/test/java/org/bukkit/EntityEffectTest.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.bukkit; - -import static org.hamcrest.CoreMatchers.*; -import static org.junit.Assert.*; -import org.junit.Test; - -public class EntityEffectTest { - @Test - public void getByData() { - for (EntityEffect entityEffect : EntityEffect.values()) { - assertThat(EntityEffect.getByData(entityEffect.getData()), is(entityEffect)); - } - } -}