From 898c3161d30c2055d9fe55ed2be6ce802b13f510 Mon Sep 17 00:00:00 2001 From: trinsdar <30245301+Trinsdar@users.noreply.github.com> Date: Wed, 13 Dec 2023 01:48:28 -0500 Subject: [PATCH] added unculled machine flag --- .../java/muramasa/antimatter/machine/BlockMachine.java | 8 ++++++++ .../java/muramasa/antimatter/machine/MachineFlag.java | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/muramasa/antimatter/machine/BlockMachine.java b/common/src/main/java/muramasa/antimatter/machine/BlockMachine.java index 4883cc316..aaa45e57a 100644 --- a/common/src/main/java/muramasa/antimatter/machine/BlockMachine.java +++ b/common/src/main/java/muramasa/antimatter/machine/BlockMachine.java @@ -55,6 +55,8 @@ import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.shapes.Shapes; +import net.minecraft.world.phys.shapes.VoxelShape; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import tesseract.FluidPlatformUtils; @@ -92,6 +94,12 @@ public BlockMachine(Machine type, Tier tier, Properties properties) { this.registerDefaultState(this.stateContainer.any()); } + @Override + public VoxelShape getOcclusionShape(BlockState state, BlockGetter level, BlockPos pos) { + if (type.has(MachineFlag.UNCULLED)) return Shapes.empty(); + return super.getOcclusionShape(state, level, pos); + } + @Override protected void createBlockStateDefinition(StateDefinition.Builder builder) { if (type == null) return; // means this is the first run diff --git a/common/src/main/java/muramasa/antimatter/machine/MachineFlag.java b/common/src/main/java/muramasa/antimatter/machine/MachineFlag.java index e5b0a930e..776c5beab 100644 --- a/common/src/main/java/muramasa/antimatter/machine/MachineFlag.java +++ b/common/src/main/java/muramasa/antimatter/machine/MachineFlag.java @@ -34,7 +34,8 @@ public enum MachineFlag { GUI, GENERATOR, //Has a recipe map and converts applicable recipes to power. COVERABLE, - PARTIAL_AMPS; + PARTIAL_AMPS, + UNCULLED; public static final MachineFlag[] VALUES;