diff --git a/server/Jenkinsfile b/server/Jenkinsfile index a11bf8b32..6f5deed4a 100644 --- a/server/Jenkinsfile +++ b/server/Jenkinsfile @@ -9,11 +9,11 @@ pipeline { } stages { stage ('Build') { - when { anyOf { + when { not { anyOf { branch 'stable' branch 'beta' branch 'bleeding' - }} + }}} steps { sh 'mvn clean package' diff --git a/server/README.md b/server/README.md index a826810c7..f200f496b 100644 --- a/server/README.md +++ b/server/README.md @@ -22,9 +22,9 @@ Links * __[News](https://cloudburstmc.org)__ * __[Forums](https://cloudburstmc.org/forums)__ * __[Discord](https://discord.gg/5PzMkyK)__ -* __[Download](https://ci.nukkitx.com/job/NukkitX/job/Server/job/master/)__ -* __[Plugins](https://cloudburstmc.org/resources/categories/nukkit-plugins.1)__ -* __[Wiki](https://cloudburstmc.org/wiki/nukkit)__ +* __[Download](https://ci.opencollab.dev/job/NukkitX/job/Server/job/bleeding/)__ +* __[Plugins](https://cloudburstmc.org/resources/categories/cloudburst-plugins.19/)__ +* __[Wiki](https://cloudburstmc.org/wiki/cloudburst)__ Build JAR file ------------- diff --git a/server/src/main/java/org/cloudburstmc/server/block/serializer/MultiBlockSerializers.java b/server/src/main/java/org/cloudburstmc/server/block/serializer/MultiBlockSerializers.java index 823137511..f84f838fe 100644 --- a/server/src/main/java/org/cloudburstmc/server/block/serializer/MultiBlockSerializers.java +++ b/server/src/main/java/org/cloudburstmc/server/block/serializer/MultiBlockSerializers.java @@ -110,6 +110,7 @@ public class MultiBlockSerializers { .add(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.DARK_OAK.name().toLowerCase(), LOG2) .add(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_STEM, true) .add(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_STEM, true) + .add(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), MANGROVE_LOG, true) .add( STRIPPED_OAK_LOG, Builder.combine(BedrockStateTags.TAG_OLD_LOG_TYPE, TreeSpecies.OAK.name().toLowerCase(), true), @@ -150,6 +151,11 @@ public class MultiBlockSerializers { Builder.combine(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.WARPED.name().toLowerCase(), true), Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, true) ) + .add( + STRIPPED_MANGROVE_LOG, + Builder.combine(BedrockStateTags.TAG_NEW_LOG_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true), + Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, true) + ) .buildSerializer(); public static final MultiBlockSerializer LEAVES = builder() @@ -157,6 +163,14 @@ public class MultiBlockSerializers { .add(BedrockStateTags.TAG_NEW_LEAF_TYPE, LEAVES2) .buildSerializer(); +// public static final MultiBlockSerializer SAPLING = builder() +// .add( +// MANGROVE_PROPAGULE, +// Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(Locale.ROOT), true) +// ) +// .defaultId(BlockIds.SAPLING) +// .buildSerializer(); + // public static final MultiBlockSerializer SAPLING = builder() // .add(BedrockStateTags.TAG_SAPLING_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_FUNGUS, true) // .add(BedrockStateTags.TAG_SAPLING_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_FUNGUS, true) @@ -206,6 +220,7 @@ public class MultiBlockSerializers { public static final MultiBlockSerializer PLANKS = builder() .add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_PLANKS, true) .add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_PLANKS, true) + .add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), MANGROVE_PLANKS, true) .defaultId(BlockIds.OAK_PLANKS) .buildSerializer(); @@ -217,7 +232,8 @@ public class MultiBlockSerializers { ACACIA_STAIRS, DARK_OAK_STAIRS, CRIMSON_STAIRS, - WARPED_STAIRS + WARPED_STAIRS, + MANGROVE_STAIRS ); public static final MultiBlockSerializer WOOD_BUTTON = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE, @@ -228,7 +244,8 @@ public class MultiBlockSerializers { ACACIA_BUTTON, DARK_OAK_BUTTON, CRIMSON_BUTTON, - WARPED_BUTTON + WARPED_BUTTON, + MANGROVE_BUTTON ); public static final MultiBlockSerializer WOOD_DOOR = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE, @@ -239,7 +256,8 @@ public class MultiBlockSerializers { ACACIA_DOOR, DARK_OAK_DOOR, CRIMSON_DOOR, - WARPED_DOOR + WARPED_DOOR, + MANGROVE_DOOR ); public static final MultiBlockSerializer WOOD_FENCE_GATE = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE, @@ -250,7 +268,8 @@ public class MultiBlockSerializers { ACACIA_FENCE_GATE, DARK_OAK_FENCE_GATE, CRIMSON_FENCE_GATE, - WARPED_FENCE_GATE + WARPED_FENCE_GATE, + MANGROVE_FENCE_GATE ); public static final MultiBlockSerializer WOOD_PRESSURE_PLATE = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE, @@ -261,7 +280,8 @@ public class MultiBlockSerializers { ACACIA_PRESSURE_PLATE, DARK_OAK_PRESSURE_PLATE, CRIMSON_PRESSURE_PLATE, - WARPED_PRESSURE_PLATE + WARPED_PRESSURE_PLATE, + MANGROVE_PRESSURE_PLATE ); public static final MultiBlockSerializer WOOD_STANDING_SIGN = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE, @@ -272,7 +292,8 @@ public class MultiBlockSerializers { ACACIA_STANDING_SIGN, DARK_OAK_STANDING_SIGN, CRIMSON_STANDING_SIGN, - WARPED_STANDING_SIGN + WARPED_STANDING_SIGN, + MANGROVE_STANDING_SIGN ); public static final MultiBlockSerializer WOOD_TRAPDOOR = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE, @@ -283,7 +304,8 @@ public class MultiBlockSerializers { ACACIA_TRAPDOOR, DARK_OAK_TRAPDOOR, CRIMSON_TRAPDOOR, - WARPED_TRAPDOOR + WARPED_TRAPDOOR, + MANGROVE_TRAPDOOR ); public static final MultiBlockSerializer WOOD_WALL_SIGN = buildTreeSpecies(BedrockStateTags.TAG_WOOD_TYPE, @@ -294,12 +316,14 @@ public class MultiBlockSerializers { ACACIA_WALL_SIGN, DARK_OAK_WALL_SIGN, CRIMSON_WALL_SIGN, - WARPED_WALL_SIGN + WARPED_WALL_SIGN, + MANGROVE_WALL_SIGN ); public static final MultiBlockSerializer WOOD_FENCE = builder() .add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_FENCE, true) .add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_FENCE, true) + .add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), MANGROVE_FENCE, true) .defaultId(BlockIds.FENCE) .buildSerializer(); @@ -314,6 +338,16 @@ public class MultiBlockSerializers { Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), true), Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, false, true) ) + .add( + MANGROVE_WOOD, + Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true), + Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, false, false) + ) + .add( + MANGROVE_WOOD, + Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true), + Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, false) + ) .add( STRIPPED_CRIMSON_HYPHAE, Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), true), @@ -324,6 +358,11 @@ public class MultiBlockSerializers { Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), true), Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, true) ) +// .add( +// STRIPPED_MANGROVE_WOOD, +// Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true), +// Builder.combine(BedrockStateTags.TAG_STRIPPED_BIT, true, false) +// ) .defaultId(BlockIds.WOOD) .buildSerializer(); @@ -331,6 +370,7 @@ public class MultiBlockSerializers { .removeTrait("slab_slot") .add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), WARPED_SLAB, true) .add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.CRIMSON.name().toLowerCase(), CRIMSON_SLAB, true) + .add(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), MANGROVE_SLAB, true) .add(DOUBLE_WOODEN_SLAB, Builder.combine("slab_slot")) .add( CRIMSON_DOUBLE_SLAB, @@ -342,6 +382,11 @@ public class MultiBlockSerializers { Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.WARPED.name().toLowerCase(), true), Builder.combine("slab_slot") ) + .add( + MANGROVE_DOUBLE_SLAB, + Builder.combine(BedrockStateTags.TAG_WOOD_TYPE, TreeSpecies.MANGROVE.name().toLowerCase(), true), + Builder.combine("slab_slot") + ) .baseSerializer(NoopBlockSerializer.INSTANCE) .defaultId(BlockIds.OAK_SLAB) .buildSerializer(); diff --git a/server/src/main/java/org/cloudburstmc/server/block/serializer/util/BedrockStateTags.java b/server/src/main/java/org/cloudburstmc/server/block/serializer/util/BedrockStateTags.java index f8db94f62..1fc0cb3f0 100644 --- a/server/src/main/java/org/cloudburstmc/server/block/serializer/util/BedrockStateTags.java +++ b/server/src/main/java/org/cloudburstmc/server/block/serializer/util/BedrockStateTags.java @@ -49,6 +49,7 @@ public class BedrockStateTags { public static final String TAG_FLOWER_TYPE = "flower_type"; public static final String TAG_GROUND_SIGN_DIRECTION = "ground_sign_direction"; public static final String TAG_GROWTH = "growth"; + public static final String TAG_PROPAGULE_STAGE = "propagule_stage"; public static final String TAG_HANGING = "hanging"; public static final String TAG_HEAD_PIECE_BIT = "head_piece_bit"; public static final String TAG_HEIGHT = "height"; diff --git a/server/src/main/java/org/cloudburstmc/server/block/trait/serializer/TreeSpeciesSerializer.java b/server/src/main/java/org/cloudburstmc/server/block/trait/serializer/TreeSpeciesSerializer.java index 711b406bf..7de02b0f7 100644 --- a/server/src/main/java/org/cloudburstmc/server/block/trait/serializer/TreeSpeciesSerializer.java +++ b/server/src/main/java/org/cloudburstmc/server/block/trait/serializer/TreeSpeciesSerializer.java @@ -49,7 +49,8 @@ public String getName(BlockType type, Map, Comparable> traits, species = (TreeSpecies) traits.get(BlockTraits.TREE_SPECIES_NETHER); } - int index = species.ordinal() >> 2; +// System.out.println(species.name()); + int index = species.ordinal() < 4 ? 0 : 1; if (type == BlockTypes.LOG) { return BEDROCK_LOG_TRAITS[index]; diff --git a/server/src/main/java/org/cloudburstmc/server/blockentity/JukeboxBlockEntity.java b/server/src/main/java/org/cloudburstmc/server/blockentity/JukeboxBlockEntity.java index 814d08282..c26ffa12b 100644 --- a/server/src/main/java/org/cloudburstmc/server/blockentity/JukeboxBlockEntity.java +++ b/server/src/main/java/org/cloudburstmc/server/blockentity/JukeboxBlockEntity.java @@ -39,6 +39,7 @@ public class JukeboxBlockEntity extends BaseBlockEntity implements Jukebox { SOUND_MAP.put(Record.WARD, SoundEvent.RECORD_WARD); SOUND_MAP.put(Record.ELEVEN, SoundEvent.RECORD_11); SOUND_MAP.put(Record.WAIT, SoundEvent.RECORD_WAIT); + SOUND_MAP.put(Record.PIGSTEP, SoundEvent.RECORD_PIGSTEP); } private ItemStack recordItem; diff --git a/server/src/main/java/org/cloudburstmc/server/command/defaults/EnchantCommand.java b/server/src/main/java/org/cloudburstmc/server/command/defaults/EnchantCommand.java index 50adf8974..5bce75478 100644 --- a/server/src/main/java/org/cloudburstmc/server/command/defaults/EnchantCommand.java +++ b/server/src/main/java/org/cloudburstmc/server/command/defaults/EnchantCommand.java @@ -117,6 +117,7 @@ public short getIdByName(String value) throws NumberFormatException { case "silk_touch": return 16; case "durability": + case "unbreaking": return 17; case "fortune": return 18; @@ -142,9 +143,9 @@ public short getIdByName(String value) throws NumberFormatException { return 28; case "impaling": return 29; - case "loyality": - return 30; case "riptide": + return 30; + case "loyalty": return 31; case "channeling": return 32; diff --git a/server/src/main/java/org/cloudburstmc/server/command/defaults/KillCommand.java b/server/src/main/java/org/cloudburstmc/server/command/defaults/KillCommand.java index 2e0180572..e149ed978 100644 --- a/server/src/main/java/org/cloudburstmc/server/command/defaults/KillCommand.java +++ b/server/src/main/java/org/cloudburstmc/server/command/defaults/KillCommand.java @@ -74,6 +74,10 @@ public boolean execute(CommandSender sender, String commandLabel, String[] args) sender.sendMessage(new TranslationContainer(TextFormat.RED + "%commands.generic.permission")); return true; } + if (!(sender instanceof CloudPlayer)) { + sender.sendMessage(new TranslationContainer("commands.locate.fail.noplayer")); + return true; + } EntityDamageEvent ev = new EntityDamageEvent((CloudPlayer) sender, EntityDamageEvent.DamageCause.SUICIDE, 1000); sender.getServer().getEventManager().fire(ev); if (ev.isCancelled()) { diff --git a/server/src/main/java/org/cloudburstmc/server/entity/EntityHuman.java b/server/src/main/java/org/cloudburstmc/server/entity/EntityHuman.java index d396ff073..daff62d30 100644 --- a/server/src/main/java/org/cloudburstmc/server/entity/EntityHuman.java +++ b/server/src/main/java/org/cloudburstmc/server/entity/EntityHuman.java @@ -146,7 +146,7 @@ public void loadAdditionalData(NbtMap tag) { skinTag.listenForString("GeometryName", skin::geometryName); skinTag.listenForString("SkinResourcePatch", skin::skinResourcePatch); skinTag.listenForByteArray("GeometryData", bytes -> skin.geometryData(new String(bytes, UTF_8))); - skinTag.listenForByteArray("AnimationData", bytes -> skin.animationData(new String(bytes, UTF_8))); + skinTag.listenForByteArray("SkinAnimationData", bytes -> skin.animationData(new String(bytes, UTF_8))); skinTag.listenForBoolean("PremiumSkin", skin::premium); skinTag.listenForBoolean("PersonaSkin", skin::persona); skinTag.listenForBoolean("CapeOnClassicSkin", skin::capeOnClassic); @@ -188,7 +188,7 @@ public void saveAdditionalData(NbtMapBuilder tag) { .putInt("CapeImageHeight", nbtSkin.getCapeData().getHeight()) .putByteArray("SkinResourcePatch", nbtSkin.getSkinResourcePatch().getBytes(UTF_8)) .putByteArray("GeometryData", nbtSkin.getGeometryData().getBytes(UTF_8)) - .putByteArray("AnimationData", nbtSkin.getAnimationData().getBytes(UTF_8)) + .putByteArray("SkinAnimationData", nbtSkin.getAnimationData().getBytes(UTF_8)) .putBoolean("PremiumSkin", nbtSkin.isPremium()) .putBoolean("PersonaSkin", nbtSkin.isPersona()) .putBoolean("CapeOnClassicSkin", nbtSkin.isCapeOnClassic()); @@ -204,7 +204,7 @@ public void saveAdditionalData(NbtMapBuilder tag) { .putByteArray("Image", animation.getImage().getImage()) .build()); } - skinTag.putList("AnimationImageData", NbtType.COMPOUND, animationsTag); + skinTag.putList("AnimatedImageData", NbtType.COMPOUND, animationsTag); } tag.putCompound("Skin", skinTag.build()); } diff --git a/server/src/main/java/org/cloudburstmc/server/entity/projectile/EntityProjectile.java b/server/src/main/java/org/cloudburstmc/server/entity/projectile/EntityProjectile.java index 69c5a3602..947c265b2 100644 --- a/server/src/main/java/org/cloudburstmc/server/entity/projectile/EntityProjectile.java +++ b/server/src/main/java/org/cloudburstmc/server/entity/projectile/EntityProjectile.java @@ -82,7 +82,7 @@ public void onCollideWithEntity(Entity entity) { if (this.fireTicks > 0) { EntityCombustByEntityEvent event = new EntityCombustByEntityEvent(this, entity, 5); - this.server.getEventManager().fire(ev); + this.server.getEventManager().fire(event); if (!event.isCancelled()) { entity.setOnFire(event.getDuration()); } diff --git a/server/src/main/java/org/cloudburstmc/server/inventory/CloudPlayerInventory.java b/server/src/main/java/org/cloudburstmc/server/inventory/CloudPlayerInventory.java index 6a27624dc..e718b0576 100644 --- a/server/src/main/java/org/cloudburstmc/server/inventory/CloudPlayerInventory.java +++ b/server/src/main/java/org/cloudburstmc/server/inventory/CloudPlayerInventory.java @@ -70,7 +70,7 @@ public boolean equipItem(int slot) { } private boolean isHotbarSlot(int slot) { - return slot >= 0 && slot <= this.getHotbarSize(); + return slot >= 0 && slot < this.getHotbarSize(); } private PlayerCursorInventory getCursor() { diff --git a/server/src/main/java/org/cloudburstmc/server/item/serializer/TreeSpeciesSerializer.java b/server/src/main/java/org/cloudburstmc/server/item/serializer/TreeSpeciesSerializer.java index ddb112f5f..47415a00f 100644 --- a/server/src/main/java/org/cloudburstmc/server/item/serializer/TreeSpeciesSerializer.java +++ b/server/src/main/java/org/cloudburstmc/server/item/serializer/TreeSpeciesSerializer.java @@ -18,9 +18,11 @@ public class TreeSpeciesSerializer extends DefaultItemSerializer { private static final Map, Object> DEFAULT_VALUES; - public static final TreeSpeciesSerializer DOOR = new TreeSpeciesSerializer(ItemIds.WOODEN_DOOR, ItemIds.SPRUCE_DOOR, ItemIds.BIRCH_DOOR, ItemIds.JUNGLE_DOOR, ItemIds.ACACIA_DOOR, ItemIds.DARK_OAK_DOOR, ItemIds.CRIMSON_DOOR, ItemIds.WARPED_DOOR); - public static final TreeSpeciesSerializer SIGN = new TreeSpeciesSerializer(ItemIds.SIGN, ItemIds.SPRUCE_SIGN, ItemIds.BIRCH_SIGN, ItemIds.JUNGLE_SIGN, ItemIds.ACACIA_SIGN, ItemIds.DARK_OAK_SIGN, ItemIds.CRIMSON_SIGN, ItemIds.WARPED_SIGN); - public static final TreeSpeciesSerializer BOAT = new TreeSpeciesSerializer(ItemIds.OAK_BOAT, ItemIds.SPRUCE_BOAT, ItemIds.BIRCH_BOAT, ItemIds.JUNGLE_BOAT, ItemIds.ACACIA_BOAT, ItemIds.DARK_OAK_BOAT, ItemIds.BOAT, ItemIds.BOAT); + public static final TreeSpeciesSerializer DOOR = new TreeSpeciesSerializer(ItemIds.WOODEN_DOOR, ItemIds.SPRUCE_DOOR, ItemIds.BIRCH_DOOR, ItemIds.JUNGLE_DOOR, ItemIds.ACACIA_DOOR, ItemIds.DARK_OAK_DOOR, ItemIds.CRIMSON_DOOR, ItemIds.WARPED_DOOR, ItemIds.MANGROVE_DOOR); + public static final TreeSpeciesSerializer SIGN = new TreeSpeciesSerializer(ItemIds.SIGN, ItemIds.SPRUCE_SIGN, ItemIds.BIRCH_SIGN, ItemIds.JUNGLE_SIGN, ItemIds.ACACIA_SIGN, ItemIds.DARK_OAK_SIGN, ItemIds.CRIMSON_SIGN, ItemIds.WARPED_SIGN, ItemIds.MANGROVE_SIGN); + public static final TreeSpeciesSerializer BOAT = new TreeSpeciesSerializer(ItemIds.OAK_BOAT, ItemIds.SPRUCE_BOAT, ItemIds.BIRCH_BOAT, ItemIds.JUNGLE_BOAT, ItemIds.ACACIA_BOAT, ItemIds.DARK_OAK_BOAT, ItemIds.BOAT, ItemIds.BOAT, ItemIds.MANGROVE_BOAT); + + public static final TreeSpeciesSerializer CHEST_BOAT = new TreeSpeciesSerializer(ItemIds.OAK_CHEST_BOAT, ItemIds.SPRUCE_CHEST_BOAT, ItemIds.BIRCH_CHEST_BOAT, ItemIds.JUNGLE_CHEST_BOAT, ItemIds.ACACIA_CHEST_BOAT, ItemIds.DARK_OAK_CHEST_BOAT, ItemIds.OAK_CHEST_BOAT, ItemIds.OAK_CHEST_BOAT, ItemIds.MANGROVE_CHEST_BOAT); private final Identifier[] identifiers; private final Reference2ObjectMap dataMap = new Reference2ObjectOpenHashMap<>(); diff --git a/server/src/main/java/org/cloudburstmc/server/level/EnumLevel.java b/server/src/main/java/org/cloudburstmc/server/level/EnumLevel.java index d51b1c18e..63e51e745 100644 --- a/server/src/main/java/org/cloudburstmc/server/level/EnumLevel.java +++ b/server/src/main/java/org/cloudburstmc/server/level/EnumLevel.java @@ -4,6 +4,7 @@ import lombok.extern.log4j.Log4j2; import org.cloudburstmc.api.level.Location; import org.cloudburstmc.server.CloudServer; +import org.cloudburstmc.server.math.NukkitMath; @Log4j2 public enum EnumLevel { @@ -49,12 +50,12 @@ public static Location moveToNether(Location current) { CloudLevel level; if (current.getLevel() == OVERWORLD.level) { x = mRound(current.getFloorX() >> 3, 128); - y = mRound(current.getFloorY(), 32); + y = NukkitMath.clamp(mRound(current.getFloorY(), 32), 70, 128 - 10); z = mRound(current.getFloorZ() >> 3, 128); level = NETHER.level; } else if (current.getLevel() == NETHER.level) { x = mRound(current.getFloorX() << 3, 1024); - y = mRound(current.getFloorY(), 32); + y = NukkitMath.clamp(mRound(current.getFloorY(), 32), 70, 256 - 10); z = mRound(current.getFloorZ() << 3, 1024); level = OVERWORLD.level; } else { diff --git a/server/src/main/java/org/cloudburstmc/server/level/Sound.java b/server/src/main/java/org/cloudburstmc/server/level/Sound.java index 37f6caa7f..07f00fc7c 100644 --- a/server/src/main/java/org/cloudburstmc/server/level/Sound.java +++ b/server/src/main/java/org/cloudburstmc/server/level/Sound.java @@ -4,198 +4,502 @@ * @author CreeperFace */ public enum Sound { - AMBIENT_WEATHER_THUNDER("ambient.weather.thunder"), + + AMBIENT_BASALT_DELTAS_ADDITIONS("ambient.basalt_deltas.additions"), + AMBIENT_BASALT_DELTAS_LOOP("ambient.basalt_deltas.loop"), + AMBIENT_BASALT_DELTAS_MOOD("ambient.basalt_deltas.mood"), + AMBIENT_CANDLE("ambient.candle"), + AMBIENT_CAVE("ambient.cave"), + AMBIENT_CRIMSON_FOREST_ADDITIONS("ambient.crimson_forest.additions"), + AMBIENT_CRIMSON_FOREST_LOOP("ambient.crimson_forest.loop"), + AMBIENT_CRIMSON_FOREST_MOOD("ambient.crimson_forest.mood"), + AMBIENT_NETHER_WASTES_ADDITIONS("ambient.nether_wastes.additions"), + AMBIENT_NETHER_WASTES_LOOP("ambient.nether_wastes.loop"), + AMBIENT_NETHER_WASTES_MOOD("ambient.nether_wastes.mood"), + AMBIENT_SOULSAND_VALLEY_ADDITIONS("ambient.soulsand_valley.additions"), + AMBIENT_SOULSAND_VALLEY_LOOP("ambient.soulsand_valley.loop"), + AMBIENT_SOULSAND_VALLEY_MOOD("ambient.soulsand_valley.mood"), + AMBIENT_WARPED_FOREST_ADDITIONS("ambient.warped_forest.additions"), + AMBIENT_WARPED_FOREST_LOOP("ambient.warped_forest.loop"), + AMBIENT_WARPED_FOREST_MOOD("ambient.warped_forest.mood"), AMBIENT_WEATHER_LIGHTNING_IMPACT("ambient.weather.lightning.impact"), AMBIENT_WEATHER_RAIN("ambient.weather.rain"), + AMBIENT_WEATHER_THUNDER("ambient.weather.thunder"), + ARMOR_EQUIP_CHAIN("armor.equip_chain"), + ARMOR_EQUIP_DIAMOND("armor.equip_diamond"), + ARMOR_EQUIP_GENERIC("armor.equip_generic"), + ARMOR_EQUIP_GOLD("armor.equip_gold"), + ARMOR_EQUIP_IRON("armor.equip_iron"), + ARMOR_EQUIP_LEATHER("armor.equip_leather"), + ARMOR_EQUIP_NETHERITE("armor.equip_netherite"), BEACON_ACTIVATE("beacon.activate"), BEACON_AMBIENT("beacon.ambient"), BEACON_DEACTIVATE("beacon.deactivate"), BEACON_POWER("beacon.power"), - BLOCK_LANTERN_BREAK("block.lantern.break"), - BLOCK_LANTERN_FALL("block.lantern.fall"), - BLOCK_LANTERN_HIT("block.lantern.hit"), - BLOCK_LANTERN_PLACE("block.lantern.place"), - BLOCK_LANTERN_STEP("block.lantern.step"), BLOCK_BAMBOO_BREAK("block.bamboo.break"), BLOCK_BAMBOO_FALL("block.bamboo.fall"), BLOCK_BAMBOO_HIT("block.bamboo.hit"), BLOCK_BAMBOO_PLACE("block.bamboo.place"), BLOCK_BAMBOO_STEP("block.bamboo.step"), - BLOCK_BAMBOO_SAPLING_PLACE("block.bamboo_sapling.place"), BLOCK_BAMBOO_SAPLING_BREAK("block.bamboo_sapling.break"), - BLOCK_CAMPFIRE_CRACKLE("block.campfire.crackle"), + BLOCK_BAMBOO_SAPLING_PLACE("block.bamboo_sapling.place"), BLOCK_BARREL_CLOSE("block.barrel.close"), BLOCK_BARREL_OPEN("block.barrel.open"), - BLOCK_FALSE_PERMISSIONS("block.false_permissions"), + BLOCK_BEEHIVE_DRIP("block.beehive.drip"), + BLOCK_BEEHIVE_ENTER("block.beehive.enter"), + BLOCK_BEEHIVE_EXIT("block.beehive.exit"), + BLOCK_BEEHIVE_SHEAR("block.beehive.shear"), + BLOCK_BEEHIVE_WORK("block.beehive.work"), + BLOCK_BELL_HIT("block.bell.hit"), + BLOCK_BLASTFURNACE_FIRE_CRACKLE("block.blastfurnace.fire_crackle"), + BLOCK_BOWHIT("block.bowhit"), + BLOCK_CAMPFIRE_CRACKLE("block.campfire.crackle"), + BLOCK_CARTOGRAPHY_TABLE_USE("block.cartography_table.use"), + BLOCK_CHORUSFLOWER_DEATH("block.chorusflower.death"), + BLOCK_CHORUSFLOWER_GROW("block.chorusflower.grow"), + BLOCK_CLICK("block.click"), + BLOCK_COMPOSTER_EMPTY("block.composter.empty"), + BLOCK_COMPOSTER_FILL("block.composter.fill"), + BLOCK_COMPOSTER_FILL_SUCCESS("block.composter.fill_success"), + BLOCK_COMPOSTER_READY("block.composter.ready"), BLOCK_END_PORTAL_SPAWN("block.end_portal.spawn"), BLOCK_END_PORTAL_FRAME_FILL("block.end_portal_frame.fill"), + BLOCK_FALSE_PERMISSIONS("block.false_permissions"), + BLOCK_FURNACE_LIT("block.furnace.lit"), + BLOCK_GRINDSTONE_USE("block.grindstone.use"), BLOCK_ITEMFRAME_ADD_ITEM("block.itemframe.add_item"), BLOCK_ITEMFRAME_BREAK("block.itemframe.break"), BLOCK_ITEMFRAME_PLACE("block.itemframe.place"), BLOCK_ITEMFRAME_REMOVE_ITEM("block.itemframe.remove_item"), BLOCK_ITEMFRAME_ROTATE_ITEM("block.itemframe.rotate_item"), - BLOCK_CHORUSFLOWER_DEATH("block.chorusflower.death"), - BLOCK_CHORUSFLOWER_GROW("block.chorusflower.grow"), - BLOCK_COMPOSTER_FILL("block.composter.fill"), - BLOCK_COMPOSTER_FILL_SUCCESS("block.composter.fill_success"), - BLOCK_COMPOSTER_EMPTY("block.composter.empty"), - BLOCK_COMPOSTER_READY("block.composter.ready"), + BLOCK_LANTERN_BREAK("block.lantern.break"), + BLOCK_LANTERN_FALL("block.lantern.fall"), + BLOCK_LANTERN_HIT("block.lantern.hit"), + BLOCK_LANTERN_PLACE("block.lantern.place"), + BLOCK_LANTERN_STEP("block.lantern.step"), BLOCK_LOOM_USE("block.loom.use"), - UI_LOOM_TAKE_RESULT("ui.loom.take_result"), - UI_CARTOGRAPHY_TABLE_TAKE_RESULT("ui.cartography_table.take_result"), - UI_LOOM_SELECT_PATTERN("ui.loom.select_pattern"), - BLOCK_STONECUTTER_USE("block.stonecutter.use"), - UI_STONECUTTER_TAKE_RESULT("ui.stonecutter.take_result"), - BLOCK_CARTOGRAPHY_TABLE_USE("block.cartography_table.use"), - BLOCK_GRINDSTONE_USE("block.grindstone.use"), - BLOCK_TURTLE_EGG_DROP("block.turtle_egg.drop"), - BLOCK_TURTLE_EGG_BREAK("block.turtle_egg.break"), - BLOCK_TURTLE_EGG_CRACK("block.turtle_egg.crack"), BLOCK_SCAFFOLDING_BREAK("block.scaffolding.break"), + BLOCK_SCAFFOLDING_CLIMB("block.scaffolding.climb"), BLOCK_SCAFFOLDING_FALL("block.scaffolding.fall"), BLOCK_SCAFFOLDING_HIT("block.scaffolding.hit"), BLOCK_SCAFFOLDING_PLACE("block.scaffolding.place"), BLOCK_SCAFFOLDING_STEP("block.scaffolding.step"), - BLOCK_SCAFFOLDING_CLIMB("block.scaffolding.climb"), + BLOCK_SMOKER_SMOKE("block.smoker.smoke"), + BLOCK_STONECUTTER_USE("block.stonecutter.use"), BLOCK_SWEET_BERRY_BUSH_BREAK("block.sweet_berry_bush.break"), - BLOCK_SWEET_BERRY_BUSH_PLACE("block.sweet_berry_bush.place"), BLOCK_SWEET_BERRY_BUSH_HURT("block.sweet_berry_bush.hurt"), BLOCK_SWEET_BERRY_BUSH_PICK("block.sweet_berry_bush.pick"), + BLOCK_SWEET_BERRY_BUSH_PLACE("block.sweet_berry_bush.place"), + BLOCK_TURTLE_EGG_BREAK("block.turtle_egg.break"), + BLOCK_TURTLE_EGG_CRACK("block.turtle_egg.crack"), + BLOCK_TURTLE_EGG_DROP("block.turtle_egg.drop"), + BOTTLE_DRAGONBREATH("bottle.dragonbreath"), + BREAK_AMETHYST_BLOCK("break.amethyst_block"), + BREAK_AMETHYST_CLUSTER("break.amethyst_cluster"), + BREAK_AZALEA("break.azalea"), + BREAK_BIG_DRIPLEAF("break.big_dripleaf"), + BREAK_CALCITE("break.calcite"), + BREAK_DIRT_WITH_ROOTS("break.dirt_with_roots"), + BREAK_DRIPSTONE_BLOCK("break.dripstone_block"), + BREAK_HANGING_ROOTS("break.hanging_roots"), + BREAK_LARGE_AMETHYST_BUD("break.large_amethyst_bud"), + BREAK_MEDIUM_AMETHYST_BUD("break.medium_amethyst_bud"), + BREAK_POINTED_DRIPSTONE("break.pointed_dripstone"), + BREAK_SMALL_AMETHYST_BUD("break.small_amethyst_bud"), + BREAK_SPORE_BLOSSOM("break.spore_blossom"), + BREAK_TUFF("break.tuff"), + BUBBLE_DOWN("bubble.down"), + BUBBLE_DOWNINSIDE("bubble.downinside"), + BUBBLE_POP("bubble.pop"), + BUBBLE_UP("bubble.up"), + BUBBLE_UPINSIDE("bubble.upinside"), + BUCKET_EMPTY_FISH("bucket.empty_fish"), BUCKET_EMPTY_LAVA("bucket.empty_lava"), + BUCKET_EMPTY_POWDER_SNOW("bucket.empty_powder_snow"), BUCKET_EMPTY_WATER("bucket.empty_water"), + BUCKET_FILL_FISH("bucket.fill_fish"), BUCKET_FILL_LAVA("bucket.fill_lava"), + BUCKET_FILL_POWDER_SNOW("bucket.fill_powder_snow"), BUCKET_FILL_WATER("bucket.fill_water"), - BUCKET_FILL_FISH("bucket.fill_fish"), - BUCKET_EMPTY_FISH("bucket.empty_fish"), - BOTTLE_DRAGONBREATH("bottle.dragonbreath"), - CAULDRON_EXPLODE("cauldron.explode"), - CAULDRON_DYEARMOR("cauldron.dyearmor"), + CAKE_ADD_CANDLE("cake.add_candle"), + CAMERA_TAKE_PICTURE("camera.take_picture"), + CAULDRON_ADDDYE("cauldron.adddye"), CAULDRON_CLEANARMOR("cauldron.cleanarmor"), CAULDRON_CLEANBANNER("cauldron.cleanbanner"), + CAULDRON_DYEARMOR("cauldron.dyearmor"), + CAULDRON_EXPLODE("cauldron.explode"), CAULDRON_FILLPOTION("cauldron.fillpotion"), - CAULDRON_TAKEPOTION("cauldron.takepotion"), CAULDRON_FILLWATER("cauldron.fillwater"), + CAULDRON_TAKEPOTION("cauldron.takepotion"), CAULDRON_TAKEWATER("cauldron.takewater"), - CAULDRON_ADDDYE("cauldron.adddye"), + CAULDRON_DRIP_LAVA_POINTED_DRIPSTONE("cauldron_drip.lava.pointed_dripstone"), + CAULDRON_DRIP_WATER_POINTED_DRIPSTONE("cauldron_drip.water.pointed_dripstone"), + CHIME_AMETHYST_BLOCK("chime.amethyst_block"), + COMPONENT_JUMP_TO_BLOCK("component.jump_to_block"), CONDUIT_ACTIVATE("conduit.activate"), CONDUIT_AMBIENT("conduit.ambient"), CONDUIT_ATTACK("conduit.attack"), CONDUIT_DEACTIVATE("conduit.deactivate"), CONDUIT_SHORT("conduit.short"), - CROSSBOW_LOADING_START("crossbow.loading.start"), - CROSSBOW_LOADING_MIDDLE("crossbow.loading.middle"), + COPPER_WAX_OFF("copper.wax.off"), + COPPER_WAX_ON("copper.wax.on"), CROSSBOW_LOADING_END("crossbow.loading.end"), - CROSSBOW_SHOOT("crossbow.shoot"), - CROSSBOW_QUICK_CHARGE_START("crossbow.quick_charge.start"), - CROSSBOW_QUICK_CHARGE_MIDDLE("crossbow.quick_charge.middle"), + CROSSBOW_LOADING_MIDDLE("crossbow.loading.middle"), + CROSSBOW_LOADING_START("crossbow.loading.start"), CROSSBOW_QUICK_CHARGE_END("crossbow.quick_charge.end"), + CROSSBOW_QUICK_CHARGE_MIDDLE("crossbow.quick_charge.middle"), + CROSSBOW_QUICK_CHARGE_START("crossbow.quick_charge.start"), + CROSSBOW_SHOOT("crossbow.shoot"), DAMAGE_FALLBIG("damage.fallbig"), DAMAGE_FALLSMALL("damage.fallsmall"), - ELYTRA_LOOP("elytra.loop"), - GAME_PLAYER_ATTACK_NODAMAGE("game.player.attack.nodamage"), - GAME_PLAYER_ATTACK_STRONG("game.player.attack.strong"), - GAME_PLAYER_HURT("game.player.hurt"), - GAME_PLAYER_DIE("game.player.die"), + DIG_ANCIENT_DEBRIS("dig.ancient_debris"), + DIG_AZALEA_LEAVES("dig.azalea_leaves"), + DIG_BASALT("dig.basalt"), + DIG_BONE_BLOCK("dig.bone_block"), + DIG_CANDLE("dig.candle"), + DIG_CAVE_VINES("dig.cave_vines"), + DIG_CHAIN("dig.chain"), DIG_CLOTH("dig.cloth"), + DIG_COPPER("dig.copper"), + DIG_CORAL("dig.coral"), + DIG_DEEPSLATE("dig.deepslate"), + DIG_DEEPSLATE_BRICKS("dig.deepslate_bricks"), + DIG_FUNGUS("dig.fungus"), DIG_GRASS("dig.grass"), DIG_GRAVEL("dig.gravel"), + DIG_HONEY_BLOCK("dig.honey_block"), + DIG_LODESTONE("dig.lodestone"), + DIG_MOSS("dig.moss"), + DIG_NETHER_BRICK("dig.nether_brick"), + DIG_NETHER_GOLD_ORE("dig.nether_gold_ore"), + DIG_NETHER_SPROUTS("dig.nether_sprouts"), + DIG_NETHER_WART("dig.nether_wart"), + DIG_NETHERITE("dig.netherite"), + DIG_NETHERRACK("dig.netherrack"), + DIG_NYLIUM("dig.nylium"), + DIG_POWDER_SNOW("dig.powder_snow"), + DIG_ROOTS("dig.roots"), DIG_SAND("dig.sand"), + DIG_SHROOMLIGHT("dig.shroomlight"), DIG_SNOW("dig.snow"), + DIG_SOUL_SAND("dig.soul_sand"), + DIG_SOUL_SOIL("dig.soul_soil"), + DIG_STEM("dig.stem"), DIG_STONE("dig.stone"), + DIG_VINES("dig.vines"), DIG_WOOD("dig.wood"), - TILE_PISTON_IN("tile.piston.in"), - TILE_PISTON_OUT("tile.piston.out"), + DRIP_LAVA_POINTED_DRIPSTONE("drip.lava.pointed_dripstone"), + DRIP_WATER_POINTED_DRIPSTONE("drip.water.pointed_dripstone"), + ELYTRA_LOOP("elytra.loop"), + ENTITY_ZOMBIE_CONVERTED_TO_DROWNED("entity.zombie.converted_to_drowned"), + EXTINGUISH_CANDLE("extinguish.candle"), + FALL_AMETHYST_BLOCK("fall.amethyst_block"), + FALL_AMETHYST_CLUSTER("fall.amethyst_cluster"), + FALL_ANCIENT_DEBRIS("fall.ancient_debris"), + FALL_AZALEA("fall.azalea"), + FALL_AZALEA_LEAVES("fall.azalea_leaves"), + FALL_BASALT("fall.basalt"), + FALL_BIG_DRIPLEAF("fall.big_dripleaf"), + FALL_BONE_BLOCK("fall.bone_block"), + FALL_CALCITE("fall.calcite"), + FALL_CAVE_VINES("fall.cave_vines"), + FALL_CHAIN("fall.chain"), + FALL_CLOTH("fall.cloth"), + FALL_COPPER("fall.copper"), + FALL_CORAL("fall.coral"), + FALL_DEEPSLATE("fall.deepslate"), + FALL_DEEPSLATE_BRICKS("fall.deepslate_bricks"), + FALL_DIRT_WITH_ROOTS("fall.dirt_with_roots"), + FALL_DRIPSTONE_BLOCK("fall.dripstone_block"), + FALL_EGG("fall.egg"), + FALL_GRASS("fall.grass"), + FALL_GRAVEL("fall.gravel"), + FALL_HANGING_ROOTS("fall.hanging_roots"), + FALL_HONEY_BLOCK("fall.honey_block"), + FALL_LADDER("fall.ladder"), + FALL_MOSS("fall.moss"), + FALL_NETHER_BRICK("fall.nether_brick"), + FALL_NETHER_GOLD_ORE("fall.nether_gold_ore"), + FALL_NETHER_SPROUTS("fall.nether_sprouts"), + FALL_NETHER_WART("fall.nether_wart"), + FALL_NETHERITE("fall.netherite"), + FALL_NETHERRACK("fall.netherrack"), + FALL_NYLIUM("fall.nylium"), + FALL_POINTED_DRIPSTONE("fall.pointed_dripstone"), + FALL_POWDER_SNOW("fall.powder_snow"), + FALL_ROOTS("fall.roots"), + FALL_SAND("fall.sand"), + FALL_SHROOMLIGHT("fall.shroomlight"), + FALL_SLIME("fall.slime"), + FALL_SNOW("fall.snow"), + FALL_SOUL_SAND("fall.soul_sand"), + FALL_SOUL_SOIL("fall.soul_soil"), + FALL_SPORE_BLOSSOM("fall.spore_blossom"), + FALL_STEM("fall.stem"), + FALL_STONE("fall.stone"), + FALL_TUFF("fall.tuff"), + FALL_VINES("fall.vines"), + FALL_WOOD("fall.wood"), FIRE_FIRE("fire.fire"), FIRE_IGNITE("fire.ignite"), - LEASHKNOT_BREAK("leashknot.break"), - LEASHKNOT_PLACE("leashknot.place"), FIREWORK_BLAST("firework.blast"), FIREWORK_LARGE_BLAST("firework.large_blast"), FIREWORK_LAUNCH("firework.launch"), FIREWORK_SHOOT("firework.shoot"), FIREWORK_TWINKLE("firework.twinkle"), - ARMOR_EQUIP_CHAIN("armor.equip_chain"), - ARMOR_EQUIP_DIAMOND("armor.equip_diamond"), - ARMOR_EQUIP_GENERIC("armor.equip_generic"), - ARMOR_EQUIP_GOLD("armor.equip_gold"), - ARMOR_EQUIP_IRON("armor.equip_iron"), - ARMOR_EQUIP_LEATHER("armor.equip_leather"), + GAME_PLAYER_ATTACK_NODAMAGE("game.player.attack.nodamage"), + GAME_PLAYER_ATTACK_STRONG("game.player.attack.strong"), + GAME_PLAYER_DIE("game.player.die"), + GAME_PLAYER_HURT("game.player.hurt"), + HIT_AMETHYST_BLOCK("hit.amethyst_block"), + HIT_AMETHYST_CLUSTER("hit.amethyst_cluster"), + HIT_ANCIENT_DEBRIS("hit.ancient_debris"), + HIT_ANVIL("hit.anvil"), + HIT_AZALEA("hit.azalea"), + HIT_AZALEA_LEAVES("hit.azalea_leaves"), + HIT_BASALT("hit.basalt"), + HIT_BIG_DRIPLEAF("hit.big_dripleaf"), + HIT_BONE_BLOCK("hit.bone_block"), + HIT_CALCITE("hit.calcite"), + HIT_CANDLE("hit.candle"), + HIT_CAVE_VINES("hit.cave_vines"), + HIT_CHAIN("hit.chain"), + HIT_CLOTH("hit.cloth"), + HIT_COPPER("hit.copper"), + HIT_CORAL("hit.coral"), + HIT_DEEPSLATE("hit.deepslate"), + HIT_DEEPSLATE_BRICKS("hit.deepslate_bricks"), + HIT_DIRT_WITH_ROOTS("hit.dirt_with_roots"), + HIT_DRIPSTONE_BLOCK("hit.dripstone_block"), + HIT_GRASS("hit.grass"), + HIT_GRAVEL("hit.gravel"), + HIT_HANGING_ROOTS("hit.hanging_roots"), + HIT_HONEY_BLOCK("hit.honey_block"), + HIT_LADDER("hit.ladder"), + HIT_MOSS("hit.moss"), + HIT_NETHER_BRICK("hit.nether_brick"), + HIT_NETHER_GOLD_ORE("hit.nether_gold_ore"), + HIT_NETHER_SPROUTS("hit.nether_sprouts"), + HIT_NETHER_WART("hit.nether_wart"), + HIT_NETHERITE("hit.netherite"), + HIT_NETHERRACK("hit.netherrack"), + HIT_NYLIUM("hit.nylium"), + HIT_POINTED_DRIPSTONE("hit.pointed_dripstone"), + HIT_POWDER_SNOW("hit.powder_snow"), + HIT_ROOTS("hit.roots"), + HIT_SAND("hit.sand"), + HIT_SHROOMLIGHT("hit.shroomlight"), + HIT_SLIME("hit.slime"), + HIT_SNOW("hit.snow"), + HIT_SOUL_SAND("hit.soul_sand"), + HIT_SOUL_SOIL("hit.soul_soil"), + HIT_SPORE_BLOSSOM("hit.spore_blossom"), + HIT_STEM("hit.stem"), + HIT_STONE("hit.stone"), + HIT_TUFF("hit.tuff"), + HIT_VINES("hit.vines"), + HIT_WOOD("hit.wood"), + ITEM_BONE_MEAL_USE("item.bone_meal.use"), + ITEM_BOOK_PAGE_TURN("item.book.page_turn"), + ITEM_BOOK_PUT("item.book.put"), + ITEM_SHIELD_BLOCK("item.shield.block"), + ITEM_SPYGLASS_STOP_USING("item.spyglass.stop_using"), + ITEM_SPYGLASS_USE("item.spyglass.use"), + ITEM_TRIDENT_HIT("item.trident.hit"), + ITEM_TRIDENT_HIT_GROUND("item.trident.hit_ground"), + ITEM_TRIDENT_RETURN("item.trident.return"), + ITEM_TRIDENT_RIPTIDE_1("item.trident.riptide_1"), + ITEM_TRIDENT_RIPTIDE_2("item.trident.riptide_2"), + ITEM_TRIDENT_RIPTIDE_3("item.trident.riptide_3"), + ITEM_TRIDENT_THROW("item.trident.throw"), + ITEM_TRIDENT_THUNDER("item.trident.thunder"), + JUMP_ANCIENT_DEBRIS("jump.ancient_debris"), + JUMP_AZALEA("jump.azalea"), + JUMP_BASALT("jump.basalt"), + JUMP_BIG_DRIPLEAF("jump.big_dripleaf"), + JUMP_BONE_BLOCK("jump.bone_block"), + JUMP_CAVE_VINES("jump.cave_vines"), + JUMP_CHAIN("jump.chain"), + JUMP_CLOTH("jump.cloth"), + JUMP_CORAL("jump.coral"), + JUMP_DEEPSLATE("jump.deepslate"), + JUMP_DEEPSLATE_BRICKS("jump.deepslate_bricks"), + JUMP_DIRT_WITH_ROOTS("jump.dirt_with_roots"), + JUMP_DRIPSTONE_BLOCK("jump.dripstone_block"), + JUMP_GRASS("jump.grass"), + JUMP_GRAVEL("jump.gravel"), + JUMP_HANGING_ROOTS("jump.hanging_roots"), + JUMP_HONEY_BLOCK("jump.honey_block"), + JUMP_MOSS("jump.moss"), + JUMP_NETHER_BRICK("jump.nether_brick"), + JUMP_NETHER_GOLD_ORE("jump.nether_gold_ore"), + JUMP_NETHER_SPROUTS("jump.nether_sprouts"), + JUMP_NETHER_WART("jump.nether_wart"), + JUMP_NETHERITE("jump.netherite"), + JUMP_NETHERRACK("jump.netherrack"), + JUMP_NYLIUM("jump.nylium"), + JUMP_POINTED_DRIPSTONE("jump.pointed_dripstone"), + JUMP_ROOTS("jump.roots"), + JUMP_SAND("jump.sand"), + JUMP_SHROOMLIGHT("jump.shroomlight"), + JUMP_SLIME("jump.slime"), + JUMP_SNOW("jump.snow"), + JUMP_SOUL_SAND("jump.soul_sand"), + JUMP_SOUL_SOIL("jump.soul_soil"), + JUMP_SPORE_BLOSSOM("jump.spore_blossom"), + JUMP_STEM("jump.stem"), + JUMP_STONE("jump.stone"), + JUMP_VINES("jump.vines"), + JUMP_WOOD("jump.wood"), + LAND_ANCIENT_DEBRIS("land.ancient_debris"), + LAND_AZALEA("land.azalea"), + LAND_BASALT("land.basalt"), + LAND_BIG_DRIPLEAF("land.big_dripleaf"), + LAND_BONE_BLOCK("land.bone_block"), + LAND_CAVE_VINES("land.cave_vines"), + LAND_CHAIN("land.chain"), + LAND_CLOTH("land.cloth"), + LAND_CORAL("land.coral"), + LAND_DEEPSLATE("land.deepslate"), + LAND_DEEPSLATE_BRICKS("land.deepslate_bricks"), + LAND_DIRT_WITH_ROOTS("land.dirt_with_roots"), + LAND_DRIPSTONE_BLOCK("land.dripstone_block"), + LAND_GRASS("land.grass"), + LAND_GRAVEL("land.gravel"), + LAND_HANGING_ROOTS("land.hanging_roots"), + LAND_HONEY_BLOCK("land.honey_block"), + LAND_MOSS("land.moss"), + LAND_NETHER_BRICK("land.nether_brick"), + LAND_NETHER_GOLD_ORE("land.nether_gold_ore"), + LAND_NETHER_SPROUTS("land.nether_sprouts"), + LAND_NETHER_WART("land.nether_wart"), + LAND_NETHERITE("land.netherite"), + LAND_NETHERRACK("land.netherrack"), + LAND_NYLIUM("land.nylium"), + LAND_POINTED_DRIPSTONE("land.pointed_dripstone"), + LAND_ROOTS("land.roots"), + LAND_SAND("land.sand"), + LAND_SHROOMLIGHT("land.shroomlight"), + LAND_SLIME("land.slime"), + LAND_SNOW("land.snow"), + LAND_SOUL_SAND("land.soul_sand"), + LAND_SOUL_SOIL("land.soul_soil"), + LAND_SPORE_BLOSSOM("land.spore_blossom"), + LAND_STEM("land.stem"), + LAND_STONE("land.stone"), + LAND_VINES("land.vines"), + LAND_WOOD("land.wood"), + LEASHKNOT_BREAK("leashknot.break"), + LEASHKNOT_PLACE("leashknot.place"), LIQUID_LAVA("liquid.lava"), LIQUID_LAVAPOP("liquid.lavapop"), LIQUID_WATER("liquid.water"), - BUBBLE_POP("bubble.pop"), - BUBBLE_UP("bubble.up"), - BUBBLE_UPINSIDE("bubble.upinside"), - BUBBLE_DOWN("bubble.down"), - BUBBLE_DOWNINSIDE("bubble.downinside"), + LODESTONE_COMPASS_LINK_COMPASS_TO_LODESTONE("lodestone_compass.link_compass_to_lodestone"), MINECART_BASE("minecart.base"), MINECART_INSIDE("minecart.inside"), - BLOCK_FURNACE_LIT("block.furnace.lit"), - BLOCK_BLASTFURNACE_FIRE_CRACKLE("block.blastfurnace.fire_crackle"), - BLOCK_SMOKER_SMOKE("block.smoker.smoke"), MOB_AGENT_SPAWN("mob.agent.spawn"), MOB_ARMOR_STAND_BREAK("mob.armor_stand.break"), MOB_ARMOR_STAND_HIT("mob.armor_stand.hit"), MOB_ARMOR_STAND_LAND("mob.armor_stand.land"), MOB_ARMOR_STAND_PLACE("mob.armor_stand.place"), + MOB_AXOLOTL_ATTACK("mob.axolotl.attack"), + MOB_AXOLOTL_DEATH("mob.axolotl.death"), + MOB_AXOLOTL_HURT("mob.axolotl.hurt"), + MOB_AXOLOTL_IDLE("mob.axolotl.idle"), + MOB_AXOLOTL_IDLE_WATER("mob.axolotl.idle_water"), + MOB_AXOLOTL_SPLASH("mob.axolotl.splash"), + MOB_AXOLOTL_SWIM("mob.axolotl.swim"), MOB_BAT_DEATH("mob.bat.death"), MOB_BAT_HURT("mob.bat.hurt"), MOB_BAT_IDLE("mob.bat.idle"), MOB_BAT_TAKEOFF("mob.bat.takeoff"), + MOB_BEE_AGGRESSIVE("mob.bee.aggressive"), + MOB_BEE_DEATH("mob.bee.death"), + MOB_BEE_HURT("mob.bee.hurt"), + MOB_BEE_LOOP("mob.bee.loop"), + MOB_BEE_POLLINATE("mob.bee.pollinate"), + MOB_BEE_STING("mob.bee.sting"), MOB_BLAZE_BREATHE("mob.blaze.breathe"), MOB_BLAZE_DEATH("mob.blaze.death"), MOB_BLAZE_HIT("mob.blaze.hit"), MOB_BLAZE_SHOOT("mob.blaze.shoot"), + MOB_CAT_BEG("mob.cat.beg"), + MOB_CAT_EAT("mob.cat.eat"), + MOB_CAT_HISS("mob.cat.hiss"), + MOB_CAT_HIT("mob.cat.hit"), + MOB_CAT_MEOW("mob.cat.meow"), + MOB_CAT_PURR("mob.cat.purr"), + MOB_CAT_PURREOW("mob.cat.purreow"), + MOB_CAT_STRAYMEOW("mob.cat.straymeow"), MOB_CHICKEN_HURT("mob.chicken.hurt"), MOB_CHICKEN_PLOP("mob.chicken.plop"), MOB_CHICKEN_SAY("mob.chicken.say"), MOB_CHICKEN_STEP("mob.chicken.step"), MOB_COW_HURT("mob.cow.hurt"), + MOB_COW_MILK("mob.cow.milk"), MOB_COW_SAY("mob.cow.say"), MOB_COW_STEP("mob.cow.step"), - MOB_COW_MILK("mob.cow.milk"), MOB_CREEPER_DEATH("mob.creeper.death"), MOB_CREEPER_SAY("mob.creeper.say"), - MOB_DOLPHIN_IDLE_WATER("mob.dolphin.idle_water"), MOB_DOLPHIN_ATTACK("mob.dolphin.attack"), MOB_DOLPHIN_BLOWHOLE("mob.dolphin.blowhole"), MOB_DOLPHIN_DEATH("mob.dolphin.death"), MOB_DOLPHIN_EAT("mob.dolphin.eat"), MOB_DOLPHIN_HURT("mob.dolphin.hurt"), MOB_DOLPHIN_IDLE("mob.dolphin.idle"), + MOB_DOLPHIN_IDLE_WATER("mob.dolphin.idle_water"), MOB_DOLPHIN_JUMP("mob.dolphin.jump"), MOB_DOLPHIN_PLAY("mob.dolphin.play"), MOB_DOLPHIN_SPLASH("mob.dolphin.splash"), MOB_DOLPHIN_SWIM("mob.dolphin.swim"), - MOB_DROWNED_SAY_WATER("mob.drowned.say_water"), + MOB_DROWNED_DEATH("mob.drowned.death"), MOB_DROWNED_DEATH_WATER("mob.drowned.death_water"), + MOB_DROWNED_HURT("mob.drowned.hurt"), MOB_DROWNED_HURT_WATER("mob.drowned.hurt_water"), MOB_DROWNED_SAY("mob.drowned.say"), - MOB_DROWNED_DEATH("mob.drowned.death"), - MOB_DROWNED_HURT("mob.drowned.hurt"), + MOB_DROWNED_SAY_WATER("mob.drowned.say_water"), MOB_DROWNED_SHOOT("mob.drowned.shoot"), MOB_DROWNED_STEP("mob.drowned.step"), MOB_DROWNED_SWIM("mob.drowned.swim"), - ENTITY_ZOMBIE_CONVERTED_TO_DROWNED("entity.zombie.converted_to_drowned"), + MOB_ELDERGUARDIAN_CURSE("mob.elderguardian.curse"), + MOB_ELDERGUARDIAN_DEATH("mob.elderguardian.death"), + MOB_ELDERGUARDIAN_HIT("mob.elderguardian.hit"), + MOB_ELDERGUARDIAN_IDLE("mob.elderguardian.idle"), + MOB_ENDERDRAGON_DEATH("mob.enderdragon.death"), + MOB_ENDERDRAGON_FLAP("mob.enderdragon.flap"), + MOB_ENDERDRAGON_GROWL("mob.enderdragon.growl"), + MOB_ENDERDRAGON_HIT("mob.enderdragon.hit"), MOB_ENDERMEN_DEATH("mob.endermen.death"), MOB_ENDERMEN_HIT("mob.endermen.hit"), MOB_ENDERMEN_IDLE("mob.endermen.idle"), MOB_ENDERMEN_PORTAL("mob.endermen.portal"), MOB_ENDERMEN_SCREAM("mob.endermen.scream"), MOB_ENDERMEN_STARE("mob.endermen.stare"), - MOB_ENDERDRAGON_DEATH("mob.enderdragon.death"), - MOB_ENDERDRAGON_HIT("mob.enderdragon.hit"), - MOB_ENDERDRAGON_FLAP("mob.enderdragon.flap"), - MOB_ENDERDRAGON_GROWL("mob.enderdragon.growl"), - MOB_FOX_AMBIENT("mob.fox.ambient"), - MOB_FOX_HURT("mob.fox.hurt"), - MOB_FOX_DEATH("mob.fox.death"), + MOB_ENDERMITE_HIT("mob.endermite.hit"), + MOB_ENDERMITE_KILL("mob.endermite.kill"), + MOB_ENDERMITE_SAY("mob.endermite.say"), + MOB_ENDERMITE_STEP("mob.endermite.step"), + MOB_EVOCATION_FANGS_ATTACK("mob.evocation_fangs.attack"), + MOB_EVOCATION_ILLAGER_AMBIENT("mob.evocation_illager.ambient"), + MOB_EVOCATION_ILLAGER_CAST_SPELL("mob.evocation_illager.cast_spell"), + MOB_EVOCATION_ILLAGER_CELEBRATE("mob.evocation_illager.celebrate"), + MOB_EVOCATION_ILLAGER_DEATH("mob.evocation_illager.death"), + MOB_EVOCATION_ILLAGER_HURT("mob.evocation_illager.hurt"), + MOB_EVOCATION_ILLAGER_PREPARE_ATTACK("mob.evocation_illager.prepare_attack"), + MOB_EVOCATION_ILLAGER_PREPARE_SUMMON("mob.evocation_illager.prepare_summon"), + MOB_EVOCATION_ILLAGER_PREPARE_WOLOLO("mob.evocation_illager.prepare_wololo"), + MOB_FISH_FLOP("mob.fish.flop"), + MOB_FISH_HURT("mob.fish.hurt"), + MOB_FISH_STEP("mob.fish.step"), MOB_FOX_AGGRO("mob.fox.aggro"), - MOB_FOX_SNIFF("mob.fox.sniff"), + MOB_FOX_AMBIENT("mob.fox.ambient"), MOB_FOX_BITE("mob.fox.bite"), + MOB_FOX_DEATH("mob.fox.death"), MOB_FOX_EAT("mob.fox.eat"), + MOB_FOX_HURT("mob.fox.hurt"), MOB_FOX_SCREECH("mob.fox.screech"), MOB_FOX_SLEEP("mob.fox.sleep"), + MOB_FOX_SNIFF("mob.fox.sniff"), MOB_FOX_SPIT("mob.fox.spit"), MOB_GHAST_AFFECTIONATE_SCREAM("mob.ghast.affectionate_scream"), MOB_GHAST_CHARGE("mob.ghast.charge"), @@ -203,29 +507,39 @@ public enum Sound { MOB_GHAST_FIREBALL("mob.ghast.fireball"), MOB_GHAST_MOAN("mob.ghast.moan"), MOB_GHAST_SCREAM("mob.ghast.scream"), + MOB_GLOW_SQUID_AMBIENT("mob.glow_squid.ambient"), + MOB_GLOW_SQUID_DEATH("mob.glow_squid.death"), + MOB_GLOW_SQUID_HURT("mob.glow_squid.hurt"), + MOB_GLOW_SQUID_INK_SQUIRT("mob.glow_squid.ink_squirt"), + MOB_GOAT_AMBIENT("mob.goat.ambient"), + MOB_GOAT_AMBIENT_SCREAMER("mob.goat.ambient.screamer"), + MOB_GOAT_DEATH("mob.goat.death"), + MOB_GOAT_DEATH_SCREAMER("mob.goat.death.screamer"), + MOB_GOAT_EAT("mob.goat.eat"), + MOB_GOAT_HURT("mob.goat.hurt"), + MOB_GOAT_HURT_SCREAMER("mob.goat.hurt.screamer"), + MOB_GOAT_MILK_SCREAMER("mob.goat.milk.screamer"), + MOB_GOAT_PREPARE_RAM("mob.goat.prepare_ram"), + MOB_GOAT_PREPARE_RAM_SCREAMER("mob.goat.prepare_ram.screamer"), + MOB_GOAT_RAM_IMPACT("mob.goat.ram_impact"), + MOB_GOAT_RAM_IMPACT_SCREAMER("mob.goat.ram_impact.screamer"), + MOB_GOAT_STEP("mob.goat.step"), MOB_GUARDIAN_AMBIENT("mob.guardian.ambient"), MOB_GUARDIAN_ATTACK_LOOP("mob.guardian.attack_loop"), - MOB_ELDERGUARDIAN_CURSE("mob.elderguardian.curse"), - MOB_ELDERGUARDIAN_DEATH("mob.elderguardian.death"), - MOB_ELDERGUARDIAN_HIT("mob.elderguardian.hit"), - MOB_ELDERGUARDIAN_IDLE("mob.elderguardian.idle"), - MOB_GUARDIAN_FLOP("mob.guardian.flop"), MOB_GUARDIAN_DEATH("mob.guardian.death"), + MOB_GUARDIAN_FLOP("mob.guardian.flop"), MOB_GUARDIAN_HIT("mob.guardian.hit"), MOB_GUARDIAN_LAND_DEATH("mob.guardian.land_death"), MOB_GUARDIAN_LAND_HIT("mob.guardian.land_hit"), MOB_GUARDIAN_LAND_IDLE("mob.guardian.land_idle"), - MOB_FISH_FLOP("mob.fish.flop"), - MOB_FISH_HURT("mob.fish.hurt"), - MOB_FISH_STEP("mob.fish.step"), - MOB_LLAMA_ANGRY("mob.llama.angry"), - MOB_LLAMA_DEATH("mob.llama.death"), - MOB_LLAMA_IDLE("mob.llama.idle"), - MOB_LLAMA_SPIT("mob.llama.spit"), - MOB_LLAMA_HURT("mob.llama.hurt"), - MOB_LLAMA_EAT("mob.llama.eat"), - MOB_LLAMA_STEP("mob.llama.step"), - MOB_LLAMA_SWAG("mob.llama.swag"), + MOB_HOGLIN_AMBIENT("mob.hoglin.ambient"), + MOB_HOGLIN_ANGRY("mob.hoglin.angry"), + MOB_HOGLIN_ATTACK("mob.hoglin.attack"), + MOB_HOGLIN_DEATH("mob.hoglin.death"), + MOB_HOGLIN_HOWL("mob.hoglin.howl"), + MOB_HOGLIN_HURT("mob.hoglin.hurt"), + MOB_HOGLIN_RETREAT("mob.hoglin.retreat"), + MOB_HOGLIN_STEP("mob.hoglin.step"), MOB_HORSE_ANGRY("mob.horse.angry"), MOB_HORSE_ARMOR("mob.horse.armor"), MOB_HORSE_BREATHE("mob.horse.breathe"), @@ -253,77 +567,124 @@ public enum Sound { MOB_HUSK_DEATH("mob.husk.death"), MOB_HUSK_HURT("mob.husk.hurt"), MOB_HUSK_STEP("mob.husk.step"), - MOB_RAVAGER_AMBIENT("mob.ravager.ambient"), - MOB_RAVAGER_BITE("mob.ravager.bite"), - MOB_RAVAGER_CELEBRATE("mob.ravager.celebrate"), - MOB_RAVAGER_DEATH("mob.ravager.death"), - MOB_RAVAGER_HURT("mob.ravager.hurt"), - MOB_RAVAGER_ROAR("mob.ravager.roar"), - MOB_RAVAGER_STEP("mob.ravager.step"), - MOB_RAVAGER_STUN("mob.ravager.stun"), - MOB_IRONGOLEM_THROW("mob.irongolem.throw"), + MOB_IRONGOLEM_CRACK("mob.irongolem.crack"), MOB_IRONGOLEM_DEATH("mob.irongolem.death"), MOB_IRONGOLEM_HIT("mob.irongolem.hit"), + MOB_IRONGOLEM_REPAIR("mob.irongolem.repair"), + MOB_IRONGOLEM_THROW("mob.irongolem.throw"), MOB_IRONGOLEM_WALK("mob.irongolem.walk"), - MOB_SHULKER_AMBIENT("mob.shulker.ambient"), - MOB_SHULKER_CLOSE("mob.shulker.close"), - MOB_SHULKER_DEATH("mob.shulker.death"), - MOB_SHULKER_CLOSE_HURT("mob.shulker.close.hurt"), - MOB_SHULKER_HURT("mob.shulker.hurt"), - MOB_SHULKER_OPEN("mob.shulker.open"), - MOB_SHULKER_SHOOT("mob.shulker.shoot"), - MOB_SHULKER_TELEPORT("mob.shulker.teleport"), - MOB_SHULKER_BULLET_HIT("mob.shulker.bullet.hit"), + MOB_LLAMA_ANGRY("mob.llama.angry"), + MOB_LLAMA_DEATH("mob.llama.death"), + MOB_LLAMA_EAT("mob.llama.eat"), + MOB_LLAMA_HURT("mob.llama.hurt"), + MOB_LLAMA_IDLE("mob.llama.idle"), + MOB_LLAMA_SPIT("mob.llama.spit"), + MOB_LLAMA_STEP("mob.llama.step"), + MOB_LLAMA_SWAG("mob.llama.swag"), MOB_MAGMACUBE_BIG("mob.magmacube.big"), MOB_MAGMACUBE_JUMP("mob.magmacube.jump"), MOB_MAGMACUBE_SMALL("mob.magmacube.small"), MOB_MOOSHROOM_CONVERT("mob.mooshroom.convert"), MOB_MOOSHROOM_EAT("mob.mooshroom.eat"), MOB_MOOSHROOM_SUSPICIOUS_MILK("mob.mooshroom.suspicious_milk"), - MOB_PARROT_IDLE("mob.parrot.idle"), - MOB_PARROT_HURT("mob.parrot.hurt"), + MOB_OCELOT_DEATH("mob.ocelot.death"), + MOB_OCELOT_IDLE("mob.ocelot.idle"), + MOB_PANDA_BITE("mob.panda.bite"), + MOB_PANDA_CANT_BREED("mob.panda.cant_breed"), + MOB_PANDA_DEATH("mob.panda.death"), + MOB_PANDA_EAT("mob.panda.eat"), + MOB_PANDA_HURT("mob.panda.hurt"), + MOB_PANDA_IDLE("mob.panda.idle"), + MOB_PANDA_IDLE_AGGRESSIVE("mob.panda.idle.aggressive"), + MOB_PANDA_IDLE_WORRIED("mob.panda.idle.worried"), + MOB_PANDA_PRESNEEZE("mob.panda.presneeze"), + MOB_PANDA_SNEEZE("mob.panda.sneeze"), + MOB_PANDA_STEP("mob.panda.step"), + MOB_PANDA_BABY_IDLE("mob.panda_baby.idle"), MOB_PARROT_DEATH("mob.parrot.death"), - MOB_PARROT_STEP("mob.parrot.step"), MOB_PARROT_EAT("mob.parrot.eat"), MOB_PARROT_FLY("mob.parrot.fly"), + MOB_PARROT_HURT("mob.parrot.hurt"), + MOB_PARROT_IDLE("mob.parrot.idle"), + MOB_PARROT_STEP("mob.parrot.step"), MOB_PHANTOM_BITE("mob.phantom.bite"), MOB_PHANTOM_DEATH("mob.phantom.death"), + MOB_PHANTOM_FLAP("mob.phantom.flap"), MOB_PHANTOM_HURT("mob.phantom.hurt"), MOB_PHANTOM_IDLE("mob.phantom.idle"), MOB_PHANTOM_SWOOP("mob.phantom.swoop"), - MOB_PIG_DEATH("mob.pig.death"), MOB_PIG_BOOST("mob.pig.boost"), + MOB_PIG_DEATH("mob.pig.death"), MOB_PIG_SAY("mob.pig.say"), MOB_PIG_STEP("mob.pig.step"), + MOB_PIGLIN_ADMIRING_ITEM("mob.piglin.admiring_item"), + MOB_PIGLIN_AMBIENT("mob.piglin.ambient"), + MOB_PIGLIN_ANGRY("mob.piglin.angry"), + MOB_PIGLIN_CELEBRATE("mob.piglin.celebrate"), + MOB_PIGLIN_CONVERTED_TO_ZOMBIFIED("mob.piglin.converted_to_zombified"), + MOB_PIGLIN_DEATH("mob.piglin.death"), + MOB_PIGLIN_HURT("mob.piglin.hurt"), + MOB_PIGLIN_JEALOUS("mob.piglin.jealous"), + MOB_PIGLIN_RETREAT("mob.piglin.retreat"), + MOB_PIGLIN_STEP("mob.piglin.step"), + MOB_PIGLIN_BRUTE_AMBIENT("mob.piglin_brute.ambient"), + MOB_PIGLIN_BRUTE_ANGRY("mob.piglin_brute.angry"), + MOB_PIGLIN_BRUTE_CONVERTED_TO_ZOMBIFIED("mob.piglin_brute.converted_to_zombified"), + MOB_PIGLIN_BRUTE_DEATH("mob.piglin_brute.death"), + MOB_PIGLIN_BRUTE_HURT("mob.piglin_brute.hurt"), + MOB_PIGLIN_BRUTE_STEP("mob.piglin_brute.step"), MOB_PILLAGER_CELEBRATE("mob.pillager.celebrate"), MOB_PILLAGER_DEATH("mob.pillager.death"), MOB_PILLAGER_HURT("mob.pillager.hurt"), MOB_PILLAGER_IDLE("mob.pillager.idle"), + MOB_PLAYER_HURT_DROWN("mob.player.hurt_drown"), + MOB_PLAYER_HURT_FREEZE("mob.player.hurt_freeze"), + MOB_PLAYER_HURT_ON_FIRE("mob.player.hurt_on_fire"), + MOB_POLARBEAR_DEATH("mob.polarbear.death"), + MOB_POLARBEAR_HURT("mob.polarbear.hurt"), + MOB_POLARBEAR_IDLE("mob.polarbear.idle"), + MOB_POLARBEAR_STEP("mob.polarbear.step"), + MOB_POLARBEAR_WARNING("mob.polarbear.warning"), + MOB_POLARBEAR_BABY_IDLE("mob.polarbear_baby.idle"), + MOB_RABBIT_DEATH("mob.rabbit.death"), + MOB_RABBIT_HOP("mob.rabbit.hop"), MOB_RABBIT_HURT("mob.rabbit.hurt"), MOB_RABBIT_IDLE("mob.rabbit.idle"), - MOB_RABBIT_HOP("mob.rabbit.hop"), - MOB_RABBIT_DEATH("mob.rabbit.death"), + MOB_RAVAGER_AMBIENT("mob.ravager.ambient"), + MOB_RAVAGER_BITE("mob.ravager.bite"), + MOB_RAVAGER_CELEBRATE("mob.ravager.celebrate"), + MOB_RAVAGER_DEATH("mob.ravager.death"), + MOB_RAVAGER_HURT("mob.ravager.hurt"), + MOB_RAVAGER_ROAR("mob.ravager.roar"), + MOB_RAVAGER_STEP("mob.ravager.step"), + MOB_RAVAGER_STUN("mob.ravager.stun"), MOB_SHEEP_SAY("mob.sheep.say"), MOB_SHEEP_SHEAR("mob.sheep.shear"), MOB_SHEEP_STEP("mob.sheep.step"), + MOB_SHULKER_AMBIENT("mob.shulker.ambient"), + MOB_SHULKER_BULLET_HIT("mob.shulker.bullet.hit"), + MOB_SHULKER_CLOSE("mob.shulker.close"), + MOB_SHULKER_CLOSE_HURT("mob.shulker.close.hurt"), + MOB_SHULKER_DEATH("mob.shulker.death"), + MOB_SHULKER_HURT("mob.shulker.hurt"), + MOB_SHULKER_OPEN("mob.shulker.open"), + MOB_SHULKER_SHOOT("mob.shulker.shoot"), + MOB_SHULKER_TELEPORT("mob.shulker.teleport"), MOB_SILVERFISH_HIT("mob.silverfish.hit"), MOB_SILVERFISH_KILL("mob.silverfish.kill"), MOB_SILVERFISH_SAY("mob.silverfish.say"), MOB_SILVERFISH_STEP("mob.silverfish.step"), - MOB_ENDERMITE_HIT("mob.endermite.hit"), - MOB_ENDERMITE_KILL("mob.endermite.kill"), - MOB_ENDERMITE_SAY("mob.endermite.say"), - MOB_ENDERMITE_STEP("mob.endermite.step"), + MOB_SKELETON_CONVERT_TO_STRAY("mob.skeleton.convert_to_stray"), MOB_SKELETON_DEATH("mob.skeleton.death"), MOB_SKELETON_HURT("mob.skeleton.hurt"), MOB_SKELETON_SAY("mob.skeleton.say"), MOB_SKELETON_STEP("mob.skeleton.step"), - MOB_SLIME_BIG("mob.slime.big"), - MOB_SLIME_SMALL("mob.slime.small"), MOB_SLIME_ATTACK("mob.slime.attack"), + MOB_SLIME_BIG("mob.slime.big"), MOB_SLIME_DEATH("mob.slime.death"), MOB_SLIME_HURT("mob.slime.hurt"), MOB_SLIME_JUMP("mob.slime.jump"), + MOB_SLIME_SMALL("mob.slime.small"), MOB_SLIME_SQUISH("mob.slime.squish"), MOB_SNOWGOLEM_DEATH("mob.snowgolem.death"), MOB_SNOWGOLEM_HURT("mob.snowgolem.hurt"), @@ -334,19 +695,32 @@ public enum Sound { MOB_SQUID_AMBIENT("mob.squid.ambient"), MOB_SQUID_DEATH("mob.squid.death"), MOB_SQUID_HURT("mob.squid.hurt"), + MOB_SQUID_INK_SQUIRT("mob.squid.ink_squirt"), + MOB_STRAY_AMBIENT("mob.stray.ambient"), + MOB_STRAY_DEATH("mob.stray.death"), + MOB_STRAY_HURT("mob.stray.hurt"), + MOB_STRAY_STEP("mob.stray.step"), + MOB_STRIDER_DEATH("mob.strider.death"), + MOB_STRIDER_EAT("mob.strider.eat"), + MOB_STRIDER_HURT("mob.strider.hurt"), + MOB_STRIDER_IDLE("mob.strider.idle"), + MOB_STRIDER_PANIC("mob.strider.panic"), + MOB_STRIDER_STEP("mob.strider.step"), + MOB_STRIDER_STEP_LAVA("mob.strider.step_lava"), + MOB_STRIDER_TEMPT("mob.strider.tempt"), MOB_TURTLE_AMBIENT("mob.turtle.ambient"), - MOB_TURTLE_BABY_BORN("mob.turtle_baby.born"), MOB_TURTLE_DEATH("mob.turtle.death"), - MOB_TURTLE_BABY_DEATH("mob.turtle_baby.death"), MOB_TURTLE_HURT("mob.turtle.hurt"), - MOB_TURTLE_BABY_HURT("mob.turtle_baby.hurt"), MOB_TURTLE_STEP("mob.turtle.step"), - MOB_TURTLE_BABY_STEP("mob.turtle_baby.step"), MOB_TURTLE_SWIM("mob.turtle.swim"), - MOB_STRAY_AMBIENT("mob.stray.ambient"), - MOB_STRAY_DEATH("mob.stray.death"), - MOB_STRAY_HURT("mob.stray.hurt"), - MOB_STRAY_STEP("mob.stray.step"), + MOB_TURTLE_BABY_BORN("mob.turtle_baby.born"), + MOB_TURTLE_BABY_DEATH("mob.turtle_baby.death"), + MOB_TURTLE_BABY_HURT("mob.turtle_baby.hurt"), + MOB_TURTLE_BABY_STEP("mob.turtle_baby.step"), + MOB_VEX_AMBIENT("mob.vex.ambient"), + MOB_VEX_CHARGE("mob.vex.charge"), + MOB_VEX_DEATH("mob.vex.death"), + MOB_VEX_HURT("mob.vex.hurt"), MOB_VILLAGER_DEATH("mob.villager.death"), MOB_VILLAGER_HAGGLE("mob.villager.haggle"), MOB_VILLAGER_HIT("mob.villager.hit"), @@ -357,46 +731,21 @@ public enum Sound { MOB_VINDICATOR_DEATH("mob.vindicator.death"), MOB_VINDICATOR_HURT("mob.vindicator.hurt"), MOB_VINDICATOR_IDLE("mob.vindicator.idle"), - MOB_EVOCATION_FANGS_ATTACK("mob.evocation_fangs.attack"), - MOB_EVOCATION_ILLAGER_AMBIENT("mob.evocation_illager.ambient"), - MOB_EVOCATION_ILLAGER_CAST_SPELL("mob.evocation_illager.cast_spell"), - MOB_EVOCATION_ILLAGER_CELEBRATE("mob.evocation_illager.celebrate"), - MOB_EVOCATION_ILLAGER_DEATH("mob.evocation_illager.death"), - MOB_EVOCATION_ILLAGER_HURT("mob.evocation_illager.hurt"), - MOB_EVOCATION_ILLAGER_PREPARE_ATTACK("mob.evocation_illager.prepare_attack"), - MOB_EVOCATION_ILLAGER_PREPARE_SUMMON("mob.evocation_illager.prepare_summon"), - MOB_EVOCATION_ILLAGER_PREPARE_WOLOLO("mob.evocation_illager.prepare_wololo"), - MOB_VEX_AMBIENT("mob.vex.ambient"), - MOB_VEX_DEATH("mob.vex.death"), - MOB_VEX_HURT("mob.vex.hurt"), - MOB_VEX_CHARGE("mob.vex.charge"), - ITEM_BOOK_PAGE_TURN("item.book.page_turn"), - ITEM_BOOK_PUT("item.book.put"), - BLOCK_BELL_HIT("block.bell.hit"), - ITEM_TRIDENT_HIT_GROUND("item.trident.hit_ground"), - ITEM_TRIDENT_HIT("item.trident.hit"), - ITEM_TRIDENT_RETURN("item.trident.return"), - ITEM_TRIDENT_RIPTIDE_1("item.trident.riptide_1"), - ITEM_TRIDENT_RIPTIDE_2("item.trident.riptide_2"), - ITEM_TRIDENT_RIPTIDE_3("item.trident.riptide_3"), - ITEM_TRIDENT_THROW("item.trident.throw"), - ITEM_TRIDENT_THUNDER("item.trident.thunder"), - ITEM_SHIELD_BLOCK("item.shield.block"), - MOB_WANDERINGTRADER_IDLE("mob.wanderingtrader.idle"), MOB_WANDERINGTRADER_DEATH("mob.wanderingtrader.death"), MOB_WANDERINGTRADER_DISAPPEARED("mob.wanderingtrader.disappeared"), MOB_WANDERINGTRADER_DRINK_MILK("mob.wanderingtrader.drink_milk"), MOB_WANDERINGTRADER_DRINK_POTION("mob.wanderingtrader.drink_potion"), MOB_WANDERINGTRADER_HAGGLE("mob.wanderingtrader.haggle"), - MOB_WANDERINGTRADER_YES("mob.wanderingtrader.yes"), - MOB_WANDERINGTRADER_NO("mob.wanderingtrader.no"), MOB_WANDERINGTRADER_HURT("mob.wanderingtrader.hurt"), + MOB_WANDERINGTRADER_IDLE("mob.wanderingtrader.idle"), + MOB_WANDERINGTRADER_NO("mob.wanderingtrader.no"), MOB_WANDERINGTRADER_REAPPEARED("mob.wanderingtrader.reappeared"), + MOB_WANDERINGTRADER_YES("mob.wanderingtrader.yes"), MOB_WITCH_AMBIENT("mob.witch.ambient"), MOB_WITCH_CELEBRATE("mob.witch.celebrate"), MOB_WITCH_DEATH("mob.witch.death"), - MOB_WITCH_HURT("mob.witch.hurt"), MOB_WITCH_DRINK("mob.witch.drink"), + MOB_WITCH_HURT("mob.witch.hurt"), MOB_WITCH_THROW("mob.witch.throw"), MOB_WITHER_AMBIENT("mob.wither.ambient"), MOB_WITHER_BREAK_BLOCK("mob.wither.break_block"), @@ -412,69 +761,92 @@ public enum Sound { MOB_WOLF_SHAKE("mob.wolf.shake"), MOB_WOLF_STEP("mob.wolf.step"), MOB_WOLF_WHINE("mob.wolf.whine"), - MOB_OCELOT_IDLE("mob.ocelot.idle"), - MOB_OCELOT_DEATH("mob.ocelot.death"), - MOB_CAT_EAT("mob.cat.eat"), - MOB_CAT_HISS("mob.cat.hiss"), - MOB_CAT_HIT("mob.cat.hit"), - MOB_CAT_MEOW("mob.cat.meow"), - MOB_CAT_BEG("mob.cat.beg"), - MOB_CAT_STRAYMEOW("mob.cat.straymeow"), - MOB_CAT_PURR("mob.cat.purr"), - MOB_CAT_PURREOW("mob.cat.purreow"), - MOB_POLARBEAR_BABY_IDLE("mob.polarbear_baby.idle"), - MOB_POLARBEAR_IDLE("mob.polarbear.idle"), - MOB_POLARBEAR_STEP("mob.polarbear.step"), - MOB_POLARBEAR_WARNING("mob.polarbear.warning"), - MOB_POLARBEAR_HURT("mob.polarbear.hurt"), - MOB_POLARBEAR_DEATH("mob.polarbear.death"), - MOB_PANDA_BABY_IDLE("mob.panda_baby.idle"), - MOB_PANDA_IDLE("mob.panda.idle"), - MOB_PANDA_IDLE_AGGRESSIVE("mob.panda.idle.aggressive"), - MOB_PANDA_IDLE_WORRIED("mob.panda.idle.worried"), - MOB_PANDA_STEP("mob.panda.step"), - MOB_PANDA_PRESNEEZE("mob.panda.presneeze"), - MOB_PANDA_SNEEZE("mob.panda.sneeze"), - MOB_PANDA_HURT("mob.panda.hurt"), - MOB_PANDA_DEATH("mob.panda.death"), - MOB_PANDA_BITE("mob.panda.bite"), - MOB_PANDA_EAT("mob.panda.eat"), - MOB_PANDA_CANT_BREED("mob.panda.cant_breed"), + MOB_ZOGLIN_ANGRY("mob.zoglin.angry"), + MOB_ZOGLIN_ATTACK("mob.zoglin.attack"), + MOB_ZOGLIN_DEATH("mob.zoglin.death"), + MOB_ZOGLIN_HURT("mob.zoglin.hurt"), + MOB_ZOGLIN_IDLE("mob.zoglin.idle"), + MOB_ZOGLIN_STEP("mob.zoglin.step"), MOB_ZOMBIE_DEATH("mob.zombie.death"), MOB_ZOMBIE_HURT("mob.zombie.hurt"), MOB_ZOMBIE_REMEDY("mob.zombie.remedy"), - MOB_ZOMBIE_UNFECT("mob.zombie.unfect"), MOB_ZOMBIE_SAY("mob.zombie.say"), MOB_ZOMBIE_STEP("mob.zombie.step"), + MOB_ZOMBIE_UNFECT("mob.zombie.unfect"), MOB_ZOMBIE_WOOD("mob.zombie.wood"), MOB_ZOMBIE_WOODBREAK("mob.zombie.woodbreak"), + MOB_ZOMBIE_VILLAGER_DEATH("mob.zombie_villager.death"), + MOB_ZOMBIE_VILLAGER_HURT("mob.zombie_villager.hurt"), + MOB_ZOMBIE_VILLAGER_SAY("mob.zombie_villager.say"), MOB_ZOMBIEPIG_ZPIG("mob.zombiepig.zpig"), MOB_ZOMBIEPIG_ZPIGANGRY("mob.zombiepig.zpigangry"), MOB_ZOMBIEPIG_ZPIGDEATH("mob.zombiepig.zpigdeath"), MOB_ZOMBIEPIG_ZPIGHURT("mob.zombiepig.zpighurt"), - MOB_ZOMBIE_VILLAGER_SAY("mob.zombie_villager.say"), - MOB_ZOMBIE_VILLAGER_DEATH("mob.zombie_villager.death"), - MOB_ZOMBIE_VILLAGER_HURT("mob.zombie_villager.hurt"), + MUSIC_GAME("music.game"), + MUSIC_GAME_BASALT_DELTAS("music.game.basalt_deltas"), + MUSIC_GAME_CREATIVE("music.game.creative"), + MUSIC_GAME_CREDITS("music.game.credits"), + MUSIC_GAME_CRIMSON_FOREST("music.game.crimson_forest"), + MUSIC_GAME_DRIPSTONE_CAVES("music.game.dripstone_caves"), + MUSIC_GAME_END("music.game.end"), + MUSIC_GAME_ENDBOSS("music.game.endboss"), + MUSIC_GAME_FROZEN_PEAKS("music.game.frozen_peaks"), + MUSIC_GAME_GROVE("music.game.grove"), + MUSIC_GAME_JAGGED_PEAKS("music.game.jagged_peaks"), + MUSIC_GAME_LUSH_CAVES("music.game.lush_caves"), + MUSIC_GAME_MEADOW("music.game.meadow"), + MUSIC_GAME_NETHER("music.game.nether"), + MUSIC_GAME_NETHER_WASTES("music.game.nether_wastes"), + MUSIC_GAME_SNOWY_SLOPES("music.game.snowy_slopes"), + MUSIC_GAME_SOUL_SAND_VALLEY("music.game.soul_sand_valley"), + MUSIC_GAME_SOULSAND_VALLEY("music.game.soulsand_valley"), + MUSIC_GAME_STONY_PEAKS("music.game.stony_peaks"), + MUSIC_GAME_WARPED_FOREST("music.game.warped_forest"), + MUSIC_GAME_WATER("music.game.water"), + MUSIC_MENU("music.menu"), NOTE_BANJO("note.banjo"), NOTE_BASS("note.bass"), NOTE_BASSATTACK("note.bassattack"), NOTE_BD("note.bd"), NOTE_BELL("note.bell"), NOTE_BIT("note.bit"), + NOTE_CHIME("note.chime"), NOTE_COW_BELL("note.cow_bell"), NOTE_DIDGERIDOO("note.didgeridoo"), NOTE_FLUTE("note.flute"), NOTE_GUITAR("note.guitar"), NOTE_HARP("note.harp"), NOTE_HAT("note.hat"), - NOTE_CHIME("note.chime"), NOTE_IRON_XYLOPHONE("note.iron_xylophone"), NOTE_PLING("note.pling"), NOTE_SNARE("note.snare"), NOTE_XYLOPHONE("note.xylophone"), + PARTICLE_SOUL_ESCAPE("particle.soul_escape"), + PICK_BERRIES_CAVE_VINES("pick_berries.cave_vines"), + PLACE_AMETHYST_BLOCK("place.amethyst_block"), + PLACE_AMETHYST_CLUSTER("place.amethyst_cluster"), + PLACE_AZALEA("place.azalea"), + PLACE_AZALEA_LEAVES("place.azalea_leaves"), + PLACE_BIG_DRIPLEAF("place.big_dripleaf"), + PLACE_CALCITE("place.calcite"), + PLACE_COPPER("place.copper"), + PLACE_DEEPSLATE("place.deepslate"), + PLACE_DEEPSLATE_BRICKS("place.deepslate_bricks"), + PLACE_DIRT_WITH_ROOTS("place.dirt_with_roots"), + PLACE_DRIPSTONE_BLOCK("place.dripstone_block"), + PLACE_HANGING_ROOTS("place.hanging_roots"), + PLACE_LARGE_AMETHYST_BUD("place.large_amethyst_bud"), + PLACE_MEDIUM_AMETHYST_BUD("place.medium_amethyst_bud"), + PLACE_MOSS("place.moss"), + PLACE_POINTED_DRIPSTONE("place.pointed_dripstone"), + PLACE_POWDER_SNOW("place.powder_snow"), + PLACE_SMALL_AMETHYST_BUD("place.small_amethyst_bud"), + PLACE_SPORE_BLOSSOM("place.spore_blossom"), + PLACE_TUFF("place.tuff"), PORTAL_PORTAL("portal.portal"), PORTAL_TRAVEL("portal.travel"), PORTAL_TRIGGER("portal.trigger"), + RAID_HORN("raid.horn"), RANDOM_ANVIL_BREAK("random.anvil_break"), RANDOM_ANVIL_LAND("random.anvil_land"), RANDOM_ANVIL_USE("random.anvil_use"), @@ -484,119 +856,148 @@ public enum Sound { RANDOM_BURP("random.burp"), RANDOM_CHESTCLOSED("random.chestclosed"), RANDOM_CHESTOPEN("random.chestopen"), - RANDOM_SHULKERBOXCLOSED("random.shulkerboxclosed"), - RANDOM_SHULKERBOXOPEN("random.shulkerboxopen"), - RANDOM_ENDERCHESTOPEN("random.enderchestopen"), - RANDOM_ENDERCHESTCLOSED("random.enderchestclosed"), - RANDOM_POTION_BREWED("random.potion.brewed"), RANDOM_CLICK("random.click"), RANDOM_DOOR_CLOSE("random.door_close"), RANDOM_DOOR_OPEN("random.door_open"), RANDOM_DRINK("random.drink"), RANDOM_DRINK_HONEY("random.drink_honey"), RANDOM_EAT("random.eat"), + RANDOM_ENDERCHESTCLOSED("random.enderchestclosed"), + RANDOM_ENDERCHESTOPEN("random.enderchestopen"), RANDOM_EXPLODE("random.explode"), RANDOM_FIZZ("random.fizz"), RANDOM_FUSE("random.fuse"), RANDOM_GLASS("random.glass"), + RANDOM_HURT("random.hurt"), RANDOM_LEVELUP("random.levelup"), RANDOM_ORB("random.orb"), RANDOM_POP("random.pop"), RANDOM_POP2("random.pop2"), + RANDOM_POTION_BREWED("random.potion.brewed"), RANDOM_SCREENSHOT("random.screenshot"), + RANDOM_SHULKERBOXCLOSED("random.shulkerboxclosed"), + RANDOM_SHULKERBOXOPEN("random.shulkerboxopen"), RANDOM_SPLASH("random.splash"), RANDOM_SWIM("random.swim"), - RANDOM_HURT("random.hurt"), RANDOM_TOAST("random.toast"), RANDOM_TOTEM("random.totem"), - CAMERA_TAKE_PICTURE("camera.take_picture"), - USE_LADDER("use.ladder"), - HIT_LADDER("hit.ladder"), - FALL_LADDER("fall.ladder"), - STEP_LADDER("step.ladder"), - USE_CLOTH("use.cloth"), - HIT_CLOTH("hit.cloth"), - FALL_CLOTH("fall.cloth"), - STEP_CLOTH("step.cloth"), - USE_GRASS("use.grass"), - HIT_GRASS("hit.grass"), - FALL_GRASS("fall.grass"), - STEP_GRASS("step.grass"), - USE_GRAVEL("use.gravel"), - HIT_GRAVEL("hit.gravel"), - FALL_GRAVEL("fall.gravel"), - STEP_GRAVEL("step.gravel"), - USE_SAND("use.sand"), - HIT_SAND("hit.sand"), - FALL_SAND("fall.sand"), - STEP_SAND("step.sand"), - USE_SLIME("use.slime"), - HIT_SLIME("hit.slime"), - FALL_SLIME("fall.slime"), - STEP_SLIME("step.slime"), - USE_SNOW("use.snow"), - HIT_SNOW("hit.snow"), - FALL_SNOW("fall.snow"), - STEP_SNOW("step.snow"), - USE_STONE("use.stone"), - HIT_STONE("hit.stone"), - FALL_STONE("fall.stone"), - FALL_EGG("fall.egg"), - STEP_STONE("step.stone"), - USE_WOOD("use.wood"), - HIT_WOOD("hit.wood"), - FALL_WOOD("fall.wood"), - STEP_WOOD("step.wood"), - JUMP_CLOTH("jump.cloth"), - JUMP_GRASS("jump.grass"), - JUMP_GRAVEL("jump.gravel"), - JUMP_SAND("jump.sand"), - JUMP_SNOW("jump.snow"), - JUMP_STONE("jump.stone"), - JUMP_WOOD("jump.wood"), - JUMP_SLIME("jump.slime"), - LAND_CLOTH("land.cloth"), - LAND_GRASS("land.grass"), - LAND_GRAVEL("land.gravel"), - LAND_SAND("land.sand"), - LAND_SNOW("land.snow"), - LAND_STONE("land.stone"), - LAND_WOOD("land.wood"), - LAND_SLIME("land.slime"), - VR_STUTTERTURN("vr.stutterturn"), + RECORD_11("record.11"), RECORD_13("record.13"), - RECORD_CAT("record.cat"), RECORD_BLOCKS("record.blocks"), + RECORD_CAT("record.cat"), RECORD_CHIRP("record.chirp"), RECORD_FAR("record.far"), RECORD_MALL("record.mall"), RECORD_MELLOHI("record.mellohi"), + RECORD_OTHERSIDE("record.otherside"), + RECORD_PIGSTEP("record.pigstep"), RECORD_STAL("record.stal"), RECORD_STRAD("record.strad"), - RECORD_WARD("record.ward"), - RECORD_11("record.11"), RECORD_WAIT("record.wait"), - RAID_HORN("raid.horn"), - MUSIC_MENU("music.menu"), - MUSIC_GAME("music.game"), - MUSIC_GAME_CREATIVE("music.game.creative"), - MUSIC_GAME_END("music.game.end"), - MUSIC_GAME_ENDBOSS("music.game.endboss"), - MUSIC_GAME_NETHER("music.game.nether"), - MUSIC_GAME_CREDITS("music.game.credits"), - MOB_BEE_AGGRESSIVE("mob.bee.aggressive"), - MOB_BEE_DEATH("mob.bee.death"), - MOB_BEE_HURT("mob.bee.hurt"), - MOB_BEE_LOOP("mob.bee.loop"), - MOB_BEE_POLLINATE("mob.bee.pollinate"), - MOB_BEE_STING("mob.bee.sting"), - BLOCK_BEEHIVE_ENTER("block.beehive.enter"), - BLOCK_BEEHIVE_EXIT("block.beehive.exit"), - BLOCK_BEEHIVE_SHEAR("block.beehive.shear"), - BLOCK_BEEHIVE_WORK("block.beehive.work"), - BLOCK_BEEHIVE_DRIP("block.beehive.drip"), + RECORD_WARD("record.ward"), + RESPAWN_ANCHOR_AMBIENT("respawn_anchor.ambient"), + RESPAWN_ANCHOR_CHARGE("respawn_anchor.charge"), + RESPAWN_ANCHOR_DEPLETE("respawn_anchor.deplete"), + RESPAWN_ANCHOR_SET_SPAWN("respawn_anchor.set_spawn"), + SCRAPE("scrape"), SIGN_DYE_USE("sign.dye.use"), - SIGN_INK_SAC_USE("sign.ink_sac.use"); + SIGN_INK_SAC_USE("sign.ink_sac.use"), + SMITHING_TABLE_USE("smithing_table.use"), + STEP_AMETHYST_BLOCK("step.amethyst_block"), + STEP_AMETHYST_CLUSTER("step.amethyst_cluster"), + STEP_ANCIENT_DEBRIS("step.ancient_debris"), + STEP_AZALEA("step.azalea"), + STEP_AZALEA_LEAVES("step.azalea_leaves"), + STEP_BASALT("step.basalt"), + STEP_BIG_DRIPLEAF("step.big_dripleaf"), + STEP_BONE_BLOCK("step.bone_block"), + STEP_CALCITE("step.calcite"), + STEP_CANDLE("step.candle"), + STEP_CAVE_VINES("step.cave_vines"), + STEP_CHAIN("step.chain"), + STEP_CLOTH("step.cloth"), + STEP_COPPER("step.copper"), + STEP_CORAL("step.coral"), + STEP_DEEPSLATE("step.deepslate"), + STEP_DEEPSLATE_BRICKS("step.deepslate_bricks"), + STEP_DIRT_WITH_ROOTS("step.dirt_with_roots"), + STEP_DRIPSTONE_BLOCK("step.dripstone_block"), + STEP_GRASS("step.grass"), + STEP_GRAVEL("step.gravel"), + STEP_HANGING_ROOTS("step.hanging_roots"), + STEP_HONEY_BLOCK("step.honey_block"), + STEP_LADDER("step.ladder"), + STEP_MOSS("step.moss"), + STEP_NETHER_BRICK("step.nether_brick"), + STEP_NETHER_GOLD_ORE("step.nether_gold_ore"), + STEP_NETHER_SPROUTS("step.nether_sprouts"), + STEP_NETHER_WART("step.nether_wart"), + STEP_NETHERITE("step.netherite"), + STEP_NETHERRACK("step.netherrack"), + STEP_NYLIUM("step.nylium"), + STEP_POINTED_DRIPSTONE("step.pointed_dripstone"), + STEP_POWDER_SNOW("step.powder_snow"), + STEP_ROOTS("step.roots"), + STEP_SAND("step.sand"), + STEP_SHROOMLIGHT("step.shroomlight"), + STEP_SLIME("step.slime"), + STEP_SNOW("step.snow"), + STEP_SOUL_SAND("step.soul_sand"), + STEP_SOUL_SOIL("step.soul_soil"), + STEP_SPORE_BLOSSOM("step.spore_blossom"), + STEP_STEM("step.stem"), + STEP_STONE("step.stone"), + STEP_TUFF("step.tuff"), + STEP_VINES("step.vines"), + STEP_WOOD("step.wood"), + TILE_PISTON_IN("tile.piston.in"), + TILE_PISTON_OUT("tile.piston.out"), + TILT_DOWN_BIG_DRIPLEAF("tilt_down.big_dripleaf"), + TILT_UP_BIG_DRIPLEAF("tilt_up.big_dripleaf"), + UI_CARTOGRAPHY_TABLE_TAKE_RESULT("ui.cartography_table.take_result"), + UI_LOOM_SELECT_PATTERN("ui.loom.select_pattern"), + UI_LOOM_TAKE_RESULT("ui.loom.take_result"), + UI_STONECUTTER_TAKE_RESULT("ui.stonecutter.take_result"), + USE_ANCIENT_DEBRIS("use.ancient_debris"), + USE_BASALT("use.basalt"), + USE_BONE_BLOCK("use.bone_block"), + USE_CANDLE("use.candle"), + USE_CAVE_VINES("use.cave_vines"), + USE_CHAIN("use.chain"), + USE_CLOTH("use.cloth"), + USE_COPPER("use.copper"), + USE_CORAL("use.coral"), + USE_DEEPSLATE("use.deepslate"), + USE_DEEPSLATE_BRICKS("use.deepslate_bricks"), + USE_DIRT_WITH_ROOTS("use.dirt_with_roots"), + USE_DRIPSTONE_BLOCK("use.dripstone_block"), + USE_GRASS("use.grass"), + USE_GRAVEL("use.gravel"), + USE_HANGING_ROOTS("use.hanging_roots"), + USE_HONEY_BLOCK("use.honey_block"), + USE_LADDER("use.ladder"), + USE_MOSS("use.moss"), + USE_NETHER_BRICK("use.nether_brick"), + USE_NETHER_GOLD_ORE("use.nether_gold_ore"), + USE_NETHER_SPROUTS("use.nether_sprouts"), + USE_NETHER_WART("use.nether_wart"), + USE_NETHERITE("use.netherite"), + USE_NETHERRACK("use.netherrack"), + USE_NYLIUM("use.nylium"), + USE_POINTED_DRIPSTONE("use.pointed_dripstone"), + USE_ROOTS("use.roots"), + USE_SAND("use.sand"), + USE_SHROOMLIGHT("use.shroomlight"), + USE_SLIME("use.slime"), + USE_SNOW("use.snow"), + USE_SOUL_SAND("use.soul_sand"), + USE_SOUL_SOIL("use.soul_soil"), + USE_SPORE_BLOSSOM("use.spore_blossom"), + USE_STEM("use.stem"), + USE_STONE("use.stone"), + USE_VINES("use.vines"), + USE_WOOD("use.wood"), + VR_STUTTERTURN("vr.stutterturn"); private final String sound; diff --git a/server/src/main/java/org/cloudburstmc/server/level/particle/PunchBlockParticle.java b/server/src/main/java/org/cloudburstmc/server/level/particle/PunchBlockParticle.java index af5fddf4f..b5857f2d9 100644 --- a/server/src/main/java/org/cloudburstmc/server/level/particle/PunchBlockParticle.java +++ b/server/src/main/java/org/cloudburstmc/server/level/particle/PunchBlockParticle.java @@ -5,11 +5,9 @@ import com.nukkitx.protocol.bedrock.data.LevelEventType; import com.nukkitx.protocol.bedrock.packet.LevelEventPacket; import org.cloudburstmc.api.block.BlockState; -import org.cloudburstmc.api.registry.BlockRegistry; import org.cloudburstmc.api.util.Direction; import org.cloudburstmc.api.util.Identifier; import org.cloudburstmc.server.block.BlockPalette; -import org.cloudburstmc.server.block.util.BlockStateMetaMappings; import org.cloudburstmc.server.registry.CloudBlockRegistry; public class PunchBlockParticle extends Particle { diff --git a/server/src/main/java/org/cloudburstmc/server/player/handler/ResourcePackPacketHandler.java b/server/src/main/java/org/cloudburstmc/server/player/handler/ResourcePackPacketHandler.java index ce4144060..7ab9b3ea2 100644 --- a/server/src/main/java/org/cloudburstmc/server/player/handler/ResourcePackPacketHandler.java +++ b/server/src/main/java/org/cloudburstmc/server/player/handler/ResourcePackPacketHandler.java @@ -11,6 +11,7 @@ import org.cloudburstmc.api.pack.Pack; import org.cloudburstmc.api.player.Player; import org.cloudburstmc.server.CloudServer; +import org.cloudburstmc.server.math.MathHelper; import org.cloudburstmc.server.player.CloudPlayer; import org.cloudburstmc.server.player.PlayerLoginData; @@ -26,6 +27,8 @@ public class ResourcePackPacketHandler implements BedrockPacketHandler { private PlayerLoginData loginData; + private static final int RESOURCE_PACK_CHUNK_SIZE = 8 * 1024; // 8KB + public ResourcePackPacketHandler(BedrockServerSession session, CloudServer server, PlayerLoginData loginData) { this.session = session; this.server = server; @@ -49,8 +52,8 @@ public boolean handle(ResourcePackClientResponsePacket packet) { ResourcePackDataInfoPacket dataInfoPacket = new ResourcePackDataInfoPacket(); dataInfoPacket.setPackId(pack.getId()); dataInfoPacket.setPackVersion(pack.getVersion().toString()); - dataInfoPacket.setMaxChunkSize(1048576); //megabyte - dataInfoPacket.setChunkCount(pack.getSize() / dataInfoPacket.getMaxChunkSize()); + dataInfoPacket.setMaxChunkSize(RESOURCE_PACK_CHUNK_SIZE); + dataInfoPacket.setChunkCount(MathHelper.ceil(pack.getSize() / (float) RESOURCE_PACK_CHUNK_SIZE)); dataInfoPacket.setCompressedPackSize(pack.getSize()); dataInfoPacket.setHash(pack.getHash()); dataInfoPacket.setType(ResourcePackType.values()[pack.getType().ordinal()]); @@ -93,8 +96,8 @@ public boolean handle(ResourcePackChunkRequestPacket packet) { dataPacket.setPackId(packet.getPackId()); dataPacket.setPackVersion(packet.getPackVersion()); dataPacket.setChunkIndex(packet.getChunkIndex()); - dataPacket.setData(resourcePack.getChunk(1048576 * packet.getChunkIndex(), 1048576)); - dataPacket.setProgress(1048576 * packet.getChunkIndex()); + dataPacket.setData(resourcePack.getChunk(RESOURCE_PACK_CHUNK_SIZE * packet.getChunkIndex(), RESOURCE_PACK_CHUNK_SIZE)); + dataPacket.setProgress((long) RESOURCE_PACK_CHUNK_SIZE * packet.getChunkIndex()); session.sendPacket(dataPacket); return true; } diff --git a/server/src/main/java/org/cloudburstmc/server/utils/DummyBossBar.java b/server/src/main/java/org/cloudburstmc/server/utils/DummyBossBar.java index cd684ed38..642f4878e 100644 --- a/server/src/main/java/org/cloudburstmc/server/utils/DummyBossBar.java +++ b/server/src/main/java/org/cloudburstmc/server/utils/DummyBossBar.java @@ -4,7 +4,6 @@ import com.nukkitx.protocol.bedrock.packet.*; import org.cloudburstmc.api.entity.Attribute; import org.cloudburstmc.api.entity.EntityTypes; -import org.cloudburstmc.api.util.data.BlockColor; import org.cloudburstmc.server.network.NetworkUtils; import org.cloudburstmc.server.player.CloudPlayer; @@ -26,7 +25,7 @@ public class DummyBossBar { private String text; private float length; - private BlockColor color; + private BossBarColor color; private DummyBossBar(Builder builder) { this.player = builder.player; @@ -37,12 +36,13 @@ private DummyBossBar(Builder builder) { } public static class Builder { + private final CloudPlayer player; private final long bossBarId; private String text = ""; private float length = 100; - private BlockColor color = null; + private BossBarColor color = null; public Builder(CloudPlayer player) { this.player = player; @@ -59,15 +59,11 @@ public Builder length(float length) { return this; } - public Builder color(BlockColor color) { + public Builder color(BossBarColor color) { this.color = color; return this; } - /* public Builder color(int red, int green, int blue) { - return color(new BlockColor(red, green, blue)); - } - */ public DummyBossBar build() { return new DummyBossBar(this); } @@ -105,27 +101,14 @@ public void setLength(float length) { } } - /** - * Color is not working in the current version. We are keep waiting for client support. - * - * @param color the boss bar color - */ - public void setColor(BlockColor color) { + public void setColor(BossBarColor color) { if (this.color == null || !this.color.equals(color)) { this.color = color; this.sendSetBossBarTexture(); } } - /*public void setColor(int red, int green, int blue) { - this.setColor(new BlockColor(red, green, blue)); - }*/ - - public int getMixedColor() { - return this.color.getRGB();//(this.color.getRed() << 16 | this.color.getGreen() << 8 | this.color.getBlue()) & 0xffffff; - } - - public BlockColor getColor() { + public BossBarColor getColor() { return this.color; } @@ -180,7 +163,7 @@ private void sendSetBossBarTexture() { pk.setBossUniqueEntityId(this.bossBarId); pk.setPlayerUniqueEntityId(this.player.getUniqueId()); pk.setAction(BossEventPacket.Action.UPDATE_STYLE); - pk.setColor(this.getMixedColor()); + pk.setColor(color.ordinal()); player.sendPacket(pk); } @@ -250,4 +233,14 @@ public void destroy() { removeBossEntity(); } + public enum BossBarColor { + + PINK, + BLUE, + RED, + GREEN, + YELLOW, + PURPLE, + WHITE + } }