From 6ba1da5448d2170cdb41d1d5410a47566ce03763 Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+RacoonDog@users.noreply.github.com> Date: Mon, 25 Aug 2025 13:42:09 -0400 Subject: [PATCH 1/2] fix `BlockEventListener#onBlockDispense` type parsing --- .../com/plotsquared/fabric/listener/BlockEventListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fabric/src/main/java/com/plotsquared/fabric/listener/BlockEventListener.java b/Fabric/src/main/java/com/plotsquared/fabric/listener/BlockEventListener.java index 5eab541a33..62942b10c2 100644 --- a/Fabric/src/main/java/com/plotsquared/fabric/listener/BlockEventListener.java +++ b/Fabric/src/main/java/com/plotsquared/fabric/listener/BlockEventListener.java @@ -1020,7 +1020,7 @@ public InteractionResult onBlockDispense( return InteractionResult.PASS; } Item type = stackToDispense.getItem(); - switch (type.toString().toUpperCase().substring(type.toString().indexOf(":"))) { + switch (BuiltInRegistries.ITEM.getKey(type).getPath().toUpperCase()) { case "SHULKER_BOX", "WHITE_SHULKER_BOX", "ORANGE_SHULKER_BOX", "MAGENTA_SHULKER_BOX", "LIGHT_BLUE_SHULKER_BOX", "YELLOW_SHULKER_BOX", "LIME_SHULKER_BOX", "PINK_SHULKER_BOX", "GRAY_SHULKER_BOX", "LIGHT_GRAY_SHULKER_BOX", "CYAN_SHULKER_BOX", "PURPLE_SHULKER_BOX", "BLUE_SHULKER_BOX", "BROWN_SHULKER_BOX", "GREEN_SHULKER_BOX", From 01ce3801628956d929f5a17dfdd1e3d7c34abedc Mon Sep 17 00:00:00 2001 From: RacoonDog <32882447+RacoonDog@users.noreply.github.com> Date: Mon, 25 Aug 2025 13:42:58 -0400 Subject: [PATCH 2/2] fix `PlayerEventListener#onBucketEmpty` crash on null player --- .../com/plotsquared/fabric/listener/PlayerEventListener.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Fabric/src/main/java/com/plotsquared/fabric/listener/PlayerEventListener.java b/Fabric/src/main/java/com/plotsquared/fabric/listener/PlayerEventListener.java index dd1cdd05cc..6210440659 100644 --- a/Fabric/src/main/java/com/plotsquared/fabric/listener/PlayerEventListener.java +++ b/Fabric/src/main/java/com/plotsquared/fabric/listener/PlayerEventListener.java @@ -1456,8 +1456,8 @@ public InteractionResult onTrample( return InteractionResultHolder.pass(ItemStack.EMPTY); }*/ - public InteractionResult onBucketEmpty(Player player, Level level, BlockPos blockPos, BlockHitResult hitResult) { - if (player.getUseItem().getItem() instanceof BucketItem bucketItem && player instanceof ServerPlayer serverPlayer) { + public InteractionResult onBucketEmpty(@Nullable Player player, Level level, BlockPos blockPos, BlockHitResult hitResult) { + if (player instanceof ServerPlayer serverPlayer && player.getUseItem().getItem() instanceof BucketItem bucketItem) { Direction direction = hitResult.getDirection(); // Note: a month after Bukkit 1.14.4 released, they added the API method // PlayerBucketEmptyEvent#getBlock(), which returns the block the