aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/multitileentity
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/multitileentity')
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java242
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java35
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityClassContainer.java25
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java4
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java107
-rw-r--r--src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java107
-rw-r--r--src/main/java/gregtech/api/multitileentity/base/BaseMultiTileEntity.java377
-rw-r--r--src/main/java/gregtech/api/multitileentity/base/BaseNontickableMultiTileEntity.java10
-rw-r--r--src/main/java/gregtech/api/multitileentity/base/BaseTickableMultiTileEntity.java16
-rw-r--r--src/main/java/gregtech/api/multitileentity/interfaces/IItemUpdatable.java8
-rw-r--r--src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockController.java1
-rw-r--r--src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java1
-rw-r--r--src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockFluidHandler.java4
-rw-r--r--src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockInventory.java7
-rw-r--r--src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockPart.java1
-rw-r--r--src/main/java/gregtech/api/multitileentity/interfaces/IMultiTileEntity.java130
-rw-r--r--src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java80
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockController.java334
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java150
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlock_Stackable.java7
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/casing/CasingBehaviorBase.java16
21 files changed, 833 insertions, 829 deletions
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java
index dc9a9fd529..99dd459fb8 100644
--- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java
+++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java
@@ -8,7 +8,39 @@ import static gregtech.api.util.GT_Util.LAST_BROKEN_TILEENTITY;
import static gregtech.api.util.GT_Util.getTileEntity;
import static gregtech.api.util.GT_Util.setTileEntity;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import net.minecraft.block.Block;
+import net.minecraft.block.ITileEntityProvider;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.enchantment.EnchantmentHelper;
+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.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.stats.StatList;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.Explosion;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.event.ForgeEventFactory;
+
import com.cricketcraft.chisel.api.IFacade;
+
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -38,41 +70,13 @@ import gregtech.api.util.GT_Utility;
import gregtech.common.covers.CoverInfo;
import gregtech.common.render.GT_Renderer_Block;
import gregtech.common.render.IRenderedBlock;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import net.minecraft.block.Block;
-import net.minecraft.block.ITileEntityProvider;
-import net.minecraft.block.material.Material;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.enchantment.EnchantmentHelper;
-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.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.stats.StatList;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.MovingObjectPosition;
-import net.minecraft.util.StatCollector;
-import net.minecraft.world.Explosion;
-import net.minecraft.world.IBlockAccess;
-import net.minecraft.world.World;
-import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.event.ForgeEventFactory;
/*
* MultiTileEntityBlock ported from GT6
*/
public class MultiTileEntityBlock extends Block
implements IDebugableBlock, ITileEntityProvider, IRenderedBlock, IFacade {
+
protected static final Map<String, MultiTileEntityBlock> MULTI_BLOCK_MAP = new HashMap<>();
private static boolean LOCK = false;
@@ -80,51 +84,51 @@ public class MultiTileEntityBlock extends Block
protected final int mHarvestLevelOffset, mHarvestLevelMinimum, mHarvestLevelMaximum;
protected final boolean mOpaque, mNormalCube;
- public static String getName(
- String aMaterialName,
- SoundType aSoundType,
- String aTool,
- int aHarvestLevelOffset,
- int aHarvestLevelMinimum,
- int aHarvestLevelMaximum,
- boolean aOpaque,
- boolean aNormalCube) {
- return "gt.block.multiblock." + aMaterialName + "." + aSoundType.soundName + "." + aTool + "."
- + aHarvestLevelOffset + "." + aHarvestLevelMinimum + "." + aHarvestLevelMaximum + "." + aOpaque + "."
+ public static String getName(String aMaterialName, SoundType aSoundType, String aTool, int aHarvestLevelOffset,
+ int aHarvestLevelMinimum, int aHarvestLevelMaximum, boolean aOpaque, boolean aNormalCube) {
+ return "gt.block.multiblock." + aMaterialName
+ + "."
+ + aSoundType.soundName
+ + "."
+ + aTool
+ + "."
+ + aHarvestLevelOffset
+ + "."
+ + aHarvestLevelMinimum
+ + "."
+ + aHarvestLevelMaximum
+ + "."
+ + aOpaque
+ + "."
+ aNormalCube;
}
+
/**
- * @param aMaterialName the Name of the vanilla Material Field. In case this is not a vanilla Material, insert the Name you want to give your own Material instead.
- * @param aMaterial the Material used to determine the Block.
- * @param aSoundType the Sound Type of the Block.
- * @param aTool the Tool used to harvest this Block.
- * @param aHarvestLevelOffset obvious
+ * @param aMaterialName the Name of the vanilla Material Field. In case this is not a vanilla Material,
+ * insert the Name you want to give your own Material instead.
+ * @param aMaterial the Material used to determine the Block.
+ * @param aSoundType the Sound Type of the Block.
+ * @param aTool the Tool used to harvest this Block.
+ * @param aHarvestLevelOffset obvious
* @param aHarvestLevelMinimum obvious
* @param aHarvestLevelMaximum obvious
- * @param aOpaque if this Block is Opaque.
- * @param aNormalCube if this Block is a normal Cube (for Redstone Stuff).
+ * @param aOpaque if this Block is Opaque.
+ * @param aNormalCube if this Block is a normal Cube (for Redstone Stuff).
*/
- public static MultiTileEntityBlock getOrCreate(
- String aModID,
- String aMaterialName,
- Material aMaterial,
- SoundType aSoundType,
- String aTool,
- int aHarvestLevelOffset,
- int aHarvestLevelMinimum,
- int aHarvestLevelMaximum,
- boolean aOpaque,
- boolean aNormalCube) {
- final MultiTileEntityBlock rBlock = MULTI_BLOCK_MAP.get(aModID + ":"
- + getName(
- aMaterialName,
- aSoundType,
- aTool = aTool.toLowerCase(),
- aHarvestLevelOffset,
- aHarvestLevelMinimum,
- aHarvestLevelMaximum,
- aOpaque,
- aNormalCube));
+ public static MultiTileEntityBlock getOrCreate(String aModID, String aMaterialName, Material aMaterial,
+ SoundType aSoundType, String aTool, int aHarvestLevelOffset, int aHarvestLevelMinimum,
+ int aHarvestLevelMaximum, boolean aOpaque, boolean aNormalCube) {
+ final MultiTileEntityBlock rBlock = MULTI_BLOCK_MAP.get(
+ aModID + ":"
+ + getName(
+ aMaterialName,
+ aSoundType,
+ aTool = aTool.toLowerCase(),
+ aHarvestLevelOffset,
+ aHarvestLevelMinimum,
+ aHarvestLevelMaximum,
+ aOpaque,
+ aNormalCube));
return rBlock == null
? new MultiTileEntityBlock(
aModID,
@@ -140,16 +144,8 @@ public class MultiTileEntityBlock extends Block
: rBlock;
}
- protected MultiTileEntityBlock(
- String aModID,
- String aMaterialName,
- Material aMaterial,
- SoundType aSoundType,
- String aTool,
- int aHarvestLevelOffset,
- int aHarvestLevelMinimum,
- int aHarvestLevelMaximum,
- boolean aOpaque,
+ protected MultiTileEntityBlock(String aModID, String aMaterialName, Material aMaterial, SoundType aSoundType,
+ String aTool, int aHarvestLevelOffset, int aHarvestLevelMinimum, int aHarvestLevelMaximum, boolean aOpaque,
boolean aNormalCube) {
super(aMaterial);
if (GregTech_API.sPreloadFinished)
@@ -205,7 +201,7 @@ public class MultiTileEntityBlock extends Block
}
@Override
- public final boolean func_149730_j /*isFullBlock*/() {
+ public final boolean func_149730_j /* isFullBlock */() {
return mOpaque;
}
@@ -227,8 +223,7 @@ public class MultiTileEntityBlock extends Block
@Override
public final float getBlockHardness(World aWorld, int aX, int aY, int aZ) {
final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
- return aTileEntity instanceof IMTE_GetBlockHardness
- ? ((IMTE_GetBlockHardness) aTileEntity).getBlockHardness()
+ return aTileEntity instanceof IMTE_GetBlockHardness ? ((IMTE_GetBlockHardness) aTileEntity).getBlockHardness()
: 1.0F;
}
@@ -246,8 +241,8 @@ public class MultiTileEntityBlock extends Block
@Override
@SuppressWarnings("unchecked")
- public final void addCollisionBoxesToList(
- World aWorld, int aX, int aY, int aZ, AxisAlignedBB aAABB, List aList, Entity aEntity) {
+ public final void addCollisionBoxesToList(World aWorld, int aX, int aY, int aZ, AxisAlignedBB aAABB, List aList,
+ Entity aEntity) {
final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if (aTileEntity instanceof IMultiTileEntity)
((IMultiTileEntity) aTileEntity).addCollisionBoxesToList(aAABB, aList, aEntity);
@@ -286,8 +281,8 @@ public class MultiTileEntityBlock extends Block
}
@Override
- public final void onNeighborChange(
- IBlockAccess aWorld, int aX, int aY, int aZ, int aTileX, int aTileY, int aTileZ) {
+ public final void onNeighborChange(IBlockAccess aWorld, int aX, int aY, int aZ, int aTileX, int aTileY,
+ int aTileZ) {
final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if (!LOCK) {
LOCK = true;
@@ -319,11 +314,9 @@ public class MultiTileEntityBlock extends Block
@Override
public float getPlayerRelativeBlockHardness(EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ) {
final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
- return aTileEntity instanceof IMultiTileEntity
- && ((IMultiTileEntity) aTileEntity).privateAccess()
- && !((IMultiTileEntity) aTileEntity).playerOwnsThis(aPlayer, true)
- ? -1.0F
- : super.getPlayerRelativeBlockHardness(aPlayer, aWorld, aX, aY, aZ);
+ return aTileEntity instanceof IMultiTileEntity && ((IMultiTileEntity) aTileEntity).privateAccess()
+ && !((IMultiTileEntity) aTileEntity).playerOwnsThis(aPlayer, true) ? -1.0F
+ : super.getPlayerRelativeBlockHardness(aPlayer, aWorld, aX, aY, aZ);
}
@Override
@@ -334,16 +327,8 @@ public class MultiTileEntityBlock extends Block
}
@Override
- public boolean onBlockActivated(
- World aWorld,
- int aX,
- int aY,
- int aZ,
- EntityPlayer aPlayer,
- int aSide,
- float aHitX,
- float aHitY,
- float aHitZ) {
+ public boolean onBlockActivated(World aWorld, int aX, int aY, int aZ, EntityPlayer aPlayer, int aSide, float aHitX,
+ float aHitY, float aHitZ) {
final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if (aPlayer != null && ItemList.TC_Thaumometer.isStackEqual(aPlayer.getHeldItem(), true, true)) return false;
return aTileEntity instanceof IMultiTileEntity
@@ -377,8 +362,7 @@ public class MultiTileEntityBlock extends Block
@Override
public final boolean getWeakChanges(IBlockAccess aWorld, int aX, int aY, int aZ) {
final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
- return aTileEntity instanceof IMTE_GetWeakChanges
- ? ((IMTE_GetWeakChanges) aTileEntity).getWeakChanges()
+ return aTileEntity instanceof IMTE_GetWeakChanges ? ((IMTE_GetWeakChanges) aTileEntity).getWeakChanges()
: super.getWeakChanges(aWorld, aX, aY, aZ);
}
@@ -394,7 +378,17 @@ public class MultiTileEntityBlock extends Block
if (aTileEntity instanceof IMultiTileEntity) {
final ArrayList<ItemStack> tList = ((IMultiTileEntity) aTileEntity).getDrops(aFortune, aSilkTouch);
aChance = ForgeEventFactory.fireBlockHarvesting(
- tList, aWorld, this, aX, aY, aZ, aMeta, aFortune, aChance, aSilkTouch, aPlayer);
+ tList,
+ aWorld,
+ this,
+ aX,
+ aY,
+ aZ,
+ aMeta,
+ aFortune,
+ aChance,
+ aSilkTouch,
+ aPlayer);
for (ItemStack tStack : tList)
if (XSTR.XSTR_INSTANCE.nextFloat() <= aChance) dropBlockAsItem(aWorld, aX, aY, aZ, tStack);
}
@@ -582,8 +576,8 @@ public class MultiTileEntityBlock extends Block
}
@Override
- public final ArrayList<ItemStack> getDrops(
- World aWorld, int aX, int aY, int aZ, int aUnusableMetaData, int aFortune) {
+ public final ArrayList<ItemStack> getDrops(World aWorld, int aX, int aY, int aZ, int aUnusableMetaData,
+ int aFortune) {
final TileEntity aTileEntity = getTileEntity(aWorld, aX, aY, aZ, true);
if (aTileEntity instanceof IMultiTileEntity) return ((IMultiTileEntity) aTileEntity).getDrops(aFortune, false);
return new ArrayList<>();
@@ -595,15 +589,8 @@ public class MultiTileEntityBlock extends Block
}
@Override
- public final float getExplosionResistance(
- Entity aExploder,
- World aWorld,
- int aX,
- int aY,
- int aZ,
- double aExplosionX,
- double aExplosionY,
- double aExplosionZ) {
+ public final float getExplosionResistance(Entity aExploder, World aWorld, int aX, int aY, int aZ,
+ double aExplosionX, double aExplosionY, double aExplosionZ) {
final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
return aTileEntity instanceof IMultiTileEntity
? ((IMultiTileEntity) aTileEntity)
@@ -619,7 +606,10 @@ public class MultiTileEntityBlock extends Block
if (aTileEntity instanceof IMultiTileEntity) {
GT_Log.exp.printf(
"Explosion at : %d | %d | %d DIMID: %s due to near explosion!%n",
- aX, aY, aZ, aWorld.provider.dimensionId);
+ aX,
+ aY,
+ aZ,
+ aWorld.provider.dimensionId);
((IMultiTileEntity) aTileEntity).onExploded(aExplosion);
} else aWorld.setBlockToAir(aX, aY, aZ);
}
@@ -652,8 +642,8 @@ public class MultiTileEntityBlock extends Block
}
@Override
- public final ItemStack getPickBlock(
- MovingObjectPosition aTarget, World aWorld, int aX, int aY, int aZ, EntityPlayer aPlayer) {
+ public final ItemStack getPickBlock(MovingObjectPosition aTarget, World aWorld, int aX, int aY, int aZ,
+ EntityPlayer aPlayer) {
final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
return aTileEntity instanceof IMultiTileEntity ? ((IMultiTileEntity) aTileEntity).getPickBlock(aTarget) : null;
}
@@ -664,8 +654,8 @@ public class MultiTileEntityBlock extends Block
return aTileEntity instanceof IMultiTileEntity ? ((IMultiTileEntity) aTileEntity).getPickBlock(aTarget) : null;
}
- public final IMultiTileEntity receiveMultiTileEntityData(
- IBlockAccess aWorld, int aX, short aY, int aZ, short aRID, short aID) {
+ public final IMultiTileEntity receiveMultiTileEntityData(IBlockAccess aWorld, int aX, short aY, int aZ, short aRID,
+ short aID) {
if (!(aWorld instanceof World)) return null;
TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ);
@@ -683,8 +673,8 @@ public class MultiTileEntityBlock extends Block
return ((IMultiTileEntity) aTileEntity);
}
- public void receiveCoverData(
- IMultiTileEntity mte, int aCover0, int aCover1, int aCover2, int aCover3, int aCover4, int aCover5) {
+ public void receiveCoverData(IMultiTileEntity mte, int aCover0, int aCover1, int aCover2, int aCover3, int aCover4,
+ int aCover5) {
boolean updated;
updated = mte.setCoverIDAtSideNoUpdate((byte) 0, aCover0);
updated |= mte.setCoverIDAtSideNoUpdate((byte) 1, aCover1);
@@ -698,13 +688,13 @@ public class MultiTileEntityBlock extends Block
}
}
//
- // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_COMMON_DATA, aTextureData);
+ // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_COMMON_DATA, aTextureData);
//
- // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_CUSTOM_DATA, aUpdateData & 0x7F);
- // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_CUSTOM_DATA, aTexturePage | 0x80);
+ // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_CUSTOM_DATA, aUpdateData & 0x7F);
+ // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_CUSTOM_DATA, aTexturePage | 0x80);
//
- // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_COLOR, aColorData);
- // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_REDSTONE_OUTPUT, aRedstoneData);
+ // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_COLOR, aColorData);
+ // te.receiveClientEvent(GregTechTileClientEvents.CHANGE_REDSTONE_OUTPUT, aRedstoneData);
@Override
public final TileEntity createTileEntity(World aWorld, int aMeta) {
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java
index f388944bb4..3dcf5eded3 100644
--- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java
+++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java
@@ -3,12 +3,6 @@ package gregtech.api.multitileentity;
import static gregtech.GT_Mod.GT_FML_LOGGER;
import static gregtech.api.util.GT_Util.setTileEntity;
-import gregtech.api.GregTech_API;
-import gregtech.api.interfaces.ITexture;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_HasMultiBlockMachineRelevantData;
-import gregtech.common.render.GT_Renderer_Block;
-import gregtech.common.render.IRenderedBlock;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -20,7 +14,15 @@ import net.minecraft.util.StatCollector;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_HasMultiBlockMachineRelevantData;
+import gregtech.common.render.GT_Renderer_Block;
+import gregtech.common.render.IRenderedBlock;
+
public class MultiTileEntityBlockInternal extends Block implements IRenderedBlock {
+
public MultiTileEntityRegistry mMultiTileEntityRegistry;
public MultiTileEntityBlockInternal() {
@@ -47,18 +49,10 @@ public class MultiTileEntityBlockInternal extends Block implements IRenderedBloc
return StatCollector.translateToLocal(mMultiTileEntityRegistry.mNameInternal + ".name");
}
- public boolean placeBlock(
- World aWorld,
- int aX,
- int aY,
- int aZ,
- byte aSide,
- short aMetaData,
- NBTTagCompound aNBT,
- boolean aCauseBlockUpdates,
- boolean aForcePlacement) {
- final MultiTileEntityContainer aMTEContainer =
- mMultiTileEntityRegistry.getNewTileEntityContainer(aWorld, aX, aY, aZ, aMetaData, aNBT);
+ public boolean placeBlock(World aWorld, int aX, int aY, int aZ, byte aSide, short aMetaData, NBTTagCompound aNBT,
+ boolean aCauseBlockUpdates, boolean aForcePlacement) {
+ final MultiTileEntityContainer aMTEContainer = mMultiTileEntityRegistry
+ .getNewTileEntityContainer(aWorld, aX, aY, aZ, aMetaData, aNBT);
if (aMTEContainer == null) return false;
final Block tReplacedBlock = aWorld.getBlock(aX, aY, aZ);
@@ -92,7 +86,8 @@ public class MultiTileEntityBlockInternal extends Block implements IRenderedBloc
try {
if (aMTEContainer.mTileEntity instanceof IMTE_HasMultiBlockMachineRelevantData) {
if (((IMTE_HasMultiBlockMachineRelevantData) aMTEContainer.mTileEntity)
- .hasMultiBlockMachineRelevantData()) GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ);
+ .hasMultiBlockMachineRelevantData())
+ GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ);
}
} catch (Throwable e) {
GT_FML_LOGGER.error("causeMachineUpdate", e);
@@ -114,7 +109,7 @@ public class MultiTileEntityBlockInternal extends Block implements IRenderedBloc
}
try {
- aWorld.func_147451_t /*updateAllLightTypes*/(aX, aY, aZ);
+ aWorld.func_147451_t /* updateAllLightTypes */(aX, aY, aZ);
} catch (Throwable e) {
GT_FML_LOGGER.error("updateAllLightTypes", e);
}
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityClassContainer.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityClassContainer.java
index c66ec30481..00f06d2deb 100644
--- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityClassContainer.java
+++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityClassContainer.java
@@ -2,14 +2,17 @@ package gregtech.api.multitileentity;
import static gregtech.api.enums.GT_Values.NBT;
-import gregtech.api.enums.Materials;
-import gregtech.api.multitileentity.base.BaseMultiTileEntity;
-import gregtech.api.util.GT_Util;
import java.lang.ref.WeakReference;
+
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.Tuple;
+import gregtech.api.enums.Materials;
+import gregtech.api.multitileentity.base.BaseMultiTileEntity;
+import gregtech.api.util.GT_Util;
+
public class MultiTileEntityClassContainer {
+
private final WeakReference<MultiTileEntityRegistry> mRegistry;
private String mLocalized;
private String mCategoryName;
@@ -25,8 +28,8 @@ public class MultiTileEntityClassContainer {
public byte mStackSize = 64;
public boolean mHidden = false;
- public MultiTileEntityClassContainer(
- MultiTileEntityRegistry aRegistry, int aID, Class<? extends BaseMultiTileEntity> aClass) {
+ public MultiTileEntityClassContainer(MultiTileEntityRegistry aRegistry, int aID,
+ Class<? extends BaseMultiTileEntity> aClass) {
/* Start the Builder */
mRegistry = new WeakReference<>(aRegistry);
mID = (short) aID;
@@ -38,11 +41,8 @@ public class MultiTileEntityClassContainer {
/* End and register the Builder with the registry */
final MultiTileEntityRegistry registry = mRegistry.get();
- if (mParameters.hasKey(NBT.MATERIAL) && !mParameters.hasKey(NBT.COLOR))
- mParameters.setInteger(
- NBT.COLOR,
- GT_Util.getRGBInt(
- Materials.get(mParameters.getString(NBT.MATERIAL)).getRGBA()));
+ if (mParameters.hasKey(NBT.MATERIAL) && !mParameters.hasKey(NBT.COLOR)) mParameters
+ .setInteger(NBT.COLOR, GT_Util.getRGBInt(Materials.get(mParameters.getString(NBT.MATERIAL)).getRGBA()));
try {
mCanonicalTileEntity = mClass.newInstance();
@@ -116,7 +116,10 @@ public class MultiTileEntityClassContainer {
}
public MultiTileEntityClassContainer setNBT(Tuple... aTags) {
- /* Merge in arbitrary NBT tuples of (key, value). Useful for anything for which a custom method has not yet been exposed */
+ /*
+ * Merge in arbitrary NBT tuples of (key, value). Useful for anything for which a custom method has not yet been
+ * exposed
+ */
mParameters = GT_Util.fuseNBT(mParameters, GT_Util.makeNBT(aTags));
return this;
}
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java
index b209c95990..3510140c12 100644
--- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java
+++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java
@@ -2,11 +2,13 @@ package gregtech.api.multitileentity;
import static gregtech.api.util.GT_Util.setTileEntity;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity;
+
public class MultiTileEntityContainer {
+
public final TileEntity mTileEntity;
public final MultiTileEntityBlock mBlock;
public final byte mBlockMetaData;
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java
index 4d7c6be262..aad842c68b 100644
--- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java
+++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityItemInternal.java
@@ -3,20 +3,8 @@ package gregtech.api.multitileentity;
import static gregtech.GT_Mod.GT_FML_LOGGER;
import static gregtech.api.enums.GT_Values.SIDE_TOP;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.metatileentity.CoverableTileEntity;
-import gregtech.api.multitileentity.interfaces.IItemUpdatable;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_AddToolTips;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_CanPlace;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_GetMaxStackSize;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_HasMultiBlockMachineRelevantData;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_IgnoreEntityCollisionWhenPlacing;
-import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_OnlyPlaceableWhenSneaking;
import java.util.List;
+
import net.minecraft.block.Block;
import net.minecraft.block.BlockSnow;
import net.minecraft.client.renderer.texture.IIconRegister;
@@ -34,7 +22,22 @@ import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.metatileentity.CoverableTileEntity;
+import gregtech.api.multitileentity.interfaces.IItemUpdatable;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_AddToolTips;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_CanPlace;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_GetMaxStackSize;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_HasMultiBlockMachineRelevantData;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_IgnoreEntityCollisionWhenPlacing;
+import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_OnlyPlaceableWhenSneaking;
+
public class MultiTileEntityItemInternal extends ItemBlock implements IFluidContainerItem, IItemUpdatable {
+
public final MultiTileEntityBlockInternal mBlock;
public MultiTileEntityItemInternal(Block aBlock) {
@@ -47,8 +50,8 @@ public class MultiTileEntityItemInternal extends ItemBlock implements IFluidCont
@Override
@SuppressWarnings("unchecked")
public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
- final MultiTileEntityContainer tTileEntityContainer =
- mBlock.mMultiTileEntityRegistry.getNewTileEntityContainer(aStack);
+ final MultiTileEntityContainer tTileEntityContainer = mBlock.mMultiTileEntityRegistry
+ .getNewTileEntityContainer(aStack);
if (tTileEntityContainer == null) {
aList.add("INVALID ITEM!");
return;
@@ -80,43 +83,33 @@ public class MultiTileEntityItemInternal extends ItemBlock implements IFluidCont
}
@Override
- public boolean onItemUse(
- ItemStack aStack,
- EntityPlayer aPlayer,
- World aWorld,
- int aX,
- int aY,
- int aZ,
- int aSide,
- float aHitX,
- float aHitY,
- float aHitZ) {
+ public boolean onItemUse(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide,
+ float aHitX, float aHitY, float aHitZ) {
if (aY < 0 || aY > aWorld.getHeight()) return false;
try {
final Block tClickedBlock = aWorld.getBlock(aX, aY, aZ);
if (tClickedBlock instanceof BlockSnow && (aWorld.getBlockMetadata(aX, aY, aZ) & 7) < 1) {
aSide = SIDE_TOP;
- } else if (tClickedBlock != Blocks.vine
- && tClickedBlock != Blocks.tallgrass
+ } else if (tClickedBlock != Blocks.vine && tClickedBlock != Blocks.tallgrass
&& tClickedBlock != Blocks.deadbush
&& !tClickedBlock.isReplaceable(aWorld, aX, aY, aZ)) {
- aX += GT_Values.OFFX[aSide];
- aY += GT_Values.OFFY[aSide];
- aZ += GT_Values.OFFZ[aSide];
- }
+ aX += GT_Values.OFFX[aSide];
+ aY += GT_Values.OFFY[aSide];
+ aZ += GT_Values.OFFZ[aSide];
+ }
final Block tReplacedBlock = aWorld.getBlock(aX, aY, aZ);
if (!tReplacedBlock.isReplaceable(aWorld, aX, aY, aZ)
- || !mBlock.canReplace(aWorld, aX, aY, aZ, aSide, aStack)) return false;
+ || !mBlock.canReplace(aWorld, aX, aY, aZ, aSide, aStack))
+ return false;
if (aStack.stackSize == 0 || (aPlayer != null && !aPlayer.canPlayerEdit(aX, aY, aZ, aSide, aStack)))
return false;
- final MultiTileEntityContainer aMTEContainer =
- mBlock.mMultiTileEntityRegistry.getNewTileEntityContainer(aWorld, aX, aY, aZ, aStack);
+ final MultiTileEntityContainer aMTEContainer = mBlock.mMultiTileEntityRegistry
+ .getNewTileEntityContainer(aWorld, aX, aY, aZ, aStack);
if (aMTEContainer != null
- && (aPlayer == null
- || aPlayer.isSneaking()
+ && (aPlayer == null || aPlayer.isSneaking()
|| !(aMTEContainer.mTileEntity instanceof IMTE_OnlyPlaceableWhenSneaking)
|| !((IMTE_OnlyPlaceableWhenSneaking) aMTEContainer.mTileEntity)
.onlyPl