diff --git a/common/src/main/java/me/zimzaza4/geyserutils/common/packet/CustomEntityDataPacket.java b/common/src/main/java/me/zimzaza4/geyserutils/common/packet/CustomEntityDataPacket.java index 9821af6..a8468c4 100644 --- a/common/src/main/java/me/zimzaza4/geyserutils/common/packet/CustomEntityDataPacket.java +++ b/common/src/main/java/me/zimzaza4/geyserutils/common/packet/CustomEntityDataPacket.java @@ -5,8 +5,6 @@ import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import java.awt.*; - @AllArgsConstructor @NoArgsConstructor @Getter @@ -17,5 +15,6 @@ public class CustomEntityDataPacket extends CustomPayloadPacket { private Float width; private Float scale; private Integer color; + private Integer variant; } diff --git a/geyser/src/main/java/me/zimzaza4/geyserutils/geyser/GeyserUtils.java b/geyser/src/main/java/me/zimzaza4/geyserutils/geyser/GeyserUtils.java index 12301cb..49236d4 100644 --- a/geyser/src/main/java/me/zimzaza4/geyserutils/geyser/GeyserUtils.java +++ b/geyser/src/main/java/me/zimzaza4/geyserutils/geyser/GeyserUtils.java @@ -470,6 +470,8 @@ public class GeyserUtils implements Extension { if (customEntityDataPacket.getScale() != null) entity.getDirtyMetadata().put(EntityDataTypes.SCALE, customEntityDataPacket.getScale()); if (customEntityDataPacket.getColor() != null) entity.getDirtyMetadata().put(EntityDataTypes.COLOR, Byte.parseByte(String.valueOf(getColor(customEntityDataPacket.getColor())))); + if (customEntityDataPacket.getVariant() != null) + entity.getDirtyMetadata().put(EntityDataTypes.VARIANT, customEntityDataPacket.getVariant()); entity.updateBedrockMetadata(); } } else if (customPacket instanceof EntityPropertyPacket entityPropertyPacket) { diff --git a/spigot/src/main/java/me/zimzaza4/geyserutils/spigot/api/EntityUtils.java b/spigot/src/main/java/me/zimzaza4/geyserutils/spigot/api/EntityUtils.java index 3e1db35..492ba09 100644 --- a/spigot/src/main/java/me/zimzaza4/geyserutils/spigot/api/EntityUtils.java +++ b/spigot/src/main/java/me/zimzaza4/geyserutils/spigot/api/EntityUtils.java @@ -36,6 +36,15 @@ public class EntityUtils { } + public static void sendVariant(Player player, int id, int variant) { + CustomEntityDataPacket packet = new CustomEntityDataPacket(); + packet.setEntityId(id); + packet.setVariant(variant); + player.sendPluginMessage(GeyserUtils.getInstance(), GeyserUtilsChannels.MAIN, GeyserUtils.getPacketManager().encodePacket(packet)); + + } + + public static void setCustomEntity(Player player, int entityId, String def) { CustomEntityPacket packet = new CustomEntityPacket(entityId, def); player.sendPluginMessage(GeyserUtils.getInstance(), GeyserUtilsChannels.MAIN, GeyserUtils.getPacketManager().encodePacket(packet));