diff --git a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/packets/EntityPackets.java b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/packets/EntityPackets.java index 6bb4ae6f0..b51c5bb7c 100644 --- a/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/packets/EntityPackets.java +++ b/common/src/main/java/com/viaversion/viaversion/protocols/protocol1_13to1_12_2/packets/EntityPackets.java @@ -17,6 +17,7 @@ */ package com.viaversion.viaversion.protocols.protocol1_13to1_12_2.packets; +import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.minecraft.entities.Entity1_13Types; import com.viaversion.viaversion.api.protocol.packet.PacketWrapper; import com.viaversion.viaversion.api.protocol.remapper.PacketHandler; @@ -146,6 +147,25 @@ public class EntityPackets { } }); + protocol.registerClientbound(ClientboundPackets1_12_1.ENTITY_EFFECT, new PacketRemapper() { + @Override + public void registerMap() { + map(Type.VAR_INT); // Entity id + map(Type.BYTE); // Effect id + map(Type.BYTE); // Amplifier + map(Type.VAR_INT); // Duration + + handler(packetWrapper -> { + byte flags = packetWrapper.read(Type.BYTE); // Input Flags + + if (Via.getConfig().isNewEffectIndicator()) + flags |= 0x04; + + packetWrapper.write(Type.BYTE, flags); + }); + } + }); + metadataRewriter.registerRemoveEntities(ClientboundPackets1_12_1.DESTROY_ENTITIES); metadataRewriter.registerMetadataRewriter(ClientboundPackets1_12_1.ENTITY_METADATA, Types1_12.METADATA_LIST, Types1_13.METADATA_LIST); }