From 0b4f1772e67d4b6f9103450b434a65d6aeb163a0 Mon Sep 17 00:00:00 2001 From: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> Date: Wed, 22 Apr 2020 18:58:11 +0200 Subject: Fixed Multis not registering Update due to own Casing implementation. Signed-off-by: bartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com> --- src/main/java/blocks/BaseGTUpdateableBlock.java | 29 ++++++++++++++++++++++ src/main/java/blocks/Block_ControlRod.java | 3 +-- src/main/java/blocks/Block_GDCUnit.java | 3 +-- src/main/java/blocks/Block_ItemServerDrive.java | 3 +-- src/main/java/blocks/Block_ItemServerIOPort.java | 12 ++++++--- .../java/blocks/Block_ItemServerRackCasing.java | 3 +-- src/main/java/blocks/Block_ReactorChamber_OFF.java | 3 +-- src/main/java/blocks/Block_ReactorChamber_ON.java | 3 +-- src/main/java/blocks/Block_TFFTCasing.java | 3 +-- src/main/java/blocks/Block_TFFTMultiHatch.java | 11 +++++--- .../java/blocks/Block_TFFTStorageFieldBlockT1.java | 3 +-- .../java/blocks/Block_TFFTStorageFieldBlockT2.java | 3 +-- .../java/blocks/Block_TFFTStorageFieldBlockT3.java | 3 +-- .../java/blocks/Block_TFFTStorageFieldBlockT4.java | 3 +-- .../java/blocks/Block_TFFTStorageFieldBlockT5.java | 3 +-- src/main/java/blocks/Block_YSZUnit.java | 3 +-- 16 files changed, 57 insertions(+), 34 deletions(-) create mode 100644 src/main/java/blocks/BaseGTUpdateableBlock.java (limited to 'src/main/java/blocks') diff --git a/src/main/java/blocks/BaseGTUpdateableBlock.java b/src/main/java/blocks/BaseGTUpdateableBlock.java new file mode 100644 index 0000000000..5b49a1fb25 --- /dev/null +++ b/src/main/java/blocks/BaseGTUpdateableBlock.java @@ -0,0 +1,29 @@ +package blocks; + + +import gregtech.api.GregTech_API; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.world.World; + +public abstract class BaseGTUpdateableBlock extends Block { + + protected BaseGTUpdateableBlock(Material p_i45394_1_) { + super(p_i45394_1_); + GregTech_API.registerMachineBlock(this, -1); + } + + @Override + public void onBlockAdded(World aWorld, int aX, int aY, int aZ) { + if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { + GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); + } + } + + @Override + public void breakBlock(World aWorld, int aX, int aY, int aZ, Block aBlock, int aMetaData) { + if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { + GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); + } + } +} diff --git a/src/main/java/blocks/Block_ControlRod.java b/src/main/java/blocks/Block_ControlRod.java index 4e407a5ed1..a31c6e2981 100644 --- a/src/main/java/blocks/Block_ControlRod.java +++ b/src/main/java/blocks/Block_ControlRod.java @@ -2,11 +2,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_ControlRod extends Block { +public class Block_ControlRod extends BaseGTUpdateableBlock { private static Block_ControlRod instance = new Block_ControlRod(); diff --git a/src/main/java/blocks/Block_GDCUnit.java b/src/main/java/blocks/Block_GDCUnit.java index ed778b5e8d..9dbad68d45 100644 --- a/src/main/java/blocks/Block_GDCUnit.java +++ b/src/main/java/blocks/Block_GDCUnit.java @@ -2,11 +2,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_GDCUnit extends Block { +public class Block_GDCUnit extends BaseGTUpdateableBlock { private static Block_GDCUnit instance = new Block_GDCUnit(); diff --git a/src/main/java/blocks/Block_ItemServerDrive.java b/src/main/java/blocks/Block_ItemServerDrive.java index 14a9e97d3e..e2d521424b 100644 --- a/src/main/java/blocks/Block_ItemServerDrive.java +++ b/src/main/java/blocks/Block_ItemServerDrive.java @@ -3,13 +3,12 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import itemBlocks.IB_ItemServerDrive; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.util.IIcon; -public class Block_ItemServerDrive extends Block{ +public class Block_ItemServerDrive extends BaseGTUpdateableBlock{ private static Block_ItemServerDrive instance = new Block_ItemServerDrive(); diff --git a/src/main/java/blocks/Block_ItemServerIOPort.java b/src/main/java/blocks/Block_ItemServerIOPort.java index 79aba33b89..e53ebe2859 100644 --- a/src/main/java/blocks/Block_ItemServerIOPort.java +++ b/src/main/java/blocks/Block_ItemServerIOPort.java @@ -3,14 +3,13 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import itemBlocks.IB_ItemServerIOPort; import kekztech.KekzCore; -import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import tileentities.TE_ItemServerIOPort; -public class Block_ItemServerIOPort extends BlockContainer { +public class Block_ItemServerIOPort extends BaseGTUpdateableBlock { private static Block_ItemServerIOPort instance = new Block_ItemServerIOPort(); @@ -32,9 +31,14 @@ public class Block_ItemServerIOPort extends BlockContainer { super.setResistance(6.0f); GameRegistry.registerBlock(getInstance(), IB_ItemServerIOPort.class, blockName); } - + + @Override + public boolean hasTileEntity(int metadata) { + return true; + } + @Override - public TileEntity createNewTileEntity(World world, int p_149915_2_) { + public TileEntity createTileEntity(World world, int metadata) { return new TE_ItemServerIOPort(); } diff --git a/src/main/java/blocks/Block_ItemServerRackCasing.java b/src/main/java/blocks/Block_ItemServerRackCasing.java index e0ee7af698..fe57f2da85 100644 --- a/src/main/java/blocks/Block_ItemServerRackCasing.java +++ b/src/main/java/blocks/Block_ItemServerRackCasing.java @@ -3,11 +3,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import itemBlocks.IB_ItemServerRackCasing; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_ItemServerRackCasing extends Block { +public class Block_ItemServerRackCasing extends BaseGTUpdateableBlock { private static Block_ItemServerRackCasing instance = new Block_ItemServerRackCasing(); diff --git a/src/main/java/blocks/Block_ReactorChamber_OFF.java b/src/main/java/blocks/Block_ReactorChamber_OFF.java index effe7aa9b4..86b4b63445 100644 --- a/src/main/java/blocks/Block_ReactorChamber_OFF.java +++ b/src/main/java/blocks/Block_ReactorChamber_OFF.java @@ -2,11 +2,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_ReactorChamber_OFF extends Block { +public class Block_ReactorChamber_OFF extends BaseGTUpdateableBlock { private static Block_ReactorChamber_OFF instance = new Block_ReactorChamber_OFF(); diff --git a/src/main/java/blocks/Block_ReactorChamber_ON.java b/src/main/java/blocks/Block_ReactorChamber_ON.java index 26004e0753..621ffb99eb 100644 --- a/src/main/java/blocks/Block_ReactorChamber_ON.java +++ b/src/main/java/blocks/Block_ReactorChamber_ON.java @@ -2,11 +2,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_ReactorChamber_ON extends Block { +public class Block_ReactorChamber_ON extends BaseGTUpdateableBlock { private static Block_ReactorChamber_ON instance = new Block_ReactorChamber_ON(); diff --git a/src/main/java/blocks/Block_TFFTCasing.java b/src/main/java/blocks/Block_TFFTCasing.java index 02f44a9dd7..df6626894d 100644 --- a/src/main/java/blocks/Block_TFFTCasing.java +++ b/src/main/java/blocks/Block_TFFTCasing.java @@ -2,11 +2,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_TFFTCasing extends Block { +public class Block_TFFTCasing extends BaseGTUpdateableBlock { private static Block_TFFTCasing instance = new Block_TFFTCasing(); diff --git a/src/main/java/blocks/Block_TFFTMultiHatch.java b/src/main/java/blocks/Block_TFFTMultiHatch.java index e8378f39e8..c1d3c95717 100644 --- a/src/main/java/blocks/Block_TFFTMultiHatch.java +++ b/src/main/java/blocks/Block_TFFTMultiHatch.java @@ -3,14 +3,13 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import itemBlocks.IB_TFFTMultiHatch; import kekztech.KekzCore; -import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import tileentities.TE_TFFTMultiHatch; -public class Block_TFFTMultiHatch extends BlockContainer { +public class Block_TFFTMultiHatch extends BaseGTUpdateableBlock { private static Block_TFFTMultiHatch instance = new Block_TFFTMultiHatch(); @@ -33,8 +32,12 @@ public class Block_TFFTMultiHatch extends BlockContainer { } @Override - public TileEntity createNewTileEntity(World world, int p_149915_2_) { + public TileEntity createTileEntity(World world, int p_149915_2_) { return new TE_TFFTMultiHatch(); } - + + @Override + public boolean hasTileEntity(int metadata) { + return true; + } } diff --git a/src/main/java/blocks/Block_TFFTStorageFieldBlockT1.java b/src/main/java/blocks/Block_TFFTStorageFieldBlockT1.java index d90838325f..cfb40282fa 100644 --- a/src/main/java/blocks/Block_TFFTStorageFieldBlockT1.java +++ b/src/main/java/blocks/Block_TFFTStorageFieldBlockT1.java @@ -3,11 +3,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import itemBlocks.IB_TFFTStorageFieldBlockT1; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_TFFTStorageFieldBlockT1 extends Block { +public class Block_TFFTStorageFieldBlockT1 extends BaseGTUpdateableBlock { private static Block_TFFTStorageFieldBlockT1 instance = new Block_TFFTStorageFieldBlockT1(); diff --git a/src/main/java/blocks/Block_TFFTStorageFieldBlockT2.java b/src/main/java/blocks/Block_TFFTStorageFieldBlockT2.java index 08094338d5..afacd768c3 100644 --- a/src/main/java/blocks/Block_TFFTStorageFieldBlockT2.java +++ b/src/main/java/blocks/Block_TFFTStorageFieldBlockT2.java @@ -3,11 +3,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import itemBlocks.IB_TFFTStorageFieldBlockT2; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_TFFTStorageFieldBlockT2 extends Block { +public class Block_TFFTStorageFieldBlockT2 extends BaseGTUpdateableBlock { private static Block_TFFTStorageFieldBlockT2 instance = new Block_TFFTStorageFieldBlockT2(); diff --git a/src/main/java/blocks/Block_TFFTStorageFieldBlockT3.java b/src/main/java/blocks/Block_TFFTStorageFieldBlockT3.java index 987cf54b63..389bb7a24c 100644 --- a/src/main/java/blocks/Block_TFFTStorageFieldBlockT3.java +++ b/src/main/java/blocks/Block_TFFTStorageFieldBlockT3.java @@ -3,11 +3,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import itemBlocks.IB_TFFTStorageFieldBlockT3; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_TFFTStorageFieldBlockT3 extends Block { +public class Block_TFFTStorageFieldBlockT3 extends BaseGTUpdateableBlock { private static Block_TFFTStorageFieldBlockT3 instance = new Block_TFFTStorageFieldBlockT3(); diff --git a/src/main/java/blocks/Block_TFFTStorageFieldBlockT4.java b/src/main/java/blocks/Block_TFFTStorageFieldBlockT4.java index 4ba363cfbb..f328b858a5 100644 --- a/src/main/java/blocks/Block_TFFTStorageFieldBlockT4.java +++ b/src/main/java/blocks/Block_TFFTStorageFieldBlockT4.java @@ -3,11 +3,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import itemBlocks.IB_TFFTStorageFieldBlockT4; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_TFFTStorageFieldBlockT4 extends Block { +public class Block_TFFTStorageFieldBlockT4 extends BaseGTUpdateableBlock { private static Block_TFFTStorageFieldBlockT4 instance = new Block_TFFTStorageFieldBlockT4(); diff --git a/src/main/java/blocks/Block_TFFTStorageFieldBlockT5.java b/src/main/java/blocks/Block_TFFTStorageFieldBlockT5.java index 61ed1decf3..fd53051974 100644 --- a/src/main/java/blocks/Block_TFFTStorageFieldBlockT5.java +++ b/src/main/java/blocks/Block_TFFTStorageFieldBlockT5.java @@ -3,11 +3,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import itemBlocks.IB_TFFTStorageFieldBlockT5; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_TFFTStorageFieldBlockT5 extends Block { +public class Block_TFFTStorageFieldBlockT5 extends BaseGTUpdateableBlock { private static Block_TFFTStorageFieldBlockT5 instance = new Block_TFFTStorageFieldBlockT5(); diff --git a/src/main/java/blocks/Block_YSZUnit.java b/src/main/java/blocks/Block_YSZUnit.java index a32b28e94d..33ec67c5be 100644 --- a/src/main/java/blocks/Block_YSZUnit.java +++ b/src/main/java/blocks/Block_YSZUnit.java @@ -2,11 +2,10 @@ package blocks; import cpw.mods.fml.common.registry.GameRegistry; import kekztech.KekzCore; -import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; -public class Block_YSZUnit extends Block { +public class Block_YSZUnit extends BaseGTUpdateableBlock { private static Block_YSZUnit instance = new Block_YSZUnit(); -- cgit