From 4951f37e8fb773cd29f7cade8341b5ea49940238 Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Mon, 26 May 2025 17:56:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0mod?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mod/block/CraftEngineBlock.java | 20 +++++++++++++++++++ .../mod/block/CraftEngineBlock.java | 20 +++++++++++++++++++ .../mod/block/CraftEngineBlock.java | 20 +++++++++++++++++++ 3 files changed, 60 insertions(+) diff --git a/server-mod/v1_20_1/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java b/server-mod/v1_20_1/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java index daeeba57c..ccba3bc24 100644 --- a/server-mod/v1_20_1/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java +++ b/server-mod/v1_20_1/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java @@ -67,6 +67,26 @@ public class CraftEngineBlock extends Block } } + @Override + public @NotNull VoxelShape getCollisionShape(@NotNull BlockState state, @NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull CollisionContext context) { + try { + return (VoxelShape) this.shapeHolder.value().getCollisionShape(this, new Object[]{state, level, pos, context}); + } catch (Exception e) { + LOGGER.error(e); + return super.getCollisionShape(state, level, pos, context); + } + } + + @Override + public @NotNull VoxelShape getBlockSupportShape(@NotNull BlockState state, @NotNull BlockGetter level, @NotNull BlockPos pos) { + try { + return (VoxelShape) this.shapeHolder.value().getSupportShape(this, new Object[]{state, level, pos}); + } catch (Exception e) { + LOGGER.error(e); + return super.getBlockSupportShape(state, level, pos); + } + } + @Override public @NotNull BlockState rotate(@NotNull BlockState state, @NotNull Rotation rotation) { try { diff --git a/server-mod/v1_20_5/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java b/server-mod/v1_20_5/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java index fdde40516..50381f67b 100644 --- a/server-mod/v1_20_5/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java +++ b/server-mod/v1_20_5/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java @@ -68,6 +68,26 @@ public class CraftEngineBlock extends Block } } + @Override + public @NotNull VoxelShape getCollisionShape(@NotNull BlockState state, @NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull CollisionContext context) { + try { + return (VoxelShape) this.shapeHolder.value().getCollisionShape(this, new Object[]{state, level, pos, context}); + } catch (Exception e) { + LOGGER.error(e); + return super.getCollisionShape(state, level, pos, context); + } + } + + @Override + public @NotNull VoxelShape getBlockSupportShape(@NotNull BlockState state, @NotNull BlockGetter level, @NotNull BlockPos pos) { + try { + return (VoxelShape) this.shapeHolder.value().getSupportShape(this, new Object[]{state, level, pos}); + } catch (Exception e) { + LOGGER.error(e); + return super.getBlockSupportShape(state, level, pos); + } + } + @Override protected @NotNull BlockState rotate(@NotNull BlockState state, @NotNull Rotation rotation) { try { diff --git a/server-mod/v1_21_5/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java b/server-mod/v1_21_5/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java index fedc24dd6..218248c70 100644 --- a/server-mod/v1_21_5/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java +++ b/server-mod/v1_21_5/src/main/java/net/momirealms/craftengine/mod/block/CraftEngineBlock.java @@ -68,6 +68,26 @@ public class CraftEngineBlock extends Block } } + @Override + public @NotNull VoxelShape getCollisionShape(@NotNull BlockState state, @NotNull BlockGetter level, @NotNull BlockPos pos, @NotNull CollisionContext context) { + try { + return (VoxelShape) this.shapeHolder.value().getCollisionShape(this, new Object[]{state, level, pos, context}); + } catch (Exception e) { + LOGGER.error(e); + return super.getCollisionShape(state, level, pos, context); + } + } + + @Override + public @NotNull VoxelShape getBlockSupportShape(@NotNull BlockState state, @NotNull BlockGetter level, @NotNull BlockPos pos) { + try { + return (VoxelShape) this.shapeHolder.value().getSupportShape(this, new Object[]{state, level, pos}); + } catch (Exception e) { + LOGGER.error(e); + return super.getBlockSupportShape(state, level, pos); + } + } + @Override protected @NotNull BlockState rotate(@NotNull BlockState state, @NotNull Rotation rotation) { try {