From 4221744e308cf19cecf9e0d2b06769abe9d7e8e5 Mon Sep 17 00:00:00 2001 From: NotAPenguin Date: Thu, 12 Sep 2024 07:35:55 +0200 Subject: Fix final frame box issues (#3160) Co-authored-by: BucketBrigade <138534411+CookieBrigade@users.noreply.github.com> --- src/main/java/gregtech/common/blocks/BlockFrameBox.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/blocks/BlockFrameBox.java b/src/main/java/gregtech/common/blocks/BlockFrameBox.java index 59ca98ef8e..ab05d95032 100644 --- a/src/main/java/gregtech/common/blocks/BlockFrameBox.java +++ b/src/main/java/gregtech/common/blocks/BlockFrameBox.java @@ -11,6 +11,7 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -125,6 +126,7 @@ public class BlockFrameBox extends BlockContainer { ForgeDirection direction = ForgeDirection.getOrientation(side); // If this block already holds a TE, just forward the call TileEntity te = worldIn.getTileEntity(x, y, z); + if (te instanceof BaseMetaPipeEntity baseTileEntity) { // If this baseTileEntity has no MetaTileEntity associated with it, we need to create it // This happens on world load for some reason @@ -139,8 +141,7 @@ public class BlockFrameBox extends BlockContainer { ItemStack item = player.getHeldItem(); if (isCover(item)) { BaseMetaPipeEntity newTileEntity = spawnFrameEntity(worldIn, x, y, z); - newTileEntity.onRightclick(player, direction, subX, subY, subZ); - return true; + return newTileEntity.onRightclick(player, direction, subX, subY, subZ); } return false; @@ -183,7 +184,7 @@ public class BlockFrameBox extends BlockContainer { @Override public int getHarvestLevel(int aMeta) { - return aMeta % 4; + return 3; } @Override @@ -209,6 +210,8 @@ public class BlockFrameBox extends BlockContainer { @Override public void breakBlock(World aWorld, int aX, int aY, int aZ, Block aBlock, int aMetadata) { + if (aWorld.isRemote) return; + final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); if (tTileEntity instanceof IGregTechTileEntity gtTE) { gtTE.onBlockDestroyed(); @@ -236,6 +239,11 @@ public class BlockFrameBox extends BlockContainer { super.onEntityCollidedWithBlock(aWorld, aX, aY, aZ, collider); } + @Override + public float getBlockHardness(World aWorld, int aX, int aY, int aZ) { + return Blocks.iron_block.getBlockHardness(aWorld, aX, aY, aZ); + } + @Override public float getPlayerRelativeBlockHardness(EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ) { final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); -- cgit