From 704825d4a718c408a4c7b35033795103741d11a7 Mon Sep 17 00:00:00 2001 From: zimzaza4 <3625282098@qq.com> Date: Mon, 29 Jul 2024 03:50:11 +0800 Subject: [PATCH 1/3] fix spawn anim --- src/main/java/re/imc/geysermodelengine/model/EntityTask.java | 4 ---- 1 file changed, 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 12cef5a..8eadc95 100644 --- a/src/main/java/re/imc/geysermodelengine/model/EntityTask.java +++ b/src/main/java/re/imc/geysermodelengine/model/EntityTask.java @@ -357,10 +357,6 @@ public class EntityTask { setAnimationProperty(1); return 0; } - if (animationProperty.getName().equalsIgnoreCase("spawn")) { - setAnimationProperty(0); - return 0; - } boolean play = false; if (currentAnimationPriority.get() < p) { From 4b7cb88eef49ac4a86923f1de43a547d7af18421 Mon Sep 17 00:00:00 2001 From: zimzaza4 <3625282098@qq.com> Date: Thu, 1 Aug 2024 21:44:45 +0800 Subject: [PATCH 2/3] add a check for bedrock --- .../re/imc/geysermodelengine/model/BedrockMountControl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/re/imc/geysermodelengine/model/BedrockMountControl.java b/src/main/java/re/imc/geysermodelengine/model/BedrockMountControl.java index 0f0938b..c640e21 100644 --- a/src/main/java/re/imc/geysermodelengine/model/BedrockMountControl.java +++ b/src/main/java/re/imc/geysermodelengine/model/BedrockMountControl.java @@ -8,6 +8,7 @@ import com.ticxo.modelengine.api.mount.controller.MountController; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; +import org.geysermc.floodgate.api.FloodgateApi; import re.imc.geysermodelengine.GeyserModelEngine; public class BedrockMountControl { @@ -17,6 +18,9 @@ public class BedrockMountControl { @Override public void run() { for (Player player : Bukkit.getOnlinePlayers()) { + if (!FloodgateApi.getInstance().isFloodgatePlayer(player.getUniqueId())) { + continue; + } float pitch = player.getPitch(); Pair seat = GeyserModelEngine.getInstance().getDrivers().get(player); if (seat != null) { @@ -31,7 +35,7 @@ public class BedrockMountControl { } } } - if (pitch > 50) { + if (pitch > 80) { MountController controller = ModelEngineAPI.getMountPairManager() .getController(player.getUniqueId()); if (controller != null) { From e42b6b213e74c829efea2132cc5c8727fdd5b757 Mon Sep 17 00:00:00 2001 From: zimzaza4 <3625282098@qq.com> Date: Tue, 13 Aug 2024 14:52:42 +0800 Subject: [PATCH 3/3] fix NoSuchMethodError --- .../geysermodelengine/model/BedrockMountControl.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/re/imc/geysermodelengine/model/BedrockMountControl.java b/src/main/java/re/imc/geysermodelengine/model/BedrockMountControl.java index c640e21..9f41327 100644 --- a/src/main/java/re/imc/geysermodelengine/model/BedrockMountControl.java +++ b/src/main/java/re/imc/geysermodelengine/model/BedrockMountControl.java @@ -2,6 +2,7 @@ package re.imc.geysermodelengine.model; import com.comphenix.protocol.wrappers.Pair; import com.ticxo.modelengine.api.ModelEngineAPI; +import com.ticxo.modelengine.api.entity.BukkitEntity; import com.ticxo.modelengine.api.model.ActiveModel; import com.ticxo.modelengine.api.model.bone.type.Mount; import com.ticxo.modelengine.api.mount.controller.MountController; @@ -21,7 +22,8 @@ public class BedrockMountControl { if (!FloodgateApi.getInstance().isFloodgatePlayer(player.getUniqueId())) { continue; } - float pitch = player.getPitch(); + + float pitch = player.getLocation().getPitch(); Pair seat = GeyserModelEngine.getInstance().getDrivers().get(player); if (seat != null) { if (pitch < -30) { @@ -36,8 +38,14 @@ public class BedrockMountControl { } } if (pitch > 80) { + if (seat.getFirst().getModeledEntity().getBase() instanceof BukkitEntity bukkitEntity) { + if (bukkitEntity.getOriginal().isOnGround()) { + return; + } + } MountController controller = ModelEngineAPI.getMountPairManager() .getController(player.getUniqueId()); + if (controller != null) { MountController.MountInput input = controller.getInput(); if (input != null) {