From 2f3eeb5c2dc8b6d61d0d45571fccdb75c184e3bf Mon Sep 17 00:00:00 2001 From: mworzala Date: Fri, 8 Dec 2023 23:39:47 +0200 Subject: [PATCH] fix(hack): disable scaffolding from bounding box checks in player pose updates --- src/main/java/net/minestom/server/entity/Player.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minestom/server/entity/Player.java b/src/main/java/net/minestom/server/entity/Player.java index 3fd3f5c58..0cdf342de 100644 --- a/src/main/java/net/minestom/server/entity/Player.java +++ b/src/main/java/net/minestom/server/entity/Player.java @@ -802,8 +802,13 @@ public class Player extends LivingEntity implements CommandSender, Localizable, var iter = bb.getBlocks(getPosition()); while (iter.hasNext()) { var pos = iter.next(); - var hit = instance.getBlock(pos, Block.Getter.Condition.TYPE) - .registry().collisionShape() + var block = instance.getBlock(pos, Block.Getter.Condition.TYPE); + + // For now just ignore scaffolding. It seems to have a dynamic bounding box, or is just parsed + // incorrectly in MinestomDataGenerator. + if (block.id() == Block.SCAFFOLDING.id()) continue; + + var hit = block.registry().collisionShape() .intersectBox(position.sub(pos.blockX(), pos.blockY(), pos.blockZ()), bb); if (hit) return false; }