From 52b5f04a91206bb8b5547892a446ec43ca69f668 Mon Sep 17 00:00:00 2001 From: Noyavy Date: Wed, 17 Dec 2025 20:54:27 +0100 Subject: [PATCH 1/2] Pocket now forces interaction with itself, even if player is holding an item in offhand --- .../management/PocketsGameEventsManager.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/tcn/dimensionalpocketsii/core/management/PocketsGameEventsManager.java b/src/main/java/com/tcn/dimensionalpocketsii/core/management/PocketsGameEventsManager.java index 2f3cc8f..ea2c1ec 100644 --- a/src/main/java/com/tcn/dimensionalpocketsii/core/management/PocketsGameEventsManager.java +++ b/src/main/java/com/tcn/dimensionalpocketsii/core/management/PocketsGameEventsManager.java @@ -37,6 +37,7 @@ import net.minecraft.world.item.component.CustomData; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.dimension.BuiltinDimensionTypes; import net.minecraft.world.level.dimension.DimensionType; import net.neoforged.api.distmarker.Dist; @@ -44,8 +45,10 @@ import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.client.event.InputEvent.Key; +import net.neoforged.neoforge.common.util.TriState; import net.neoforged.neoforge.event.entity.living.LivingEquipmentChangeEvent; import net.neoforged.neoforge.event.entity.player.PlayerEvent; +import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent; import net.neoforged.neoforge.event.level.LevelEvent; import net.neoforged.neoforge.network.PacketDistributor; @@ -285,5 +288,16 @@ public static void onPlayerLoggedOutEvent(final PlayerEvent.PlayerLoggedOutEvent @SubscribeEvent public static void onPlayerLoggedInEvent(final PlayerEvent.PlayerLoggedInEvent event) { } - + + @SubscribeEvent + public static void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) { + Block block = (event.getLevel().getBlockState(event.getPos()).getBlock()); + // force use block even if hand is not empty + if (block == PocketsRegistrationManager.BLOCK_POCKET.get() || + block == PocketsRegistrationManager.BLOCK_POCKET_ENHANCED.get() || + block == PocketsRegistrationManager.BLOCK_WALL.get()) { + event.setUseItem(TriState.FALSE); + event.setUseBlock(TriState.TRUE); + } + } } \ No newline at end of file From 0083c966dfeebb1edaeb2dc2ac60f2d3070ad81f Mon Sep 17 00:00:00 2001 From: Noyavy Date: Wed, 17 Dec 2025 21:03:10 +0100 Subject: [PATCH 2/2] included wall edges --- .../core/management/PocketsGameEventsManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/tcn/dimensionalpocketsii/core/management/PocketsGameEventsManager.java b/src/main/java/com/tcn/dimensionalpocketsii/core/management/PocketsGameEventsManager.java index ea2c1ec..63d1f1d 100644 --- a/src/main/java/com/tcn/dimensionalpocketsii/core/management/PocketsGameEventsManager.java +++ b/src/main/java/com/tcn/dimensionalpocketsii/core/management/PocketsGameEventsManager.java @@ -295,7 +295,9 @@ public static void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) // force use block even if hand is not empty if (block == PocketsRegistrationManager.BLOCK_POCKET.get() || block == PocketsRegistrationManager.BLOCK_POCKET_ENHANCED.get() || - block == PocketsRegistrationManager.BLOCK_WALL.get()) { + block == PocketsRegistrationManager.BLOCK_WALL.get()|| + block == PocketsRegistrationManager.BLOCK_WALL_EDGE.get() + ) { event.setUseItem(TriState.FALSE); event.setUseBlock(TriState.TRUE); }