From 14249c196adacacfc8a3774e73bbcbf5e1516ada Mon Sep 17 00:00:00 2001 From: Flemmli97 Date: Sun, 23 Jan 2022 01:13:27 +0100 Subject: [PATCH] fix tools bypassing claims again --- Changelog.md | 5 +++++ .../java/io/github/flemmli97/flan/fabric/FlanFabric.java | 5 ++++- .../flan/forgeevent/BlockInteractEventsForge.java | 9 +++++++-- gradle.properties | 2 +- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Changelog.md b/Changelog.md index 3cdb32c..55a6b53 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,3 +1,8 @@ +Flan 1.6.9 +====================== +- Fix claiming tools bypassing permissions *cough* +- Also fix claiming tool still doing their normal actions (aka hoeing the ground) + Flan 1.6.8 ====================== - Rewrite block interaction check again which should fix some issues with it diff --git a/fabric/src/main/java/io/github/flemmli97/flan/fabric/FlanFabric.java b/fabric/src/main/java/io/github/flemmli97/flan/fabric/FlanFabric.java index a217938..088f560 100644 --- a/fabric/src/main/java/io/github/flemmli97/flan/fabric/FlanFabric.java +++ b/fabric/src/main/java/io/github/flemmli97/flan/fabric/FlanFabric.java @@ -74,7 +74,10 @@ public class FlanFabric implements ModInitializer { public static InteractionResult useBlocks(Player p, Level world, InteractionHand hand, BlockHitResult hitResult) { if (p instanceof ServerPlayer serverPlayer) { ItemUseBlockFlags flags = ItemUseBlockFlags.fromPlayer(serverPlayer); - flags.stopCanUseBlocks(BlockInteractEvents.useBlocks(p, world, hand, hitResult) == InteractionResult.FAIL); + InteractionResult res = BlockInteractEvents.useBlocks(p, world, hand, hitResult); + if (res == InteractionResult.SUCCESS) + return res; + flags.stopCanUseBlocks(res == InteractionResult.FAIL); flags.stopCanUseItems(ItemInteractEvents.onItemUseBlock(new UseOnContext(p, hand, hitResult)) == InteractionResult.FAIL); } return InteractionResult.PASS; diff --git a/forge/src/main/java/io/github/flemmli97/flan/forgeevent/BlockInteractEventsForge.java b/forge/src/main/java/io/github/flemmli97/flan/forgeevent/BlockInteractEventsForge.java index 477f8bb..56888f3 100644 --- a/forge/src/main/java/io/github/flemmli97/flan/forgeevent/BlockInteractEventsForge.java +++ b/forge/src/main/java/io/github/flemmli97/flan/forgeevent/BlockInteractEventsForge.java @@ -28,10 +28,15 @@ public class BlockInteractEventsForge { public static void useBlocks(PlayerInteractEvent.RightClickBlock event) { InteractionResult res = BlockInteractEvents.useBlocks(event.getPlayer(), event.getWorld(), event.getHand(), event.getHitVec()); - if(res == InteractionResult.FAIL) + if (res == InteractionResult.SUCCESS) { + event.setCancellationResult(res); + event.setCanceled(true); + return; + } + if (res == InteractionResult.FAIL) event.setUseBlock(Event.Result.DENY); res = ItemInteractEvents.onItemUseBlock(new UseOnContext(event.getPlayer(), event.getHand(), event.getHitVec())); - if(res == InteractionResult.FAIL) + if (res == InteractionResult.FAIL) event.setUseItem(Event.Result.DENY); } } diff --git a/gradle.properties b/gradle.properties index b630ce4..8fc3a32 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ forge_version=1.18.1-39.0.14 loader_version=0.12.8 # Mod Properties -mod_version=1.6.8 +mod_version=1.6.9 maven_group=io.github.flemmli97 archives_base_name=flan