fix dinnerbone property for 1.12 and below

This commit is contained in:
D3v1s0m 2024-04-30 20:30:26 +05:30 committed by bridge
parent bde20e57ef
commit 0dd8284f31

@ -14,11 +14,13 @@ import java.util.Map;
import java.util.Optional; import java.util.Optional;
public class DinnerboneProperty extends EntityPropertyImpl<Boolean> { public class DinnerboneProperty extends EntityPropertyImpl<Boolean> {
private final boolean optional;
private final Object serialized; private final Object serialized;
private final EntityDataType<?> type; private final EntityDataType<?> type;
public DinnerboneProperty(boolean legacy, boolean optional) { public DinnerboneProperty(boolean legacy, boolean optional) {
super("dinnerbone", false, Boolean.class); super("dinnerbone", false, Boolean.class);
this.optional = optional;
Component name = Component.text("Dinnerbone"); Component name = Component.text("Dinnerbone");
Object serialized = legacy ? AdventureSerializer.getLegacyGsonSerializer().serialize(name) : Object serialized = legacy ? AdventureSerializer.getLegacyGsonSerializer().serialize(name) :
optional ? name : LegacyComponentSerializer.legacySection().serialize(name); optional ? name : LegacyComponentSerializer.legacySection().serialize(name);
@ -28,6 +30,6 @@ public class DinnerboneProperty extends EntityPropertyImpl<Boolean> {
@Override @Override
public void apply(Player player, PacketEntity entity, boolean isSpawned, Map<Integer, EntityData> properties) { public void apply(Player player, PacketEntity entity, boolean isSpawned, Map<Integer, EntityData> properties) {
properties.put(2, new EntityData(2, type, entity.getProperty(this) ? serialized : null)); properties.put(2, new EntityData(2, type, entity.getProperty(this) ? serialized : optional ? null : ""));
} }
} }