From b1468ac6d08797e6c93f8c716c03659104b34dd1 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Thu, 18 Apr 2024 18:33:41 +0200 Subject: [PATCH] Update particle codec format Was changed in 1.20.5-pre1 --- .../rewriter/EntityPacketRewriter1_20_5.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) 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 70ca26531..1fb2d77eb 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 @@ -41,6 +41,7 @@ import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.data.BannerPat import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.packet.ClientboundConfigurationPackets1_20_5; import com.viaversion.viaversion.protocols.protocol1_20_5to1_20_3.storage.AcknowledgedMessagesStorage; import com.viaversion.viaversion.rewriter.EntityRewriter; +import com.viaversion.viaversion.util.Key; import java.util.Arrays; import java.util.Map; import java.util.UUID; @@ -79,14 +80,24 @@ 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"); + + // Fixup sound ids that are now hard checked against the registry checkSoundTag(effects.getCompoundTag("mood_sound"), "sound"); checkSoundTag(effects.getCompoundTag("additions_sound"), "sound"); checkSoundTag(effects.getCompoundTag("music"), "sound"); checkSoundTag(effects, "ambient_sound"); + + // Particle format changes + final CompoundTag particle = effects.getCompoundTag("particle"); + if (particle != null) { + final CompoundTag particleOptions = particle.getCompoundTag("options"); + final String particleType = particleOptions.getString("type"); + updateParticleFormat(particleOptions, Key.stripMinecraftNamespace(particleType)); + } } for (final Map.Entry entry : registryData.entrySet()) { @@ -226,6 +237,26 @@ public final class EntityPacketRewriter1_20_5 extends EntityRewriter