diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/MetadataFactory.java index af709a2..588ebd2 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/MetadataFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/MetadataFactory.java @@ -4,8 +4,6 @@ import com.github.retrooper.packetevents.protocol.entity.data.EntityData; import com.github.retrooper.packetevents.protocol.entity.pose.EntityPose; import net.kyori.adventure.text.Component; -import java.util.Collection; - /** * 1.8 ... * 1.9 ... @@ -23,7 +21,8 @@ public interface MetadataFactory { EntityData skinLayers(boolean cape, boolean jacket, boolean leftSleeve, boolean rightSleeve, boolean leftLeg, boolean rightLeg, boolean hat); EntityData effects(boolean onFire, boolean glowing, boolean invisible, boolean usingElytra); EntityData silent(boolean enabled); - Collection name(Component name); + EntityData name(Component name); + EntityData nameShown(); EntityData noGravity(); EntityData pose(EntityPose pose); EntityData shaking(boolean enabled); diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_13MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_13MetadataFactory.java index 9b9ae39..10606f0 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_13MetadataFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_13MetadataFactory.java @@ -5,16 +5,12 @@ import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes; import com.github.retrooper.packetevents.util.adventure.AdventureSerializer; import net.kyori.adventure.text.Component; -import java.util.Collection; import java.util.Optional; public class V1_13MetadataFactory extends V1_11MetadataFactory { @Override - public Collection name(Component name) { - return list( - newEntityData(2, EntityDataTypes.OPTIONAL_COMPONENT, Optional.of(AdventureSerializer.getGsonSerializer().serialize(name))), - newEntityData(3, EntityDataTypes.BOOLEAN, true) - ); + public EntityData name(Component name) { + return newEntityData(2, EntityDataTypes.OPTIONAL_COMPONENT, Optional.of(AdventureSerializer.getGsonSerializer().serialize(name))); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_8MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_8MetadataFactory.java index 1d0b7c8..9a433a5 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_8MetadataFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_8MetadataFactory.java @@ -8,7 +8,6 @@ import com.github.retrooper.packetevents.util.adventure.AdventureSerializer; import net.kyori.adventure.text.Component; import java.util.ArrayList; -import java.util.Collection; import java.util.List; public class V1_8MetadataFactory implements MetadataFactory { @@ -23,11 +22,13 @@ public class V1_8MetadataFactory implements MetadataFactory { } @Override - public Collection name(Component name) { - return list( - newEntityData(2, EntityDataTypes.STRING, AdventureSerializer.getLegacyGsonSerializer().serialize(name)), - newEntityData(3, EntityDataTypes.BYTE, (byte) 1) - ); + public EntityData name(Component name) { + return newEntityData(2, EntityDataTypes.STRING, AdventureSerializer.getLegacyGsonSerializer().serialize(name)); + } + + @Override + public EntityData nameShown() { + return newEntityData(3, EntityDataTypes.BYTE, (byte) 1); } @Override @@ -80,11 +81,4 @@ public class V1_8MetadataFactory implements MetadataFactory { protected EntityData newEntityData(int index, EntityDataType type, T value) { return new EntityData(index, type, value); } - - @SafeVarargs - protected final List list(T... items) { - ArrayList list = new ArrayList<>(items.length); - for (int i = 0; i < items.length; i++) list.add(i, items[i]); - return list; - } } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_9MetadataFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_9MetadataFactory.java index ad4d3c7..5ea2213 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_9MetadataFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/metadata/V1_9MetadataFactory.java @@ -5,8 +5,6 @@ import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes; import com.github.retrooper.packetevents.util.adventure.AdventureSerializer; import net.kyori.adventure.text.Component; -import java.util.Collection; - public class V1_9MetadataFactory extends V1_8MetadataFactory { @Override public EntityData skinLayers(boolean cape, boolean jacket, boolean leftSleeve, boolean rightSleeve, boolean leftLeg, boolean rightLeg, boolean hat) { @@ -24,11 +22,13 @@ public class V1_9MetadataFactory extends V1_8MetadataFactory { } @Override - public Collection name(Component name) { - return list( - newEntityData(2, EntityDataTypes.STRING, AdventureSerializer.getGsonSerializer().serialize(name)), - newEntityData(3, EntityDataTypes.BOOLEAN, true) - ); + public EntityData name(Component name) { + return newEntityData(2, EntityDataTypes.STRING, AdventureSerializer.getGsonSerializer().serialize(name)); + } + + @Override + public EntityData nameShown() { + return newEntityData(3, EntityDataTypes.BOOLEAN, true); } @Override diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java index 4aaa6eb..883a969 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java @@ -145,7 +145,10 @@ public class V1_8PacketFactory implements PacketFactory { add(data, metadataFactory.usingItem(properties.getProperty(propertyRegistry.getByName("using_item", Boolean.class)), false, false)); add(data, metadataFactory.potionColor(properties.getProperty(propertyRegistry.getByName("potion_color", Color.class)).asRGB())); add(data, metadataFactory.potionAmbient(properties.getProperty(propertyRegistry.getByName("potion_ambient", Boolean.class)))); - if (properties.hasProperty(propertyRegistry.getByName("name"))) addAll(data, metadataFactory.name(PapiUtil.set(player, properties.getProperty(propertyRegistry.getByName("name", Component.class))))); + if (properties.hasProperty(propertyRegistry.getByName("name"))) { + add(data, metadataFactory.name(PapiUtil.set(player, properties.getProperty(propertyRegistry.getByName("name", Component.class))))); + add(data, metadataFactory.nameShown()); + } return data; } @@ -205,8 +208,4 @@ public class V1_8PacketFactory implements PacketFactory { protected void add(Map map, EntityData data) { map.put(data.getIndex(), data); } - - protected void addAll(Map map, Collection data) { - for (EntityData d : data) add(map, d); - } }