From 2f265e9836e81f9adaa1bba631b2611092dfd139 Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Thu, 24 Jul 2025 23:01:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=B8=AA=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bukkit/item/behavior/DoubleHighBlockItemBehavior.java | 2 +- .../craftengine/bukkit/item/listener/ItemEventListener.java | 3 +++ .../bukkit/plugin/reflection/minecraft/MBlocks.java | 4 ++++ gradle.properties | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/DoubleHighBlockItemBehavior.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/DoubleHighBlockItemBehavior.java index fc8c6cb8c..c9c8949c7 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/DoubleHighBlockItemBehavior.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/DoubleHighBlockItemBehavior.java @@ -30,7 +30,7 @@ public class DoubleHighBlockItemBehavior extends BlockItemBehavior { Object blockPos = FastNMS.INSTANCE.constructor$BlockPos(location.getBlockX(), location.getBlockY() + 1, location.getBlockZ()); UpdateOption option = UpdateOption.builder().updateNeighbors().updateClients().updateImmediate().updateKnownShape().build(); Object fluidData = FastNMS.INSTANCE.method$BlockGetter$getFluidState(level, blockPos); - Object stateToPlace = fluidData == MFluids.WATER$defaultState ? MFluids.WATER$defaultState : MBlocks.AIR$defaultState; + Object stateToPlace = fluidData == MFluids.WATER$defaultState ? MBlocks.WATER$defaultState : MBlocks.AIR$defaultState; FastNMS.INSTANCE.method$LevelWriter$setBlock(level, blockPos, stateToPlace, option.flags()); return super.placeBlock(location, blockState); } diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/listener/ItemEventListener.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/listener/ItemEventListener.java index b10dd7ad7..ee42c4648 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/listener/ItemEventListener.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/listener/ItemEventListener.java @@ -459,6 +459,7 @@ public class ItemEventListener implements Listener { } } + // 禁止附魔 @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onEnchant(PrepareItemEnchantEvent event) { ItemStack itemToEnchant = event.getItem(); @@ -471,6 +472,7 @@ public class ItemEventListener implements Listener { } } + // 自定义堆肥改了 @EventHandler(ignoreCancelled = true) public void onCompost(CompostItemEvent event) { ItemStack itemToCompost = event.getItem(); @@ -480,6 +482,7 @@ public class ItemEventListener implements Listener { event.setWillRaiseLevel(RandomUtils.generateRandomFloat(0, 1) < optionalCustomItem.get().settings().compostProbability()); } + // 用于附魔台纠正 @EventHandler(ignoreCancelled = true) public void onInventoryClick(InventoryClickEvent event) { if (!(event.getInventory() instanceof EnchantingInventory inventory)) return; diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/reflection/minecraft/MBlocks.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/reflection/minecraft/MBlocks.java index 34d2f0e65..5255de607 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/reflection/minecraft/MBlocks.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/reflection/minecraft/MBlocks.java @@ -18,6 +18,8 @@ public final class MBlocks { public static final Object SHULKER_BOX; public static final Object COMPOSTER; public static final Object SNOW; + public static final Object WATER; + public static final Object WATER$defaultState; private static Object getById(String id) { Object rl = FastNMS.INSTANCE.method$ResourceLocation$fromNamespaceAndPath("minecraft", id); @@ -37,5 +39,7 @@ public final class MBlocks { SHULKER_BOX = getById("shulker_box"); COMPOSTER = getById("composter"); SNOW = getById("snow"); + WATER = getById("water"); + WATER$defaultState = FastNMS.INSTANCE.method$Block$defaultState(WATER); } } diff --git a/gradle.properties b/gradle.properties index fd7531d70..ec79d5386 100644 --- a/gradle.properties +++ b/gradle.properties @@ -40,7 +40,7 @@ commons_io_version=2.18.0 commons_imaging_version=1.0.0-alpha6 commons_lang3_version=3.17.0 sparrow_nbt_version=0.9.4 -sparrow_util_version=0.50.7 +sparrow_util_version=0.50.8 fastutil_version=8.5.15 netty_version=4.1.121.Final joml_version=1.10.8