diff options
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/machines')
2 files changed, 15 insertions, 6 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialLaserEngraver.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialLaserEngraver.java index e8785bc7f4..49fdd29257 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialLaserEngraver.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEIndustrialLaserEngraver.java @@ -217,7 +217,7 @@ public class MTEIndustrialLaserEngraver extends MTEExtendedPowerMultiBlockBase<M return true; } else { if (renderer != null) { - renderer.realism = !renderer.realism; + renderer.toggleRealism(); PlayerUtils.messagePlayer(aPlayer, "Toggling realism!"); return true; } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java index 2d84f032af..4558c732c8 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/compressor/MTEBlackHoleCompressor.java @@ -45,6 +45,7 @@ import net.minecraftforge.fluids.FluidStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; @@ -630,9 +631,10 @@ public class MTEBlackHoleCompressor extends MTEExtendedPowerMultiBlockBase<MTEBl } else blackHoleStatus = 3; if (shouldRender) { - if (rendererTileEntity == null) createRenderBlock(); - rendererTileEntity.toggleLaser(didDrain); - rendererTileEntity.setStability(blackHoleStability / 100F); + if (rendererTileEntity != null || createRenderBlock()) { + rendererTileEntity.toggleLaser(didDrain); + rendererTileEntity.setStability(Math.max(0, blackHoleStability / 100F)); + } } blackHoleStability -= stabilityDecrease; @@ -702,6 +704,11 @@ public class MTEBlackHoleCompressor extends MTEExtendedPowerMultiBlockBase<MTEBl } @Override + protected IAlignmentLimits getInitialAlignmentLimits() { + return (d, r, f) -> d != ForgeDirection.UP && d != ForgeDirection.DOWN; + } + + @Override public void onBlockDestroyed() { destroyRenderBlock(); super.onBlockDestroyed(); @@ -715,8 +722,9 @@ public class MTEBlackHoleCompressor extends MTEExtendedPowerMultiBlockBase<MTEBl private boolean shouldRender = true; private TileEntityBlackhole rendererTileEntity = null; - private void createRenderBlock() { - if (!shouldRender) return; + // Returns true if render was actually created + private boolean createRenderBlock() { + if (!shouldRender || !mMachine) return false; IGregTechTileEntity base = this.getBaseMetaTileEntity(); ForgeDirection opposite = getDirection().getOpposite(); int x = 7 * opposite.offsetX; @@ -732,6 +740,7 @@ public class MTEBlackHoleCompressor extends MTEExtendedPowerMultiBlockBase<MTEBl rendererTileEntity.startScaleChange(true); rendererTileEntity.setStability(blackHoleStability / 100F); + return true; } private void destroyRenderBlock() { |