diff --git a/common/src/main/java/us/myles/ViaVersion/api/rewriters/SoundRewriter.java b/common/src/main/java/us/myles/ViaVersion/api/rewriters/SoundRewriter.java index 768b53fcb..d877e10e7 100644 --- a/common/src/main/java/us/myles/ViaVersion/api/rewriters/SoundRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/api/rewriters/SoundRewriter.java @@ -2,6 +2,7 @@ package us.myles.ViaVersion.api.rewriters; import us.myles.ViaVersion.api.protocol.ClientboundPacketType; import us.myles.ViaVersion.api.protocol.Protocol; +import us.myles.ViaVersion.api.remapper.PacketHandler; import us.myles.ViaVersion.api.remapper.PacketRemapper; import us.myles.ViaVersion.api.type.Type; @@ -25,16 +26,20 @@ public class SoundRewriter { @Override public void registerMap() { map(Type.VAR_INT); // Sound Id - handler(wrapper -> { - int soundId = wrapper.get(Type.VAR_INT, 0); - int mappedId = idRewriter.rewrite(soundId); - if (mappedId == -1) { - wrapper.cancel(); - } else if (soundId != mappedId) { - wrapper.set(Type.VAR_INT, 0, mappedId); - } - }); + handler(getSoundHandler()); } }); } + + public PacketHandler getSoundHandler() { + return wrapper -> { + int soundId = wrapper.get(Type.VAR_INT, 0); + int mappedId = idRewriter.rewrite(soundId); + if (mappedId == -1) { + wrapper.cancel(); + } else if (soundId != mappedId) { + wrapper.set(Type.VAR_INT, 0, mappedId); + } + }; + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_10to1_9_3/Protocol1_10To1_9_3_4.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_10to1_9_3/Protocol1_10To1_9_3_4.java index d11e90337..1525d5a32 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_10to1_9_3/Protocol1_10To1_9_3_4.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_10to1_9_3/Protocol1_10To1_9_3_4.java @@ -10,6 +10,7 @@ import us.myles.ViaVersion.api.remapper.ValueTransformer; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.version.Types1_9; import us.myles.ViaVersion.packets.State; +import us.myles.ViaVersion.protocols.protocol1_10to1_9_3.packets.InventoryPackets; import us.myles.ViaVersion.protocols.protocol1_10to1_9_3.storage.ResourcePackTracker; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ClientboundPackets1_9_3; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ServerboundPackets1_9_3; @@ -43,6 +44,9 @@ public class Protocol1_10To1_9_3_4 extends Protocol {}, InventoryPackets::toServerItem); + itemRewriter.registerCreativeInvAction(ServerboundPackets1_9_3.CREATIVE_INVENTORY_ACTION, Type.ITEM); + } + + public static void toServerItem(Item item) { + if (item == null) return; + boolean newItem = item.getIdentifier() >= 213 && item.getIdentifier() <= 217; + if (newItem) { // Replace server-side unknown items + item.setIdentifier((short) 1); + item.setData((short) 0); + } + } + +} diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11_1to1_11/Protocol1_11_1To1_11.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11_1to1_11/Protocol1_11_1To1_11.java index 9d16e420f..5b89e0983 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11_1to1_11/Protocol1_11_1To1_11.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11_1to1_11/Protocol1_11_1To1_11.java @@ -1,8 +1,19 @@ package us.myles.ViaVersion.protocols.protocol1_11_1to1_11; import us.myles.ViaVersion.api.protocol.Protocol; +import us.myles.ViaVersion.protocols.protocol1_11_1to1_11.packets.InventoryPackets; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ClientboundPackets1_9_3; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ServerboundPackets1_9_3; public class Protocol1_11_1To1_11 extends Protocol { + + public Protocol1_11_1To1_11() { + super(ClientboundPackets1_9_3.class, ClientboundPackets1_9_3.class, ServerboundPackets1_9_3.class, ServerboundPackets1_9_3.class); + } + + @Override + protected void registerPackets() { + InventoryPackets.register(this); + } + } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11_1to1_11/packets/InventoryPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11_1to1_11/packets/InventoryPackets.java new file mode 100644 index 000000000..6446f9684 --- /dev/null +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11_1to1_11/packets/InventoryPackets.java @@ -0,0 +1,25 @@ +package us.myles.ViaVersion.protocols.protocol1_11_1to1_11.packets; + +import us.myles.ViaVersion.api.minecraft.item.Item; +import us.myles.ViaVersion.api.rewriters.ItemRewriter; +import us.myles.ViaVersion.api.type.Type; +import us.myles.ViaVersion.protocols.protocol1_11_1to1_11.Protocol1_11_1To1_11; +import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ServerboundPackets1_9_3; + +public class InventoryPackets { + + public static void register(Protocol1_11_1To1_11 protocol) { + ItemRewriter itemRewriter = new ItemRewriter(protocol, item -> {}, InventoryPackets::toServerItem); + itemRewriter.registerCreativeInvAction(ServerboundPackets1_9_3.CREATIVE_INVENTORY_ACTION, Type.ITEM); + } + + public static void toServerItem(Item item) { + if (item == null) return; + boolean newItem = item.getIdentifier() == 452; + if (newItem) { // Replace server-side unknown items + item.setIdentifier((short) 1); + item.setData((short) 0); + } + } + +} diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/packets/InventoryPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/packets/InventoryPackets.java index fa87fc5db..0f66861b5 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/packets/InventoryPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_11to1_10/packets/InventoryPackets.java @@ -1,6 +1,8 @@ package us.myles.ViaVersion.protocols.protocol1_11to1_10.packets; import us.myles.ViaVersion.api.PacketWrapper; +import us.myles.ViaVersion.api.Via; +import us.myles.ViaVersion.api.minecraft.item.Item; import us.myles.ViaVersion.api.remapper.PacketHandler; import us.myles.ViaVersion.api.remapper.PacketRemapper; import us.myles.ViaVersion.api.rewriters.ItemRewriter; @@ -13,7 +15,7 @@ import us.myles.ViaVersion.protocols.protocol1_11to1_10.Protocol1_11To1_10; public class InventoryPackets { public static void register(Protocol1_11To1_10 protocol) { - ItemRewriter itemRewriter = new ItemRewriter(protocol, EntityIdRewriter::toClientItem, EntityIdRewriter::toServerItem); + ItemRewriter itemRewriter = new ItemRewriter(protocol, EntityIdRewriter::toClientItem, InventoryPackets::toServerItem); itemRewriter.registerSetSlot(ClientboundPackets1_9_3.SET_SLOT, Type.ITEM); itemRewriter.registerWindowItems(ClientboundPackets1_9_3.WINDOW_ITEMS, Type.ITEM_ARRAY); @@ -53,4 +55,16 @@ public class InventoryPackets { itemRewriter.registerClickWindow(ServerboundPackets1_9_3.CLICK_WINDOW, Type.ITEM); itemRewriter.registerCreativeInvAction(ServerboundPackets1_9_3.CREATIVE_INVENTORY_ACTION, Type.ITEM); } + + public static void toServerItem(Item item) { + EntityIdRewriter.toServerItem(item); + if (item == null) return; + boolean newItem = item.getIdentifier() >= 218 && item.getIdentifier() <= 234; + newItem |= item.getIdentifier() == 449 || item.getIdentifier() == 450; + if (newItem) { // Replace server-side unknown items + item.setIdentifier((short) 1); + item.setData((short) 0); + } + } + } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/packets/InventoryPackets.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/packets/InventoryPackets.java index a18c36980..4306e48cc 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/packets/InventoryPackets.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/packets/InventoryPackets.java @@ -7,6 +7,7 @@ import us.myles.ViaVersion.api.remapper.PacketHandler; import us.myles.ViaVersion.api.remapper.PacketRemapper; import us.myles.ViaVersion.api.rewriters.ItemRewriter; import us.myles.ViaVersion.api.type.Type; +import us.myles.ViaVersion.protocols.protocol1_11to1_10.EntityIdRewriter; import us.myles.ViaVersion.protocols.protocol1_9_3to1_9_1_2.ClientboundPackets1_9_3; import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.BedRewriter; import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.Protocol1_12To1_11_1; @@ -16,7 +17,7 @@ import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.providers.InventoryQui public class InventoryPackets { public static void register(Protocol1_12To1_11_1 protocol) { - ItemRewriter itemRewriter = new ItemRewriter(protocol, BedRewriter::toClientItem, BedRewriter::toServerItem); + ItemRewriter itemRewriter = new ItemRewriter(protocol, BedRewriter::toClientItem, InventoryPackets::toServerItem); itemRewriter.registerSetSlot(ClientboundPackets1_9_3.SET_SLOT, Type.ITEM); itemRewriter.registerWindowItems(ClientboundPackets1_9_3.WINDOW_ITEMS, Type.ITEM_ARRAY); @@ -98,4 +99,15 @@ public class InventoryPackets { // Creative Inventory Action itemRewriter.registerCreativeInvAction(ServerboundPackets1_12.CREATIVE_INVENTORY_ACTION, Type.ITEM); } + + public static void toServerItem(Item item) { + BedRewriter.toServerItem(item); + if (item == null) return; + boolean newItem = item.getIdentifier() >= 235 && item.getIdentifier() <= 252; + newItem |= item.getIdentifier() == 453; + if (newItem) { // Replace server-side unknown items + item.setIdentifier((short) 1); + item.setData((short) 0); + } + } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/ChatRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/ChatRewriter.java index a25840ad1..a44f4044a 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/ChatRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_13to1_12_2/ChatRewriter.java @@ -4,6 +4,7 @@ import com.google.gson.JsonElement; import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.chat.ComponentSerializer; +import us.myles.ViaVersion.api.Via; import us.myles.ViaVersion.api.rewriters.ComponentRewriter; import us.myles.ViaVersion.protocols.protocol1_13to1_12_2.data.ComponentRewriter1_13; import us.myles.ViaVersion.util.GsonUtil; @@ -86,7 +87,12 @@ public class ChatRewriter { } public static String jsonTextToLegacy(String value) { - return TextComponent.toLegacyText(ComponentSerializer.parse(value)); + try { + return TextComponent.toLegacyText(ComponentSerializer.parse(value)); + } catch (Exception e) { + Via.getPlatform().getLogger().warning("Error converting json text to legacy: " + value); + return ""; + } } public static void processTranslate(JsonElement value) { diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/ItemRewriter.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/ItemRewriter.java index b219002c9..e14ea7699 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/ItemRewriter.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/ItemRewriter.java @@ -186,6 +186,14 @@ public class ItemRewriter { item.setTag(tag); item.setData((short) data); } + + boolean newItem = item.getIdentifier() >= 198 && item.getIdentifier() <= 212; + newItem |= item.getIdentifier() == 397 && item.getData() == 5; + newItem |= item.getIdentifier() >= 432 && item.getIdentifier() <= 448; + if (newItem) { // Replace server-side unknown items + item.setIdentifier((short) 1); + item.setData((short) 0); + } } } diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/storage/EntityTracker1_9.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/storage/EntityTracker1_9.java index 57cadee46..f92904185 100644 --- a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/storage/EntityTracker1_9.java +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_9to1_8/storage/EntityTracker1_9.java @@ -16,7 +16,6 @@ import us.myles.ViaVersion.api.minecraft.metadata.types.MetaType1_9; import us.myles.ViaVersion.api.storage.EntityTracker; import us.myles.ViaVersion.api.type.Type; import us.myles.ViaVersion.api.type.types.version.Types1_9; -import us.myles.ViaVersion.protocols.base.ProtocolInfo; import us.myles.ViaVersion.protocols.protocol1_9to1_8.Protocol1_9To1_8; import us.myles.ViaVersion.protocols.protocol1_9to1_8.chat.GameMode; import us.myles.ViaVersion.protocols.protocol1_9to1_8.metadata.MetadataRewriter1_9To1_8; @@ -172,8 +171,11 @@ public class EntityTracker1_9 extends EntityTracker { Metadata meta = getMetaByIndex(metadataList, 10); //Only happens if the armorstand is small byte data = (byte) metadata.getValue(); // Check invisible | Check small | Check if custom name is empty | Check if custom name visible is true + Metadata displayName; + Metadata displayNameVisible; if ((data & 0x20) == 0x20 && ((byte) meta.getValue() & 0x01) == 0x01 - && !((String) getMetaByIndex(metadataList, 2).getValue()).isEmpty() && (boolean) getMetaByIndex(metadataList, 3).getValue()) { + && (displayName = getMetaByIndex(metadataList, 2)) != null && !((String) displayName.getValue()).isEmpty() + && (displayNameVisible = getMetaByIndex(metadataList, 3)) != null && (boolean) displayNameVisible.getValue()) { if (!knownHolograms.contains(entityId)) { knownHolograms.add(entityId); try { @@ -233,8 +235,9 @@ public class EntityTracker1_9 extends EntityTracker { public Metadata getMetaByIndex(List list, int index) { for (Metadata meta : list) - if (index == meta.getId()) + if (index == meta.getId()) { return meta; + } return null; } diff --git a/common/src/main/resources/assets/viaversion/data/mapping-1.10.json b/common/src/main/resources/assets/viaversion/data/mapping-1.10.json new file mode 100644 index 000000000..b81081768 --- /dev/null +++ b/common/src/main/resources/assets/viaversion/data/mapping-1.10.json @@ -0,0 +1,467 @@ +{ + "sounds": [ + "ambient.cave", + "block.anvil.break", + "block.anvil.destroy", + "block.anvil.fall", + "block.anvil.hit", + "block.anvil.land", + "block.anvil.place", + "block.anvil.step", + "block.anvil.use", + "block.brewing_stand.brew", + "block.chest.close", + "block.chest.locked", + "block.chest.open", + "block.chorus_flower.death", + "block.chorus_flower.grow", + "block.cloth.break", + "block.cloth.fall", + "block.cloth.hit", + "block.cloth.place", + "block.cloth.step", + "block.comparator.click", + "block.dispenser.dispense", + "block.dispenser.fail", + "block.dispenser.launch", + "block.enchantment_table.use", + "block.end_gateway.spawn", + "block.enderchest.close", + "block.enderchest.open", + "block.fence_gate.close", + "block.fence_gate.open", + "block.fire.ambient", + "block.fire.extinguish", + "block.furnace.fire_crackle", + "block.glass.break", + "block.glass.fall", + "block.glass.hit", + "block.glass.place", + "block.glass.step", + "block.grass.break", + "block.grass.fall", + "block.grass.hit", + "block.grass.place", + "block.grass.step", + "block.gravel.break", + "block.gravel.fall", + "block.gravel.hit", + "block.gravel.place", + "block.gravel.step", + "block.iron_door.close", + "block.iron_door.open", + "block.iron_trapdoor.close", + "block.iron_trapdoor.open", + "block.ladder.break", + "block.ladder.fall", + "block.ladder.hit", + "block.ladder.place", + "block.ladder.step", + "block.lava.ambient", + "block.lava.extinguish", + "block.lava.pop", + "block.lever.click", + "block.metal.break", + "block.metal.fall", + "block.metal.hit", + "block.metal.place", + "block.metal.step", + "block.metal_pressureplate.click_off", + "block.metal_pressureplate.click_on", + "block.note.basedrum", + "block.note.bass", + "block.note.harp", + "block.note.hat", + "block.note.pling", + "block.note.snare", + "block.piston.contract", + "block.piston.extend", + "block.portal.ambient", + "block.portal.travel", + "block.portal.trigger", + "block.redstone_torch.burnout", + "block.sand.break", + "block.sand.fall", + "block.sand.hit", + "block.sand.place", + "block.sand.step", + "block.slime.break", + "block.slime.fall", + "block.slime.hit", + "block.slime.place", + "block.slime.step", + "block.snow.break", + "block.snow.fall", + "block.snow.hit", + "block.snow.place", + "block.snow.step", + "block.stone.break", + "block.stone.fall", + "block.stone.hit", + "block.stone.place", + "block.stone.step", + "block.stone_button.click_off", + "block.stone_button.click_on", + "block.stone_pressureplate.click_off", + "block.stone_pressureplate.click_on", + "block.tripwire.attach", + "block.tripwire.click_off", + "block.tripwire.click_on", + "block.tripwire.detach", + "block.water.ambient", + "block.waterlily.place", + "block.wood.break", + "block.wood.fall", + "block.wood.hit", + "block.wood.place", + "block.wood.step", + "block.wood_button.click_off", + "block.wood_button.click_on", + "block.wood_pressureplate.click_off", + "block.wood_pressureplate.click_on", + "block.wooden_door.close", + "block.wooden_door.open", + "block.wooden_trapdoor.close", + "block.wooden_trapdoor.open", + "enchant.thorns.hit", + "entity.armorstand.break", + "entity.armorstand.fall", + "entity.armorstand.hit", + "entity.armorstand.place", + "entity.arrow.hit", + "entity.arrow.hit_player", + "entity.arrow.shoot", + "entity.bat.ambient", + "entity.bat.death", + "entity.bat.hurt", + "entity.bat.loop", + "entity.bat.takeoff", + "entity.blaze.ambient", + "entity.blaze.burn", + "entity.blaze.death", + "entity.blaze.hurt", + "entity.blaze.shoot", + "entity.bobber.splash", + "entity.bobber.throw", + "entity.cat.ambient", + "entity.cat.death", + "entity.cat.hiss", + "entity.cat.hurt", + "entity.cat.purr", + "entity.cat.purreow", + "entity.chicken.ambient", + "entity.chicken.death", + "entity.chicken.egg", + "entity.chicken.hurt", + "entity.chicken.step", + "entity.cow.ambient", + "entity.cow.death", + "entity.cow.hurt", + "entity.cow.milk", + "entity.cow.step", + "entity.creeper.death", + "entity.creeper.hurt", + "entity.creeper.primed", + "entity.donkey.ambient", + "entity.donkey.angry", + "entity.donkey.chest", + "entity.donkey.death", + "entity.donkey.hurt", + "entity.egg.throw", + "entity.elder_guardian.ambient", + "entity.elder_guardian.ambient_land", + "entity.elder_guardian.curse", + "entity.elder_guardian.death", + "entity.elder_guardian.death_land", + "entity.elder_guardian.hurt", + "entity.elder_guardian.hurt_land", + "entity.enderdragon.ambient", + "entity.enderdragon.death", + "entity.enderdragon.flap", + "entity.enderdragon.growl", + "entity.enderdragon.hurt", + "entity.enderdragon.shoot", + "entity.enderdragon_fireball.explode", + "entity.endereye.launch", + "entity.endermen.ambient", + "entity.endermen.death", + "entity.endermen.hurt", + "entity.endermen.scream", + "entity.endermen.stare", + "entity.endermen.teleport", + "entity.endermite.ambient", + "entity.endermite.death", + "entity.endermite.hurt", + "entity.endermite.step", + "entity.enderpearl.throw", + "entity.experience_bottle.throw", + "entity.experience_orb.pickup", + "entity.experience_orb.touch", + "entity.firework.blast", + "entity.firework.blast_far", + "entity.firework.large_blast", + "entity.firework.large_blast_far", + "entity.firework.launch", + "entity.firework.shoot", + "entity.firework.twinkle", + "entity.firework.twinkle_far", + "entity.generic.big_fall", + "entity.generic.burn", + "entity.generic.death", + "entity.generic.drink", + "entity.generic.eat", + "entity.generic.explode", + "entity.generic.extinguish_fire", + "entity.generic.hurt", + "entity.generic.small_fall", + "entity.generic.splash", + "entity.generic.swim", + "entity.ghast.ambient", + "entity.ghast.death", + "entity.ghast.hurt", + "entity.ghast.scream", + "entity.ghast.shoot", + "entity.ghast.warn", + "entity.guardian.ambient", + "entity.guardian.ambient_land", + "entity.guardian.attack", + "entity.guardian.death", + "entity.guardian.death_land", + "entity.guardian.flop", + "entity.guardian.hurt", + "entity.guardian.hurt_land", + "entity.horse.ambient", + "entity.horse.angry", + "entity.horse.armor", + "entity.horse.breathe", + "entity.horse.death", + "entity.horse.eat", + "entity.horse.gallop", + "entity.horse.hurt", + "entity.horse.jump", + "entity.horse.land", + "entity.horse.saddle", + "entity.horse.step", + "entity.horse.step_wood", + "entity.hostile.big_fall", + "entity.hostile.death", + "entity.hostile.hurt", + "entity.hostile.small_fall", + "entity.hostile.splash", + "entity.hostile.swim", + "entity.husk.ambient", + "entity.husk.death", + "entity.husk.hurt", + "entity.husk.step", + "entity.irongolem.attack", + "entity.irongolem.death", + "entity.irongolem.hurt", + "entity.irongolem.step", + "entity.item.break", + "entity.item.pickup", + "entity.itemframe.add_item", + "entity.itemframe.break", + "entity.itemframe.place", + "entity.itemframe.remove_item", + "entity.itemframe.rotate_item", + "entity.leashknot.break", + "entity.leashknot.place", + "entity.lightning.impact", + "entity.lightning.thunder", + "entity.lingeringpotion.throw", + "entity.magmacube.death", + "entity.magmacube.hurt", + "entity.magmacube.jump", + "entity.magmacube.squish", + "entity.minecart.inside", + "entity.minecart.riding", + "entity.mooshroom.shear", + "entity.mule.ambient", + "entity.mule.death", + "entity.mule.hurt", + "entity.painting.break", + "entity.painting.place", + "entity.pig.ambient", + "entity.pig.death", + "entity.pig.hurt", + "entity.pig.saddle", + "entity.pig.step", + "entity.player.attack.crit", + "entity.player.attack.knockback", + "entity.player.attack.nodamage", + "entity.player.attack.strong", + "entity.player.attack.sweep", + "entity.player.attack.weak", + "entity.player.big_fall", + "entity.player.breath", + "entity.player.burp", + "entity.player.death", + "entity.player.hurt", + "entity.player.levelup", + "entity.player.small_fall", + "entity.player.splash", + "entity.player.swim", + "entity.polar_bear.ambient", + "entity.polar_bear.baby_ambient", + "entity.polar_bear.death", + "entity.polar_bear.hurt", + "entity.polar_bear.step", + "entity.polar_bear.warning", + "entity.rabbit.ambient", + "entity.rabbit.attack", + "entity.rabbit.death", + "entity.rabbit.hurt", + "entity.rabbit.jump", + "entity.sheep.ambient", + "entity.sheep.death", + "entity.sheep.hurt", + "entity.sheep.shear", + "entity.sheep.step", + "entity.shulker.ambient", + "entity.shulker.close", + "entity.shulker.death", + "entity.shulker.hurt", + "entity.shulker.hurt_closed", + "entity.shulker.open", + "entity.shulker.shoot", + "entity.shulker.teleport", + "entity.shulker_bullet.hit", + "entity.shulker_bullet.hurt", + "entity.silverfish.ambient", + "entity.silverfish.death", + "entity.silverfish.hurt", + "entity.silverfish.step", + "entity.skeleton.ambient", + "entity.skeleton.death", + "entity.skeleton.hurt", + "entity.skeleton.shoot", + "entity.skeleton.step", + "entity.skeleton_horse.ambient", + "entity.skeleton_horse.death", + "entity.skeleton_horse.hurt", + "entity.slime.attack", + "entity.slime.death", + "entity.slime.hurt", + "entity.slime.jump", + "entity.slime.squish", + "entity.small_magmacube.death", + "entity.small_magmacube.hurt", + "entity.small_magmacube.squish", + "entity.small_slime.death", + "entity.small_slime.hurt", + "entity.small_slime.jump", + "entity.small_slime.squish", + "entity.snowball.throw", + "entity.snowman.ambient", + "entity.snowman.death", + "entity.snowman.hurt", + "entity.snowman.shoot", + "entity.spider.ambient", + "entity.spider.death", + "entity.spider.hurt", + "entity.spider.step", + "entity.splash_potion.break", + "entity.splash_potion.throw", + "entity.squid.ambient", + "entity.squid.death", + "entity.squid.hurt", + "entity.stray.ambient", + "entity.stray.death", + "entity.stray.hurt", + "entity.stray.step", + "entity.tnt.primed", + "entity.villager.ambient", + "entity.villager.death", + "entity.villager.hurt", + "entity.villager.no", + "entity.villager.trading", + "entity.villager.yes", + "entity.witch.ambient", + "entity.witch.death", + "entity.witch.drink", + "entity.witch.hurt", + "entity.witch.throw", + "entity.wither.ambient", + "entity.wither.break_block", + "entity.wither.death", + "entity.wither.hurt", + "entity.wither.shoot", + "entity.wither.spawn", + "entity.wither_skeleton.ambient", + "entity.wither_skeleton.death", + "entity.wither_skeleton.hurt", + "entity.wither_skeleton.step", + "entity.wolf.ambient", + "entity.wolf.death", + "entity.wolf.growl", + "entity.wolf.howl", + "entity.wolf.hurt", + "entity.wolf.pant", + "entity.wolf.shake", + "entity.wolf.step", + "entity.wolf.whine", + "entity.zombie.ambient", + "entity.zombie.attack_door_wood", + "entity.zombie.attack_iron_door", + "entity.zombie.break_door_wood", + "entity.zombie.death", + "entity.zombie.hurt", + "entity.zombie.infect", + "entity.zombie.step", + "entity.zombie_horse.ambient", + "entity.zombie_horse.death", + "entity.zombie_horse.hurt", + "entity.zombie_pig.ambient", + "entity.zombie_pig.angry", + "entity.zombie_pig.death", + "entity.zombie_pig.hurt", + "entity.zombie_villager.ambient", + "entity.zombie_villager.converted", + "entity.zombie_villager.cure", + "entity.zombie_villager.death", + "entity.zombie_villager.hurt", + "entity.zombie_villager.step", + "item.armor.equip_chain", + "item.armor.equip_diamond", + "item.armor.equip_generic", + "item.armor.equip_gold", + "item.armor.equip_iron", + "item.armor.equip_leather", + "item.bottle.fill", + "item.bottle.fill_dragonbreath", + "item.bucket.empty", + "item.bucket.empty_lava", + "item.bucket.fill", + "item.bucket.fill_lava", + "item.chorus_fruit.teleport", + "item.elytra.flying", + "item.firecharge.use", + "item.flintandsteel.use", + "item.hoe.till", + "item.shield.block", + "item.shield.break", + "item.shovel.flatten", + "music.creative", + "music.credits", + "music.dragon", + "music.end", + "music.game", + "music.menu", + "music.nether", + "record.11", + "record.13", + "record.blocks", + "record.cat", + "record.chirp", + "record.far", + "record.mall", + "record.mellohi", + "record.stal", + "record.strad", + "record.wait", + "record.ward", + "ui.button.click", + "weather.rain", + "weather.rain.above" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/assets/viaversion/data/mapping-1.11.json b/common/src/main/resources/assets/viaversion/data/mapping-1.11.json new file mode 100644 index 000000000..5f947a4a6 --- /dev/null +++ b/common/src/main/resources/assets/viaversion/data/mapping-1.11.json @@ -0,0 +1,497 @@ +{ + "sounds": [ + "ambient.cave", + "block.anvil.break", + "block.anvil.destroy", + "block.anvil.fall", + "block.anvil.hit", + "block.anvil.land", + "block.anvil.place", + "block.anvil.step", + "block.anvil.use", + "block.brewing_stand.brew", + "block.chest.close", + "block.chest.locked", + "block.chest.open", + "block.chorus_flower.death", + "block.chorus_flower.grow", + "block.cloth.break", + "block.cloth.fall", + "block.cloth.hit", + "block.cloth.place", + "block.cloth.step", + "block.comparator.click", + "block.dispenser.dispense", + "block.dispenser.fail", + "block.dispenser.launch", + "block.enchantment_table.use", + "block.end_gateway.spawn", + "block.enderchest.close", + "block.enderchest.open", + "block.fence_gate.close", + "block.fence_gate.open", + "block.fire.ambient", + "block.fire.extinguish", + "block.furnace.fire_crackle", + "block.glass.break", + "block.glass.fall", + "block.glass.hit", + "block.glass.place", + "block.glass.step", + "block.grass.break", + "block.grass.fall", + "block.grass.hit", + "block.grass.place", + "block.grass.step", + "block.gravel.break", + "block.gravel.fall", + "block.gravel.hit", + "block.gravel.place", + "block.gravel.step", + "block.iron_door.close", + "block.iron_door.open", + "block.iron_trapdoor.close", + "block.iron_trapdoor.open", + "block.ladder.break", + "block.ladder.fall", + "block.ladder.hit", + "block.ladder.place", + "block.ladder.step", + "block.lava.ambient", + "block.lava.extinguish", + "block.lava.pop", + "block.lever.click", + "block.metal.break", + "block.metal.fall", + "block.metal.hit", + "block.metal.place", + "block.metal.step", + "block.metal_pressureplate.click_off", + "block.metal_pressureplate.click_on", + "block.note.basedrum", + "block.note.bass", + "block.note.harp", + "block.note.hat", + "block.note.pling", + "block.note.snare", + "block.piston.contract", + "block.piston.extend", + "block.portal.ambient", + "block.portal.travel", + "block.portal.trigger", + "block.redstone_torch.burnout", + "block.sand.break", + "block.sand.fall", + "block.sand.hit", + "block.sand.place", + "block.sand.step", + "block.shulker_box.close", + "block.shulker_box.open", + "block.slime.break", + "block.slime.fall", + "block.slime.hit", + "block.slime.place", + "block.slime.step", + "block.snow.break", + "block.snow.fall", + "block.snow.hit", + "block.snow.place", + "block.snow.step", + "block.stone.break", + "block.stone.fall", + "block.stone.hit", + "block.stone.place", + "block.stone.step", + "block.stone_button.click_off", + "block.stone_button.click_on", + "block.stone_pressureplate.click_off", + "block.stone_pressureplate.click_on", + "block.tripwire.attach", + "block.tripwire.click_off", + "block.tripwire.click_on", + "block.tripwire.detach", + "block.water.ambient", + "block.waterlily.place", + "block.wood.break", + "block.wood.fall", + "block.wood.hit", + "block.wood.place", + "block.wood.step", + "block.wood_button.click_off", + "block.wood_button.click_on", + "block.wood_pressureplate.click_off", + "block.wood_pressureplate.click_on", + "block.wooden_door.close", + "block.wooden_door.open", + "block.wooden_trapdoor.close", + "block.wooden_trapdoor.open", + "enchant.thorns.hit", + "entity.armorstand.break", + "entity.armorstand.fall", + "entity.armorstand.hit", + "entity.armorstand.place", + "entity.arrow.hit", + "entity.arrow.hit_player", + "entity.arrow.shoot", + "entity.bat.ambient", + "entity.bat.death", + "entity.bat.hurt", + "entity.bat.loop", + "entity.bat.takeoff", + "entity.blaze.ambient", + "entity.blaze.burn", + "entity.blaze.death", + "entity.blaze.hurt", + "entity.blaze.shoot", + "entity.bobber.splash", + "entity.bobber.throw", + "entity.cat.ambient", + "entity.cat.death", + "entity.cat.hiss", + "entity.cat.hurt", + "entity.cat.purr", + "entity.cat.purreow", + "entity.chicken.ambient", + "entity.chicken.death", + "entity.chicken.egg", + "entity.chicken.hurt", + "entity.chicken.step", + "entity.cow.ambient", + "entity.cow.death", + "entity.cow.hurt", + "entity.cow.milk", + "entity.cow.step", + "entity.creeper.death", + "entity.creeper.hurt", + "entity.creeper.primed", + "entity.donkey.ambient", + "entity.donkey.angry", + "entity.donkey.chest", + "entity.donkey.death", + "entity.donkey.hurt", + "entity.egg.throw", + "entity.elder_guardian.ambient", + "entity.elder_guardian.ambient_land", + "entity.elder_guardian.curse", + "entity.elder_guardian.death", + "entity.elder_guardian.death_land", + "entity.elder_guardian.hurt", + "entity.elder_guardian.flop", + "entity.elder_guardian.hurt_land", + "entity.enderdragon.ambient", + "entity.enderdragon.death", + "entity.enderdragon.flap", + "entity.enderdragon.growl", + "entity.enderdragon.hurt", + "entity.enderdragon.shoot", + "entity.enderdragon_fireball.explode", + "entity.endereye.launch", + "entity.endermen.ambient", + "entity.endermen.death", + "entity.endermen.hurt", + "entity.endermen.scream", + "entity.endermen.stare", + "entity.endermen.teleport", + "entity.endermite.ambient", + "entity.endermite.death", + "entity.endermite.hurt", + "entity.endermite.step", + "entity.enderpearl.throw", + "entity.evocation_fangs.attack", + "entity.evocation_illager.ambient", + "entity.evocation_illager.cast_spell", + "entity.evocation_illager.death", + "entity.evocation_illager.hurt", + "entity.evocation_illager.prepare_attack", + "entity.evocation_illager.prepare_summon", + "entity.evocation_illager.prepare_wololo", + "entity.experience_bottle.throw", + "entity.experience_orb.pickup", + "entity.firework.blast", + "entity.firework.blast_far", + "entity.firework.large_blast", + "entity.firework.large_blast_far", + "entity.firework.launch", + "entity.firework.shoot", + "entity.firework.twinkle", + "entity.firework.twinkle_far", + "entity.generic.big_fall", + "entity.generic.burn", + "entity.generic.death", + "entity.generic.drink", + "entity.generic.eat", + "entity.generic.explode", + "entity.generic.extinguish_fire", + "entity.generic.hurt", + "entity.generic.small_fall", + "entity.generic.splash", + "entity.generic.swim", + "entity.ghast.ambient", + "entity.ghast.death", + "entity.ghast.hurt", + "entity.ghast.scream", + "entity.ghast.shoot", + "entity.ghast.warn", + "entity.guardian.ambient", + "entity.guardian.ambient_land", + "entity.guardian.attack", + "entity.guardian.death", + "entity.guardian.death_land", + "entity.guardian.flop", + "entity.guardian.hurt", + "entity.guardian.hurt_land", + "entity.horse.ambient", + "entity.horse.angry", + "entity.horse.armor", + "entity.horse.breathe", + "entity.horse.death", + "entity.horse.eat", + "entity.horse.gallop", + "entity.horse.hurt", + "entity.horse.jump", + "entity.horse.land", + "entity.horse.saddle", + "entity.horse.step", + "entity.horse.step_wood", + "entity.hostile.big_fall", + "entity.hostile.death", + "entity.hostile.hurt", + "entity.hostile.small_fall", + "entity.hostile.splash", + "entity.hostile.swim", + "entity.husk.ambient", + "entity.husk.death", + "entity.husk.hurt", + "entity.husk.step", + "entity.irongolem.attack", + "entity.irongolem.death", + "entity.irongolem.hurt", + "entity.irongolem.step", + "entity.item.break", + "entity.item.pickup", + "entity.itemframe.add_item", + "entity.itemframe.break", + "entity.itemframe.place", + "entity.itemframe.remove_item", + "entity.itemframe.rotate_item", + "entity.leashknot.break", + "entity.leashknot.place", + "entity.lightning.impact", + "entity.lightning.thunder", + "entity.lingeringpotion.throw", + "entity.llama.ambient", + "entity.llama.angry", + "entity.llama.chest", + "entity.llama.death", + "entity.llama.eat", + "entity.llama.hurt", + "entity.llama.spit", + "entity.llama.step", + "entity.llama.swag", + "entity.magmacube.death", + "entity.magmacube.hurt", + "entity.magmacube.jump", + "entity.magmacube.squish", + "entity.minecart.inside", + "entity.minecart.riding", + "entity.mooshroom.shear", + "entity.mule.ambient", + "entity.mule.chest", + "entity.mule.death", + "entity.mule.hurt", + "entity.painting.break", + "entity.painting.place", + "entity.pig.ambient", + "entity.pig.death", + "entity.pig.hurt", + "entity.pig.saddle", + "entity.pig.step", + "entity.player.attack.crit", + "entity.player.attack.knockback", + "entity.player.attack.nodamage", + "entity.player.attack.strong", + "entity.player.attack.sweep", + "entity.player.attack.weak", + "entity.player.big_fall", + "entity.player.breath", + "entity.player.burp", + "entity.player.death", + "entity.player.hurt", + "entity.player.levelup", + "entity.player.small_fall", + "entity.player.splash", + "entity.player.swim", + "entity.polar_bear.ambient", + "entity.polar_bear.baby_ambient", + "entity.polar_bear.death", + "entity.polar_bear.hurt", + "entity.polar_bear.step", + "entity.polar_bear.warning", + "entity.rabbit.ambient", + "entity.rabbit.attack", + "entity.rabbit.death", + "entity.rabbit.hurt", + "entity.rabbit.jump", + "entity.sheep.ambient", + "entity.sheep.death", + "entity.sheep.hurt", + "entity.sheep.shear", + "entity.sheep.step", + "entity.shulker.ambient", + "entity.shulker.close", + "entity.shulker.death", + "entity.shulker.hurt", + "entity.shulker.hurt_closed", + "entity.shulker.open", + "entity.shulker.shoot", + "entity.shulker.teleport", + "entity.shulker_bullet.hit", + "entity.shulker_bullet.hurt", + "entity.silverfish.ambient", + "entity.silverfish.death", + "entity.silverfish.hurt", + "entity.silverfish.step", + "entity.skeleton.ambient", + "entity.skeleton.death", + "entity.skeleton.hurt", + "entity.skeleton.shoot", + "entity.skeleton.step", + "entity.skeleton_horse.ambient", + "entity.skeleton_horse.death", + "entity.skeleton_horse.hurt", + "entity.slime.attack", + "entity.slime.death", + "entity.slime.hurt", + "entity.slime.jump", + "entity.slime.squish", + "entity.small_magmacube.death", + "entity.small_magmacube.hurt", + "entity.small_magmacube.squish", + "entity.small_slime.death", + "entity.small_slime.hurt", + "entity.small_slime.jump", + "entity.small_slime.squish", + "entity.snowball.throw", + "entity.snowman.ambient", + "entity.snowman.death", + "entity.snowman.hurt", + "entity.snowman.shoot", + "entity.spider.ambient", + "entity.spider.death", + "entity.spider.hurt", + "entity.spider.step", + "entity.splash_potion.break", + "entity.splash_potion.throw", + "entity.squid.ambient", + "entity.squid.death", + "entity.squid.hurt", + "entity.stray.ambient", + "entity.stray.death", + "entity.stray.hurt", + "entity.stray.step", + "entity.tnt.primed", + "entity.vex.ambient", + "entity.vex.charge", + "entity.vex.death", + "entity.vex.hurt", + "entity.villager.ambient", + "entity.villager.death", + "entity.villager.hurt", + "entity.villager.no", + "entity.villager.trading", + "entity.villager.yes", + "entity.vindication_illager.ambient", + "entity.vindication_illager.death", + "entity.vindication_illager.hurt", + "entity.witch.ambient", + "entity.witch.death", + "entity.witch.drink", + "entity.witch.hurt", + "entity.witch.throw", + "entity.wither.ambient", + "entity.wither.break_block", + "entity.wither.death", + "entity.wither.hurt", + "entity.wither.shoot", + "entity.wither.spawn", + "entity.wither_skeleton.ambient", + "entity.wither_skeleton.death", + "entity.wither_skeleton.hurt", + "entity.wither_skeleton.step", + "entity.wolf.ambient", + "entity.wolf.death", + "entity.wolf.growl", + "entity.wolf.howl", + "entity.wolf.hurt", + "entity.wolf.pant", + "entity.wolf.shake", + "entity.wolf.step", + "entity.wolf.whine", + "entity.zombie.ambient", + "entity.zombie.attack_door_wood", + "entity.zombie.attack_iron_door", + "entity.zombie.break_door_wood", + "entity.zombie.death", + "entity.zombie.hurt", + "entity.zombie.infect", + "entity.zombie.step", + "entity.zombie_horse.ambient", + "entity.zombie_horse.death", + "entity.zombie_horse.hurt", + "entity.zombie_pig.ambient", + "entity.zombie_pig.angry", + "entity.zombie_pig.death", + "entity.zombie_pig.hurt", + "entity.zombie_villager.ambient", + "entity.zombie_villager.converted", + "entity.zombie_villager.cure", + "entity.zombie_villager.death", + "entity.zombie_villager.hurt", + "entity.zombie_villager.step", + "item.armor.equip_chain", + "item.armor.equip_diamond", + "item.armor.equip_elytra", + "item.armor.equip_generic", + "item.armor.equip_gold", + "item.armor.equip_iron", + "item.armor.equip_leather", + "item.bottle.empty", + "item.bottle.fill", + "item.bottle.fill_dragonbreath", + "item.bucket.empty", + "item.bucket.empty_lava", + "item.bucket.fill", + "item.bucket.fill_lava", + "item.chorus_fruit.teleport", + "item.elytra.flying", + "item.firecharge.use", + "item.flintandsteel.use", + "item.hoe.till", + "item.shield.block", + "item.shield.break", + "item.shovel.flatten", + "item.totem.use", + "music.creative", + "music.credits", + "music.dragon", + "music.end", + "music.game", + "music.menu", + "music.nether", + "record.11", + "record.13", + "record.blocks", + "record.cat", + "record.chirp", + "record.far", + "record.mall", + "record.mellohi", + "record.stal", + "record.strad", + "record.wait", + "record.ward", + "ui.button.click", + "weather.rain", + "weather.rain.above" + ] +} \ No newline at end of file diff --git a/common/src/main/resources/assets/viaversion/data/mapping-1.9.4.json b/common/src/main/resources/assets/viaversion/data/mapping-1.9.4.json new file mode 100644 index 000000000..230300d0d --- /dev/null +++ b/common/src/main/resources/assets/viaversion/data/mapping-1.9.4.json @@ -0,0 +1,448 @@ +{ + "sounds": [ + "ambient.cave", + "block.anvil.break", + "block.anvil.destroy", + "block.anvil.fall", + "block.anvil.hit", + "block.anvil.land", + "block.anvil.place", + "block.anvil.step", + "block.anvil.use", + "block.brewing_stand.brew", + "block.chest.close", + "block.chest.locked", + "block.chest.open", + "block.chorus_flower.death", + "block.chorus_flower.grow", + "block.cloth.break", + "block.cloth.fall", + "block.cloth.hit", + "block.cloth.place", + "block.cloth.step", + "block.comparator.click", + "block.dispenser.dispense", + "block.dispenser.fail", + "block.dispenser.launch", + "block.end_gateway.spawn", + "block.enderchest.close", + "block.enderchest.open", + "block.fence_gate.close", + "block.fence_gate.open", + "block.fire.ambient", + "block.fire.extinguish", + "block.furnace.fire_crackle", + "block.glass.break", + "block.glass.fall", + "block.glass.hit", + "block.glass.place", + "block.glass.step", + "block.grass.break", + "block.grass.fall", + "block.grass.hit", + "block.grass.place", + "block.grass.step", + "block.gravel.break", + "block.gravel.fall", + "block.gravel.hit", + "block.gravel.place", + "block.gravel.step", + "block.iron_door.close", + "block.iron_door.open", + "block.iron_trapdoor.close", + "block.iron_trapdoor.open", + "block.ladder.break", + "block.ladder.fall", + "block.ladder.hit", + "block.ladder.place", + "block.ladder.step", + "block.lava.ambient", + "block.lava.extinguish", + "block.lava.pop", + "block.lever.click", + "block.metal.break", + "block.metal.fall", + "block.metal.hit", + "block.metal.place", + "block.metal.step", + "block.metal_pressureplate.click_off", + "block.metal_pressureplate.click_on", + "block.note.basedrum", + "block.note.bass", + "block.note.harp", + "block.note.hat", + "block.note.pling", + "block.note.snare", + "block.piston.contract", + "block.piston.extend", + "block.portal.ambient", + "block.portal.travel", + "block.portal.trigger", + "block.redstone_torch.burnout", + "block.sand.break", + "block.sand.fall", + "block.sand.hit", + "block.sand.place", + "block.sand.step", + "block.slime.break", + "block.slime.fall", + "block.slime.hit", + "block.slime.place", + "block.slime.step", + "block.snow.break", + "block.snow.fall", + "block.snow.hit", + "block.snow.place", + "block.snow.step", + "block.stone.break", + "block.stone.fall", + "block.stone.hit", + "block.stone.place", + "block.stone.step", + "block.stone_button.click_off", + "block.stone_button.click_on", + "block.stone_pressureplate.click_off", + "block.stone_pressureplate.click_on", + "block.tripwire.attach", + "block.tripwire.click_off", + "block.tripwire.click_on", + "block.tripwire.detach", + "block.water.ambient", + "block.waterlily.place", + "block.wood.break", + "block.wood.fall", + "block.wood.hit", + "block.wood.place", + "block.wood.step", + "block.wood_button.click_off", + "block.wood_button.click_on", + "block.wood_pressureplate.click_off", + "block.wood_pressureplate.click_on", + "block.wooden_door.close", + "block.wooden_door.open", + "block.wooden_trapdoor.close", + "block.wooden_trapdoor.open", + "enchant.thorns.hit", + "entity.armorstand.break", + "entity.armorstand.fall", + "entity.armorstand.hit", + "entity.armorstand.place", + "entity.arrow.hit", + "entity.arrow.hit_player", + "entity.arrow.shoot", + "entity.bat.ambient", + "entity.bat.death", + "entity.bat.hurt", + "entity.bat.loop", + "entity.bat.takeoff", + "entity.blaze.ambient", + "entity.blaze.burn", + "entity.blaze.death", + "entity.blaze.hurt", + "entity.blaze.shoot", + "entity.bobber.splash", + "entity.bobber.throw", + "entity.cat.ambient", + "entity.cat.death", + "entity.cat.hiss", + "entity.cat.hurt", + "entity.cat.purr", + "entity.cat.purreow", + "entity.chicken.ambient", + "entity.chicken.death", + "entity.chicken.egg", + "entity.chicken.hurt", + "entity.chicken.step", + "entity.cow.ambient", + "entity.cow.death", + "entity.cow.hurt", + "entity.cow.milk", + "entity.cow.step", + "entity.creeper.death", + "entity.creeper.hurt", + "entity.creeper.primed", + "entity.donkey.ambient", + "entity.donkey.angry", + "entity.donkey.chest", + "entity.donkey.death", + "entity.donkey.hurt", + "entity.egg.throw", + "entity.elder_guardian.ambient", + "entity.elder_guardian.ambient_land", + "entity.elder_guardian.curse", + "entity.elder_guardian.death", + "entity.elder_guardian.death_land", + "entity.elder_guardian.hurt", + "entity.elder_guardian.hurt_land", + "entity.enderdragon.ambient", + "entity.enderdragon.death", + "entity.enderdragon.flap", + "entity.enderdragon.growl", + "entity.enderdragon.hurt", + "entity.enderdragon.shoot", + "entity.enderdragon_fireball.explode", + "entity.endereye.launch", + "entity.endermen.ambient", + "entity.endermen.death", + "entity.endermen.hurt", + "entity.endermen.scream", + "entity.endermen.stare", + "entity.endermen.teleport", + "entity.endermite.ambient", + "entity.endermite.death", + "entity.endermite.hurt", + "entity.endermite.step", + "entity.enderpearl.throw", + "entity.experience_bottle.throw", + "entity.experience_orb.pickup", + "entity.experience_orb.touch", + "entity.firework.blast", + "entity.firework.blast_far", + "entity.firework.large_blast", + "entity.firework.large_blast_far", + "entity.firework.launch", + "entity.firework.shoot", + "entity.firework.twinkle", + "entity.firework.twinkle_far", + "entity.generic.big_fall", + "entity.generic.burn", + "entity.generic.death", + "entity.generic.drink", + "entity.generic.eat", + "entity.generic.explode", + "entity.generic.extinguish_fire", + "entity.generic.hurt", + "entity.generic.small_fall", + "entity.generic.splash", + "entity.generic.swim", + "entity.ghast.ambient", + "entity.ghast.death", + "entity.ghast.hurt", + "entity.ghast.scream", + "entity.ghast.shoot", + "entity.ghast.warn", + "entity.guardian.ambient", + "entity.guardian.ambient_land", + "entity.guardian.attack", + "entity.guardian.death", + "entity.guardian.death_land", + "entity.guardian.flop", + "entity.guardian.hurt", + "entity.guardian.hurt_land", + "entity.horse.ambient", + "entity.horse.angry", + "entity.horse.armor", + "entity.horse.breathe", + "entity.horse.death", + "entity.horse.eat", + "entity.horse.gallop", + "entity.horse.hurt", + "entity.horse.jump", + "entity.horse.land", + "entity.horse.saddle", + "entity.horse.step", + "entity.horse.step_wood", + "entity.hostile.big_fall", + "entity.hostile.death", + "entity.hostile.hurt", + "entity.hostile.small_fall", + "entity.hostile.splash", + "entity.hostile.swim", + "entity.irongolem.attack", + "entity.irongolem.death", + "entity.irongolem.hurt", + "entity.irongolem.step", + "entity.item.break", + "entity.item.pickup", + "entity.itemframe.add_item", + "entity.itemframe.break", + "entity.itemframe.place", + "entity.itemframe.remove_item", + "entity.itemframe.rotate_item", + "entity.leashknot.break", + "entity.leashknot.place", + "entity.lightning.impact", + "entity.lightning.thunder", + "entity.lingeringpotion.throw", + "entity.magmacube.death", + "entity.magmacube.hurt", + "entity.magmacube.jump", + "entity.magmacube.squish", + "entity.minecart.inside", + "entity.minecart.riding", + "entity.mooshroom.shear", + "entity.mule.ambient", + "entity.mule.death", + "entity.mule.hurt", + "entity.painting.break", + "entity.painting.place", + "entity.pig.ambient", + "entity.pig.death", + "entity.pig.hurt", + "entity.pig.saddle", + "entity.pig.step", + "entity.player.attack.crit", + "entity.player.attack.knockback", + "entity.player.attack.nodamage", + "entity.player.attack.strong", + "entity.player.attack.sweep", + "entity.player.attack.weak", + "entity.player.big_fall", + "entity.player.breath", + "entity.player.burp", + "entity.player.death", + "entity.player.hurt", + "entity.player.levelup", + "entity.player.small_fall", + "entity.player.splash", + "entity.player.swim", + "entity.rabbit.ambient", + "entity.rabbit.attack", + "entity.rabbit.death", + "entity.rabbit.hurt", + "entity.rabbit.jump", + "entity.sheep.ambient", + "entity.sheep.death", + "entity.sheep.hurt", + "entity.sheep.shear", + "entity.sheep.step", + "entity.shulker.ambient", + "entity.shulker.close", + "entity.shulker.death", + "entity.shulker.hurt", + "entity.shulker.hurt_closed", + "entity.shulker.open", + "entity.shulker.shoot", + "entity.shulker.teleport", + "entity.shulker_bullet.hit", + "entity.shulker_bullet.hurt", + "entity.silverfish.ambient", + "entity.silverfish.death", + "entity.silverfish.hurt", + "entity.silverfish.step", + "entity.skeleton.ambient", + "entity.skeleton.death", + "entity.skeleton.hurt", + "entity.skeleton.shoot", + "entity.skeleton.step", + "entity.skeleton_horse.ambient", + "entity.skeleton_horse.death", + "entity.skeleton_horse.hurt", + "entity.slime.attack", + "entity.slime.death", + "entity.slime.hurt", + "entity.slime.jump", + "entity.slime.squish", + "entity.small_magmacube.death", + "entity.small_magmacube.hurt", + "entity.small_magmacube.squish", + "entity.small_slime.death", + "entity.small_slime.hurt", + "entity.small_slime.jump", + "entity.small_slime.squish", + "entity.snowball.throw", + "entity.snowman.ambient", + "entity.snowman.death", + "entity.snowman.hurt", + "entity.snowman.shoot", + "entity.spider.ambient", + "entity.spider.death", + "entity.spider.hurt", + "entity.spider.step", + "entity.splash_potion.break", + "entity.splash_potion.throw", + "entity.squid.ambient", + "entity.squid.death", + "entity.squid.hurt", + "entity.tnt.primed", + "entity.villager.ambient", + "entity.villager.death", + "entity.villager.hurt", + "entity.villager.no", + "entity.villager.trading", + "entity.villager.yes", + "entity.witch.ambient", + "entity.witch.death", + "entity.witch.drink", + "entity.witch.hurt", + "entity.witch.throw", + "entity.wither.ambient", + "entity.wither.break_block", + "entity.wither.death", + "entity.wither.hurt", + "entity.wither.shoot", + "entity.wither.spawn", + "entity.wolf.ambient", + "entity.wolf.death", + "entity.wolf.growl", + "entity.wolf.howl", + "entity.wolf.hurt", + "entity.wolf.pant", + "entity.wolf.shake", + "entity.wolf.step", + "entity.wolf.whine", + "entity.zombie.ambient", + "entity.zombie.attack_door_wood", + "entity.zombie.attack_iron_door", + "entity.zombie.break_door_wood", + "entity.zombie.death", + "entity.zombie.hurt", + "entity.zombie.infect", + "entity.zombie.step", + "entity.zombie_horse.ambient", + "entity.zombie_horse.death", + "entity.zombie_horse.hurt", + "entity.zombie_pig.ambient", + "entity.zombie_pig.angry", + "entity.zombie_pig.death", + "entity.zombie_pig.hurt", + "entity.zombie_villager.ambient", + "entity.zombie_villager.converted", + "entity.zombie_villager.cure", + "entity.zombie_villager.death", + "entity.zombie_villager.hurt", + "entity.zombie_villager.step", + "item.armor.equip_chain", + "item.armor.equip_diamond", + "item.armor.equip_generic", + "item.armor.equip_gold", + "item.armor.equip_iron", + "item.armor.equip_leather", + "item.bottle.fill", + "item.bottle.fill_dragonbreath", + "item.bucket.empty", + "item.bucket.empty_lava", + "item.bucket.fill", + "item.bucket.fill_lava", + "item.chorus_fruit.teleport", + "item.elytra.flying", + "item.firecharge.use", + "item.flintandsteel.use", + "item.hoe.till", + "item.shield.block", + "item.shield.break", + "item.shovel.flatten", + "music.creative", + "music.credits", + "music.dragon", + "music.end", + "music.game", + "music.menu", + "music.nether", + "record.11", + "record.13", + "record.blocks", + "record.cat", + "record.chirp", + "record.far", + "record.mall", + "record.mellohi", + "record.stal", + "record.strad", + "record.wait", + "record.ward", + "ui.button.click", + "weather.rain", + "weather.rain.above" + ] +} \ No newline at end of file