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