No occlusion new block

This commit is contained in:
2025-08-02 11:19:00 +02:00
parent f2f02a5ac9
commit cc8975ebd9

View File

@@ -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);
}
}