From 4ad4d8c3ebb65c59a710318f046d0723838a701e Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Fri, 12 Sep 2025 23:01:18 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(block):=20=E4=BF=AE=E5=A4=8D=E4=B8=8B?= =?UTF-8?q?=E8=90=BD=E7=9A=84=E6=96=B9=E5=9D=97=E5=88=B7=E7=89=A9=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 上个pr忘记删除历史遗留问题写的代码导致掉落了2次 - 修复低版本的屏障不能含水导致的问题 - 修复低版本下界合金砧如果可以摔死没声音的问题 --- .../block/behavior/FallingBlockBehavior.java | 20 +++++----------- .../default/configuration/blocks/sofa.yml | 24 +++++++++---------- 2 files changed, 18 insertions(+), 26 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/behavior/FallingBlockBehavior.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/behavior/FallingBlockBehavior.java index fa353e850..10911e79c 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/behavior/FallingBlockBehavior.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/behavior/FallingBlockBehavior.java @@ -77,23 +77,15 @@ public class FallingBlockBehavior extends BukkitBlockBehavior { public void onBrokenAfterFall(Object thisBlock, Object[] args) throws Exception { Object level = args[0]; Object fallingBlockEntity = args[2]; - boolean cancelDrop = (boolean) CoreReflections.field$FallingBlockEntity$cancelDrop.get(fallingBlockEntity); - if (cancelDrop) return; - Object blockState = CoreReflections.field$FallingBlockEntity$blockState.get(fallingBlockEntity); - Optional optionalCustomState = BlockStateUtils.getOptionalCustomBlockState(blockState); - if (optionalCustomState.isEmpty()) return; - ImmutableBlockState customState = optionalCustomState.get(); - net.momirealms.craftengine.core.world.World world = new BukkitWorld(FastNMS.INSTANCE.method$Level$getCraftWorld(level)); - WorldPosition position = new WorldPosition(world, CoreReflections.field$Entity$xo.getDouble(fallingBlockEntity), CoreReflections.field$Entity$yo.getDouble(fallingBlockEntity), CoreReflections.field$Entity$zo.getDouble(fallingBlockEntity)); - ContextHolder.Builder builder = ContextHolder.builder() - .withParameter(DirectContextParameters.FALLING_BLOCK, true) - .withParameter(DirectContextParameters.POSITION, position); - for (Item item : customState.getDrops(builder, world, null)) { - world.dropItemNaturally(position, item); - } Object entityData = CoreReflections.field$Entity$entityData.get(fallingBlockEntity); boolean isSilent = (boolean) CoreReflections.method$SynchedEntityData$get.invoke(entityData, CoreReflections.instance$Entity$DATA_SILENT); if (!isSilent) { + Object blockState = CoreReflections.field$FallingBlockEntity$blockState.get(fallingBlockEntity); + Optional optionalCustomState = BlockStateUtils.getOptionalCustomBlockState(blockState); + if (optionalCustomState.isEmpty()) return; + ImmutableBlockState customState = optionalCustomState.get(); + net.momirealms.craftengine.core.world.World world = new BukkitWorld(FastNMS.INSTANCE.method$Level$getCraftWorld(level)); + WorldPosition position = new WorldPosition(world, CoreReflections.field$Entity$xo.getDouble(fallingBlockEntity), CoreReflections.field$Entity$yo.getDouble(fallingBlockEntity), CoreReflections.field$Entity$zo.getDouble(fallingBlockEntity)); world.playBlockSound(position, customState.settings().sounds().destroySound()); } } diff --git a/common-files/src/main/resources/resources/default/configuration/blocks/sofa.yml b/common-files/src/main/resources/resources/default/configuration/blocks/sofa.yml index d13094095..5a94e2c20 100644 --- a/common-files/src/main/resources/resources/default/configuration/blocks/sofa.yml +++ b/common-files/src/main/resources/resources/default/configuration/blocks/sofa.yml @@ -90,59 +90,59 @@ items: type: sofa_shape appearances: facing=east,shape=straight: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa yaw: 90 facing=north,shape=straight: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa facing=south,shape=straight: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa yaw: 180 facing=west,shape=straight: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa yaw: 270 facing=east,shape=inner_left: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa_inner facing=north,shape=inner_left: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa_inner yaw: 270 facing=south,shape=inner_left: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa_inner yaw: 90 facing=west,shape=inner_left: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa_inner yaw: 180 facing=east,shape=inner_right: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa_inner yaw: 90 facing=north,shape=inner_right: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa_inner facing=south,shape=inner_right: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa_inner yaw: 180 facing=west,shape=inner_right: - state: barrier[waterlogged=false] + state: barrier entity-renderer: item: default:sofa_inner yaw: 270 From 31bfdd0bf0b3df069b6a2f93c388e80b3c574e91 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Fri, 12 Sep 2025 23:29:04 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(block):=20=E4=BF=AE=E5=A4=8D=E4=B8=8B?= =?UTF-8?q?=E8=90=BD=E7=9A=84=E6=96=B9=E5=9D=97=E4=B8=8D=E8=B5=B0ce?= =?UTF-8?q?=E6=88=98=E5=88=A9=E5=93=81=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index a73151edb..4770bc750 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.5 anti_grief_version=0.20 -nms_helper_version=1.0.84 +nms_helper_version=1.0.85 evalex_version=3.5.0 reactive_streams_version=1.0.4 amazon_awssdk_version=2.33.1