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);
- }
}