From cc8975ebd95d5a98760e53b8e288e733bc2bbce2 Mon Sep 17 00:00:00 2001 From: Jika Date: Sat, 2 Aug 2025 11:19:00 +0200 Subject: [PATCH] No occlusion new block --- .../ibg/mixin/MetaMachineBlockMixin.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/imbgt/ibg/mixin/MetaMachineBlockMixin.java b/src/main/java/com/imbgt/ibg/mixin/MetaMachineBlockMixin.java index bc7d9c7..d785f5c 100644 --- a/src/main/java/com/imbgt/ibg/mixin/MetaMachineBlockMixin.java +++ b/src/main/java/com/imbgt/ibg/mixin/MetaMachineBlockMixin.java @@ -1,11 +1,17 @@ package com.imbgt.ibg.mixin; +import com.gregtechceu.gtceu.api.block.AppearanceBlock; import com.gregtechceu.gtceu.api.block.MetaMachineBlock; import com.gregtechceu.gtceu.api.machine.MachineDefinition; import com.imbgt.ibg.IBG; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.RenderShape; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; + import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -13,7 +19,11 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(MetaMachineBlock.class) -public abstract class MetaMachineBlockMixin { +public abstract class MetaMachineBlockMixin extends AppearanceBlock { + + public MetaMachineBlockMixin(Properties properties) { + super(properties); + } @Shadow public abstract MachineDefinition getDefinition(); @@ -27,4 +37,13 @@ public abstract class MetaMachineBlockMixin { cir.setReturnValue(RenderShape.ENTITYBLOCK_ANIMATED); } } + + @Override + public VoxelShape getOcclusionShape(BlockState state, BlockGetter level, BlockPos pos) { + var id = getDefinition().getId(); + if ("gtceu".equals(id.getNamespace()) && "lv_lathe".equals(id.getPath())) { + return Shapes.empty(); // equivalent to Properties.noOcclusion() + } + return super.getOcclusionShape(state, level, pos); + } }