From 01c3082b29ba816ff2c67ae12936cf5a335ebeba Mon Sep 17 00:00:00 2001 From: trinsdar <30245301+Trinsdar@users.noreply.github.com> Date: Mon, 16 Dec 2024 20:21:58 -0500 Subject: [PATCH] fixed shapes and cover overlays not accounting for cover replacements --- .../java/muramasa/antimatter/client/event/ClientEvents.java | 5 +++-- common/src/main/java/muramasa/antimatter/pipe/BlockPipe.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/muramasa/antimatter/client/event/ClientEvents.java b/common/src/main/java/muramasa/antimatter/client/event/ClientEvents.java index ed9ca7d4d..50f9b4ec6 100644 --- a/common/src/main/java/muramasa/antimatter/client/event/ClientEvents.java +++ b/common/src/main/java/muramasa/antimatter/client/event/ClientEvents.java @@ -10,6 +10,7 @@ import muramasa.antimatter.block.IInfoProvider; import muramasa.antimatter.blockentity.BlockEntityBase; import muramasa.antimatter.client.RenderHelper; +import muramasa.antimatter.cover.CoverReplacements; import muramasa.antimatter.cover.IHaveCover; import muramasa.antimatter.data.AntimatterDefaultTools; import muramasa.antimatter.item.ICustomDurability; @@ -65,9 +66,9 @@ public static boolean onBlockHighlight(LevelRenderer levelRenderer, Camera camer Player player = MC.player; Level world = player.getCommandSenderWorld(); ItemStack stack = player.getMainHandItem(); - if (stack.isEmpty() || (!(stack.getItem() instanceof IBasicAntimatterTool) && !(stack.getItem() instanceof IHaveCover))) + if (stack.isEmpty() || (!(stack.getItem() instanceof IBasicAntimatterTool) && !(stack.getItem() instanceof IHaveCover) && !CoverReplacements.hasReplacement(stack.getItem()))) return false; - if (stack.getItem() instanceof IHaveCover) { + if (stack.getItem() instanceof IHaveCover || CoverReplacements.hasReplacement(stack.getItem())) { if (player.isCrouching()) return false; RenderHelper.onDrawHighlight(player, levelRenderer, camera, target, partialTick, poseStack, bufferSource, b -> b instanceof BlockMachine || b instanceof BlockPipe, BehaviourExtendedHighlight.COVER_FUNCTION); return true; diff --git a/common/src/main/java/muramasa/antimatter/pipe/BlockPipe.java b/common/src/main/java/muramasa/antimatter/pipe/BlockPipe.java index 722eab015..65102a7fb 100644 --- a/common/src/main/java/muramasa/antimatter/pipe/BlockPipe.java +++ b/common/src/main/java/muramasa/antimatter/pipe/BlockPipe.java @@ -13,6 +13,7 @@ import muramasa.antimatter.client.AntimatterModelManager; import muramasa.antimatter.client.glu.Util; import muramasa.antimatter.cover.CoverFactory; +import muramasa.antimatter.cover.CoverReplacements; import muramasa.antimatter.cover.ICover; import muramasa.antimatter.cover.IHaveCover; import muramasa.antimatter.data.AntimatterDefaultTools; @@ -408,7 +409,7 @@ public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, Co if (Utils.isPlayerHolding(player, InteractionHand.MAIN_HAND, getToolType(), AntimatterDefaultTools.CROWBAR, AntimatterDefaultTools.SCREWDRIVER)) { return Shapes.block(); } - if (!player.getMainHandItem().isEmpty() && player.getMainHandItem().getItem() instanceof IHaveCover) { + if (!player.getMainHandItem().isEmpty() && (player.getMainHandItem().getItem() instanceof IHaveCover || CoverReplacements.hasReplacement(player.getMainHandItem().getItem()))) { return Shapes.block(); } }