From 2947505ba012d319d53fd55d6652de23f068cf9e Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Tue, 1 Apr 2025 06:28:51 +0800 Subject: [PATCH] =?UTF-8?q?fix(bukkit):=20=E4=BF=AE=E5=A4=8D=E7=8E=A9?= =?UTF-8?q?=E5=AE=B6=E8=BD=BD=E5=85=B7=E5=9D=90=E9=AA=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bukkit/entity/furniture/BukkitFurnitureManager.java | 4 ++-- .../craftengine/bukkit/entity/furniture/LoadedFurniture.java | 5 +++++ gradle.properties | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java index 7f6fa3f4d..043418e5b 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java @@ -377,7 +377,7 @@ public class BukkitFurnitureManager implements FurnitureManager { Location vehicleLocation = vehicle.getLocation(); Location originalLocation = vehicleLocation.clone(); originalLocation.setY(furniture.location().getY()); - Location targetLocation = originalLocation.clone().add(vehicleLocation.getDirection()); + Location targetLocation = originalLocation.clone().add(vehicleLocation.getDirection().multiply(1.1)); if (!isSafeLocation(targetLocation)) { targetLocation = findSafeLocationNearby(originalLocation); if (targetLocation == null) return; @@ -426,7 +426,7 @@ public class BukkitFurnitureManager implements FurnitureManager { World world = location.getWorld(); if (world == null) return true; try { - Collection nearbyEntities = world.getNearbyEntities(location, 0.5, 2, 0.5); + Collection nearbyEntities = world.getNearbyEntities(location, 0.38, 2, 0.38); for (Entity bukkitEntity : nearbyEntities) { if (bukkitEntity instanceof Player) continue; Object nmsEntity = FastNMS.INSTANCE.method$CraftEntity$getHandle(bukkitEntity); diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/LoadedFurniture.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/LoadedFurniture.java index 6d79a3080..abd3c4cae 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/LoadedFurniture.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/LoadedFurniture.java @@ -135,6 +135,11 @@ public class LoadedFurniture { double z2 = z - offset2.z(); Object aabb = FastNMS.INSTANCE.constructor$AABB(x1, y1, z1, x2, y2, z2); CollisionEntity entity = FastNMS.INSTANCE.createCollisionEntity(world, aabb, x, y, z, collider.canBeHitByProjectile()); + fakeEntityIds.add(entity.getId()); + mainEntityIds.add(entity.getId()); + for (HitBox hitBox : placement.hitBoxes()) { + this.hitBoxes.put(entity.getId(), hitBox); + } FastNMS.INSTANCE.method$LevelWriter$addFreshEntity(world, entity); this.collisionEntities[i] = entity; } diff --git a/gradle.properties b/gradle.properties index 08a87bf87..3d8f43a14 100644 --- a/gradle.properties +++ b/gradle.properties @@ -49,7 +49,7 @@ mojang_brigadier_version=1.0.18 byte_buddy_version=1.15.11 snake_yaml_version=2.3 anti_grief_version=0.13 -nms_helper_version=0.26 +nms_helper_version=0.27 # Ignite Dependencies mixinextras_version=0.4.1 mixin_version=0.15.2+mixin.0.8.7