From b6cb82c109212d798f6396c8f2d195e3f7b916c9 Mon Sep 17 00:00:00 2001 From: YoungOnion <39562198+YoungOnionMC@users.noreply.github.com> Date: Mon, 13 Jul 2026 20:49:09 -0600 Subject: [PATCH] Fix cover opening with empty hand on pipes --- src/main/java/com/gregtechceu/gtceu/api/block/PipeBlock.java | 2 +- .../java/com/gregtechceu/gtceu/api/cover/CoverBehavior.java | 3 +++ .../gtceu/common/cover/detector/MaintenanceDetectorCover.java | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/block/PipeBlock.java b/src/main/java/com/gregtechceu/gtceu/api/block/PipeBlock.java index 58975ba08df..8e00946bc3b 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/block/PipeBlock.java +++ b/src/main/java/com/gregtechceu/gtceu/api/block/PipeBlock.java @@ -352,7 +352,7 @@ public InteractionResult use(BlockState state, Level level, BlockPos pos, Player } Set types = ToolHelper.getToolTypes(itemStack); - if ((!types.isEmpty() && ToolHelper.canUse(itemStack))) { + if ((!types.isEmpty() && ToolHelper.canUse(itemStack)) || (types.isEmpty() && player.isShiftKeyDown())) { var result = pipeBlockEntity.onToolClick(new ExtendedUseOnContext(player, hand, hit)); if (result.getSecond() == InteractionResult.CONSUME && player instanceof ServerPlayer serverPlayer) { ToolHelper.playToolSound(result.getFirst(), serverPlayer); diff --git a/src/main/java/com/gregtechceu/gtceu/api/cover/CoverBehavior.java b/src/main/java/com/gregtechceu/gtceu/api/cover/CoverBehavior.java index 2ab8efef8fb..71ba21453d0 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/cover/CoverBehavior.java +++ b/src/main/java/com/gregtechceu/gtceu/api/cover/CoverBehavior.java @@ -141,6 +141,9 @@ public boolean canConnectRedstone() { public final Pair<@Nullable GTToolType, InteractionResult> onToolClick(ExtendedUseOnContext context) { var toolType = context.getToolType(); + if (toolType.isEmpty() && context.getPlayer().isShiftKeyDown()) { + return Pair.of(null, onScrewdriverClick(context)); + } if (toolType.contains(GTToolType.SCREWDRIVER)) { return Pair.of(GTToolType.SCREWDRIVER, onScrewdriverClick(context)); } else if (toolType.contains(GTToolType.SOFT_MALLET)) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/MaintenanceDetectorCover.java b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/MaintenanceDetectorCover.java index c10faa71967..4cb5fe1af96 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/MaintenanceDetectorCover.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/MaintenanceDetectorCover.java @@ -19,7 +19,7 @@ public boolean canAttach() { return false; } - return super.canAttach() && coverHolder instanceof MaintenanceHatchPartMachine; + return super.canAttach() && coverHolder.getHolder() instanceof MaintenanceHatchPartMachine; } @Override