From cd92814bc5fe37e0575f6f4da3a40c39d2da9afa Mon Sep 17 00:00:00 2001 From: zimzaza4 <3625282098@qq.com> Date: Fri, 19 Jul 2024 14:09:20 +0800 Subject: [PATCH] fix --- .../java/re/imc/geysermodelengine/model/EntityTask.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/re/imc/geysermodelengine/model/EntityTask.java b/src/main/java/re/imc/geysermodelengine/model/EntityTask.java index e7cb60d..23abc85 100644 --- a/src/main/java/re/imc/geysermodelengine/model/EntityTask.java +++ b/src/main/java/re/imc/geysermodelengine/model/EntityTask.java @@ -190,8 +190,6 @@ public class EntityTask { public void sendEntityData(Player player, int delay) { EntityUtils.setCustomEntity(player, model.getEntity().getEntityId(), "modelengine:" + model.getActiveModel().getBlueprint().getName().toLowerCase()); Bukkit.getScheduler().runTaskLaterAsynchronously(GeyserModelEngine.getInstance(), () -> { - // EntityUtils.sendCustomSkin(player, model.getEntity(), model.getActiveModel().getBlueprint().getName()); - model.getEntity().sendSpawnPacket(Collections.singletonList(player)); Bukkit.getScheduler().runTaskLaterAsynchronously(GeyserModelEngine.getInstance(), () -> { if (looping) { @@ -238,6 +236,7 @@ public class EntityTask { int entity = model.getEntity().getEntityId(); Map updates = new HashMap<>(); + model.getActiveModel().getBones().forEach((s, bone) -> { if (!lastModelBoneSet.containsKey(bone)) lastModelBoneSet.put(bone, !bone.isVisible()); @@ -253,9 +252,11 @@ public class EntityTask { } }); + + if (ignore || !lastAnimProperty.equals(currentAnimProperty)) { - updates.put(lastAnimProperty, false); - updates.put(currentAnimProperty, true); + updates.put("modelengine:" + lastAnimProperty, false); + updates.put("modelengine:" + currentAnimProperty, true); } if (updates.isEmpty()) return; EntityUtils.sendBoolProperties(player, entity, updates);