diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/data/MappingData.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/data/MappingData.java index 2d5ac57af..2c5afc755 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/data/MappingData.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/data/MappingData.java @@ -28,6 +28,7 @@ public class MappingData extends MappingDataBase { private KeyMappings items; private KeyMappings blocks; + private KeyMappings sounds; public MappingData() { super("1.20.3", "1.20.5"); @@ -37,9 +38,10 @@ public class MappingData extends MappingDataBase { protected void loadExtras(final CompoundTag data) { super.loadExtras(data); - final CompoundTag extraMappings = MappingDataLoader.INSTANCE.loadNBT("items-blocks-1.20.3.nbt"); + final CompoundTag extraMappings = MappingDataLoader.INSTANCE.loadNBT("extra-identifiers-1.20.3.nbt"); items = new KeyMappings(extraMappings.getListTag("items", StringTag.class)); blocks = new KeyMappings(extraMappings.getListTag("blocks", StringTag.class)); + sounds = new KeyMappings(extraMappings.getListTag("sounds", StringTag.class)); } public int itemId(final String name) { @@ -57,4 +59,12 @@ public class MappingData extends MappingDataBase { public @Nullable String blockName(final int id) { return blocks.idToKey(id); } + + public int soundId(final String name) { + return sounds.keyToId(name); + } + + public @Nullable String soundName(final int id) { + return sounds.idToKey(id); + } } diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/EntityPacketRewriter1_20_5.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/EntityPacketRewriter1_20_5.java index ec8758a06..e3000274a 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/EntityPacketRewriter1_20_5.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_20_5to1_20_3/rewriter/EntityPacketRewriter1_20_5.java @@ -42,6 +42,7 @@ import com.viaversion.viaversion.rewriter.EntityRewriter; import java.util.Arrays; import java.util.Map; import java.util.UUID; +import org.checkerframework.checker.nullness.qual.Nullable; public final class EntityPacketRewriter1_20_5 extends EntityRewriter { @@ -76,6 +77,16 @@ public final class EntityPacketRewriter1_20_5 extends EntityRewriter biomes = registryData.getCompoundTag("minecraft:worldgen/biome").getListTag("value", CompoundTag.class); + for (final CompoundTag biome : biomes) { + final CompoundTag effects = biome.getCompoundTag("element").getCompoundTag("effects"); + checkSoundTag(effects.getCompoundTag("mood_sound"), "sound"); + checkSoundTag(effects.getCompoundTag("additions_sound"), "sound"); + checkSoundTag(effects.getCompoundTag("music"), "sound"); + checkSoundTag(effects, "ambient_sound"); + } + for (final Map.Entry entry : registryData.entrySet()) { final CompoundTag entryTag = (CompoundTag) entry.getValue(); final String type = entryTag.getString("type"); @@ -211,6 +222,20 @@ public final class EntityPacketRewriter1_20_5 extends EntityRewriter