From 31e4172140bc86b370a173c1fc145808a99b10de Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Sun, 11 May 2025 04:36:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/projectile/BukkitProjectileManager.java | 2 -- .../network/handler/ProjectilePacketHandler.java | 14 ++++++++++++-- .../craftengine/core/util/MiscUtils.java | 1 - gradle.properties | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/projectile/BukkitProjectileManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/projectile/BukkitProjectileManager.java index 3f83a18e3..164055f18 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/projectile/BukkitProjectileManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/projectile/BukkitProjectileManager.java @@ -13,7 +13,6 @@ import net.momirealms.craftengine.core.item.Item; import net.momirealms.craftengine.core.plugin.scheduler.SchedulerTask; import net.momirealms.craftengine.core.util.VersionHelper; import org.bukkit.Bukkit; -import org.bukkit.Particle; import org.bukkit.entity.Arrow; import org.bukkit.entity.Entity; import org.bukkit.entity.Projectile; @@ -29,7 +28,6 @@ import org.bukkit.inventory.ItemStack; import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.TimeUnit; public class BukkitProjectileManager implements Listener, ProjectileManager { private static BukkitProjectileManager instance; diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/handler/ProjectilePacketHandler.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/handler/ProjectilePacketHandler.java index 23358d9e5..0243f8184 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/handler/ProjectilePacketHandler.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/network/handler/ProjectilePacketHandler.java @@ -55,10 +55,9 @@ public class ProjectilePacketHandler implements EntityPacketHandler { @Override public void handleMoveAndRotate(NetWorkUser user, NMSPacketEvent event, Object packet) { int entityId = BukkitInjector.internalFieldAccessor().field$ClientboundMoveEntityPacket$entityId(packet); - Object converted = convertCustomProjectileMovePacket(packet, entityId); event.replacePacket(FastNMS.INSTANCE.constructor$ClientboundBundlePacket(List.of( this.cachedPacket, - converted + convertCustomProjectileMovePacket(packet, entityId) ))); } @@ -127,4 +126,15 @@ public class ProjectilePacketHandler implements EntityPacketHandler { onGround ); } + + private Object convertCustomProjectileTeleportPacket(Object packet, int entityId) { + float xRot = MCUtils.unpackDegrees(FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$xRot(packet)); + float yRot = MCUtils.unpackDegrees(FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$yRot(packet)); + boolean onGround = FastNMS.INSTANCE.field$ClientboundMoveEntityPacket$onGround(packet); + return FastNMS.INSTANCE.constructor$ClientboundTeleportEntityPacket( + entityId, this.projectile.projectile().x(), this.projectile.projectile().y(), this.projectile.projectile().z(), + MCUtils.packDegrees(-yRot), MCUtils.packDegrees(MCUtils.clamp(-xRot, -90.0F, 90.0F)), + onGround + ); + } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/MiscUtils.java b/core/src/main/java/net/momirealms/craftengine/core/util/MiscUtils.java index b16bd6df5..3e9c4ba60 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/MiscUtils.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/MiscUtils.java @@ -3,7 +3,6 @@ package net.momirealms.craftengine.core.util; import net.momirealms.craftengine.core.plugin.locale.LocalizedResourceConfigException; import org.joml.Quaternionf; import org.joml.Vector3f; -import software.amazon.awssdk.services.s3.endpoints.internal.Value; import java.util.ArrayList; import java.util.List; diff --git a/gradle.properties b/gradle.properties index a13ad6688..af4fa0f0e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -50,7 +50,7 @@ byte_buddy_version=1.17.5 ahocorasick_version=0.6.3 snake_yaml_version=2.4 anti_grief_version=0.15 -nms_helper_version=0.65.18 +nms_helper_version=0.65.19 evalex_version=3.5.0 reactive_streams_version=1.0.4 amazon_awssdk_version=2.31.23