aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2022-11-11 17:45:33 +0100
committerGitHub <noreply@github.com>2022-11-11 17:45:33 +0100
commit1768d561450231ec8228914f28f0d08e16c4e609 (patch)
tree6799863bbf97fba5ddf74bb3174f2646e34a503f /src/main/java
parentf7ffab4b1f0ef45dd4852b26965367f2c559ca0a (diff)
parentcc7a9790eb6e268f4eb57b28d39b2bd4f4730a3d (diff)
downloadGT5-Unofficial-1768d561450231ec8228914f28f0d08e16c4e609.tar.gz
GT5-Unofficial-1768d561450231ec8228914f28f0d08e16c4e609.tar.bz2
GT5-Unofficial-1768d561450231ec8228914f28f0d08e16c4e609.zip
Merge pull request #45 from GTNewHorizons/feature/tfft-rework
TFFT rework
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/client/GTTexture.java43
-rw-r--r--src/main/java/common/Blocks.java16
-rw-r--r--src/main/java/common/CommonProxy.java4
-rw-r--r--src/main/java/common/Recipes.java165
-rw-r--r--src/main/java/common/TileEntities.java17
-rw-r--r--src/main/java/common/blocks/Block_TFFTCasing.java28
-rw-r--r--src/main/java/common/blocks/Block_TFFTMultiHatch.java55
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageField.java88
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT1.java37
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT2.java37
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT3.java37
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT4.java37
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT5.java37
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTMultiHatch.java37
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageField.java47
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT1.java24
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT2.java24
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT3.java24
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT4.java24
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT5.java24
-rw-r--r--src/main/java/common/tileentities/GTMTE_FluidMultiStorage.java562
-rw-r--r--src/main/java/common/tileentities/GTMTE_TFFT.java757
-rw-r--r--src/main/java/common/tileentities/GTMTE_TFFTHatch.java268
-rw-r--r--src/main/java/common/tileentities/GTMTE_TFFTMultiHatch.java217
-rw-r--r--src/main/java/common/tileentities/TE_TFFTMultiHatch.java112
-rw-r--r--src/main/java/kekztech/MultiFluidHandler.java397
26 files changed, 1242 insertions, 1876 deletions
diff --git a/src/main/java/client/GTTexture.java b/src/main/java/client/GTTexture.java
deleted file mode 100644
index 345bb8f790..0000000000
--- a/src/main/java/client/GTTexture.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package client;
-
-import gregtech.api.GregTech_API;
-import gregtech.api.interfaces.IIconContainer;
-import kekztech.KekzCore;
-import net.minecraft.client.renderer.texture.TextureMap;
-import net.minecraft.util.IIcon;
-import net.minecraft.util.ResourceLocation;
-
-public class GTTexture implements IIconContainer, Runnable {
-
- public static final GTTexture TFFT_CASING = new GTTexture("blocks/TFFTCasing");
- public static final GTTexture MULTI_HATCH_OFF = new GTTexture("blocks/multi_hatch_off");
- public static final GTTexture MULTI_HATCH_ON = new GTTexture("blocks/multi_hatch_on");
-
- private IIcon icon;
- private final String iconName;
-
- private GTTexture(String iconName) {
- this.iconName = iconName;
- GregTech_API.sGTBlockIconload.add(this);
- }
-
- @Override
- public IIcon getIcon() {
- return icon;
- }
-
- @Override
- public IIcon getOverlayIcon() {
- return null;
- }
-
- @Override
- public ResourceLocation getTextureFile() {
- return TextureMap.locationBlocksTexture;
- }
-
- @Override
- public void run() {
- icon = GregTech_API.sBlockIcons.registerIcon(KekzCore.MODID + ":" + iconName);
- }
-}
diff --git a/src/main/java/common/Blocks.java b/src/main/java/common/Blocks.java
index 2a4bf328f7..3bc8ddc9f9 100644
--- a/src/main/java/common/Blocks.java
+++ b/src/main/java/common/Blocks.java
@@ -9,13 +9,7 @@ public class Blocks {
public static Block yszUnit;
public static Block gdcUnit;
- public static Block tfftCasing;
- public static Block tfftStorageField1;
- public static Block tfftStorageField2;
- public static Block tfftStorageField3;
- public static Block tfftStorageField4;
- public static Block tfftStorageField5;
- public static Block tfftMultiHatch;
+ public static Block tfftStorageField;
public static Block reactorChamberOFF;
public static Block reactorChamberON;
@@ -62,13 +56,7 @@ public class Blocks {
}
private static void registerBlocks_TFFT() {
- tfftCasing = Block_TFFTCasing.registerBlock();
- tfftStorageField1 = Block_TFFTStorageFieldBlockT1.registerBlock();
- tfftStorageField2 = Block_TFFTStorageFieldBlockT2.registerBlock();
- tfftStorageField3 = Block_TFFTStorageFieldBlockT3.registerBlock();
- tfftStorageField4 = Block_TFFTStorageFieldBlockT4.registerBlock();
- tfftStorageField5 = Block_TFFTStorageFieldBlockT5.registerBlock();
- tfftMultiHatch = Block_TFFTMultiHatch.registerBlock();
+ tfftStorageField = Block_TFFTStorageField.registerBlock();
}
/*private static void registerBlocks_Nuclear() {
diff --git a/src/main/java/common/CommonProxy.java b/src/main/java/common/CommonProxy.java
index bf92f6c697..464f8eab49 100644
--- a/src/main/java/common/CommonProxy.java
+++ b/src/main/java/common/CommonProxy.java
@@ -3,10 +3,12 @@ package common;
import common.items.ErrorItem;
import common.items.MetaItem_CraftingComponent;
import common.items.MetaItem_ReactorComponent;
+import common.tileentities.GTMTE_TFFTHatch;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkRegistry;
+import gregtech.api.GregTech_API;
import kekztech.GuiHandler;
import kekztech.Items;
import kekztech.KekzCore;
@@ -39,5 +41,7 @@ public class CommonProxy {
Recipes.postInit();
// Research
Researches.postInit();
+
+ if (GregTech_API.mAE2) GTMTE_TFFTHatch.registerAEIntegration();
}
}
diff --git a/src/main/java/common/Recipes.java b/src/main/java/common/Recipes.java
index 558f0b83db..8af826dd61 100644
--- a/src/main/java/common/Recipes.java
+++ b/src/main/java/common/Recipes.java
@@ -54,8 +54,8 @@ public class Recipes {
private static void registerRecipes_TFFT() {
- // Controller
- final Object[] tfft_recipe = {
+ // TFFT Controller
+ GT_ModHandler.addCraftingRecipe(TileEntities.tfft.getStackForm(1), new Object[] {
"HFH",
"PVP",
"CFC",
@@ -69,92 +69,96 @@ public class Recipes {
OrePrefixes.rotor.get(Materials.VibrantAlloy),
'C',
OrePrefixes.circuit.get(Materials.Data)
- };
- GT_ModHandler.addCraftingRecipe(TileEntities.fms.getStackForm(1), tfft_recipe);
+ });
- // Blocks
- final ItemStack[] tfftcasing = {
- GT_Utility.getIntegratedCircuit(6),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DarkSteel, 3),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnderPearl, 3),
- GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1),
- };
+ // TFFT Casing
GT_Values.RA.addAssemblerRecipe(
- tfftcasing,
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(6),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DarkSteel, 3),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnderPearl, 3),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1)
+ },
FluidRegistry.getFluidStack("molten.polytetrafluoroethylene", 144),
- new ItemStack(Blocks.tfftCasing, 1),
+ new ItemStack(Blocks.tfftStorageField, 1),
200,
256);
- final ItemStack[] tfftstoragefield1 = {
- GT_Utility.getIntegratedCircuit(6),
- GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.PulsatingIron, 1),
- GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Steel, 1),
- ItemList.Electric_Pump_LV.get(1L)
- };
+
+ // TFFTStorageField1
GT_Values.RA.addAssemblerRecipe(
- tfftstoragefield1,
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(6),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.PulsatingIron, 1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Steel, 1),
+ ItemList.Electric_Pump_LV.get(1L)
+ },
FluidRegistry.getFluidStack("molten.glass", 144),
- new ItemStack(Blocks.tfftStorageField1, 1),
+ new ItemStack(Blocks.tfftStorageField, 1, 1),
200,
256);
- final ItemStack[] tfftstoragefield2 = {
- GT_Utility.getIntegratedCircuit(6),
- GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.PulsatingIron, 4),
- GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.StainlessSteel, 1),
- ItemList.Electric_Pump_MV.get(1L)
- };
+
+ // TFFTStorageField2
GT_Values.RA.addAssemblerRecipe(
- tfftstoragefield2,
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(6),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Advanced, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.PulsatingIron, 4),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.StainlessSteel, 1),
+ ItemList.Electric_Pump_MV.get(1L)
+ },
FluidRegistry.getFluidStack("molten.plastic", 576),
- new ItemStack(Blocks.tfftStorageField2, 1),
+ new ItemStack(Blocks.tfftStorageField, 1, 2),
200,
480);
- final ItemStack[] tfftstoragefield3 = {
- GT_Utility.getIntegratedCircuit(6),
- GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 2),
- GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VibrantAlloy, 2),
- GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Titanium, 1),
- ItemList.Field_Generator_MV.get(1L),
- ItemList.Electric_Pump_HV.get(2L)
- };
+
+ // TFFTStorageField3
GT_Values.RA.addAssemblerRecipe(
- tfftstoragefield3,
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(6),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Data, 2),
+ GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VibrantAlloy, 2),
+ GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Titanium, 1),
+ ItemList.Field_Generator_MV.get(1L),
+ ItemList.Electric_Pump_HV.get(2L)
+ },
FluidRegistry.getFluidStack("molten.epoxid", 576),
- new ItemStack(Blocks.tfftStorageField3, 1),
+ new ItemStack(Blocks.tfftStorageField, 1, 3),
300,
1920);
- final ItemStack[] tfftstoragefield4 = {
- GT_Utility.getIntegratedCircuit(6),
- GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 4),
- GT_OreDictUnificator.get(OrePrefixes.plateTriple, Materials.NiobiumTitanium, 1),
- GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.TungstenSteel, 1),
- ItemList.Field_Generator_HV.get(1L),
- ItemList.Electric_Pump_EV.get(1L)
- };
+
+ // TFFTStorageField4
GT_Values.RA.addAssemblerRecipe(
- tfftstoragefield4,
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(6),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Elite, 4),
+ GT_OreDictUnificator.get(OrePrefixes.plateTriple, Materials.NiobiumTitanium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.TungstenSteel, 1),
+ ItemList.Field_Generator_HV.get(1L),
+ ItemList.Electric_Pump_EV.get(1L)
+ },
FluidRegistry.getFluidStack("molten.epoxid", 1152),
- new ItemStack(Blocks.tfftStorageField4, 1),
+ new ItemStack(Blocks.tfftStorageField, 1, 4),
400,
4098);
- final ItemStack[] tfftstoragefield5 = {
- GT_Utility.getIntegratedCircuit(6),
- GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 4),
- GT_OreDictUnificator.get(OrePrefixes.plateTriple, Materials.HSSS, 1),
- GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Enderium, 1),
- ItemList.Field_Generator_EV.get(1L),
- ItemList.Electric_Pump_IV.get(1L)
- };
+
+ // TFFTStorageField5
GT_Values.RA.addAssemblerRecipe(
- tfftstoragefield5,
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(6),
+ GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.Ultimate, 4),
+ GT_OreDictUnificator.get(OrePrefixes.plateTriple, Materials.HSSS, 1),
+ GT_OreDictUnificator.get(OrePrefixes.pipeHuge, Materials.Enderium, 1),
+ ItemList.Field_Generator_EV.get(1L),
+ ItemList.Electric_Pump_IV.get(1L)
+ },
FluidRegistry.getFluidStack("molten.epoxid", 1152),
- new ItemStack(Blocks.tfftStorageField5, 1),
+ new ItemStack(Blocks.tfftStorageField, 1, 5),
400,
6147);
- // Multi Hatch
- final Object[] multi_hatch_HV = {
+
+ // TFFT Multi Hatch
+ GT_ModHandler.addCraftingRecipe(TileEntities.tfftHatch.getStackForm(1), new Object[] {
"PRP",
"UFU",
"PRP",
@@ -166,40 +170,7 @@ public class Recipes {
ItemList.Electric_Pump_HV.get(1L),
'F',
ItemList.Field_Generator_LV.get(1L)
- };
- GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.tfftMultiHatch), multi_hatch_HV);
- final Object[] multi_hatch_IV = {
- "PRP",
- "UFU",
- "PRP",
- 'P',
- GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.TungstenSteel, 1),
- 'R',
- GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TungstenSteel, 1),
- 'U',
- ItemList.Electric_Pump_IV.get(1L),
- 'F',
- ItemList.Field_Generator_HV.get(1L)
- };
- GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.tfftMultiHatch), multi_hatch_IV);
- final Object[] multi_hatch_ZPM = {
- "PRP",
- "UFU",
- "PRP",
- 'P',
- GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.NaquadahAlloy, 1),
- 'R',
- GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.NaquadahAlloy, 1),
- 'U',
- ItemList.Electric_Pump_ZPM.get(1L),
- 'F',
- ItemList.Field_Generator_IV.get(1L)
- };
- GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.tfftMultiHatch), multi_hatch_ZPM);
-
- // Conversion recipe from deprecated hatch to new one (old hatch is equal to new IV hatch)
- GT_ModHandler.addShapelessCraftingRecipe(
- TileEntities.mhIV.getStackForm(1), new ItemStack[] {new ItemStack(Blocks.tfftMultiHatch, 1)});
+ });
}
private static void registerRecipes_SOFC() {
diff --git a/src/main/java/common/TileEntities.java b/src/main/java/common/TileEntities.java
index 6253629ddb..455bde0e63 100644
--- a/src/main/java/common/TileEntities.java
+++ b/src/main/java/common/TileEntities.java
@@ -1,6 +1,8 @@
package common;
import common.tileentities.*;
+import common.tileentities.GTMTE_TFFT;
+import common.tileentities.GTMTE_TFFTHatch;
import cpw.mods.fml.common.registry.GameRegistry;
public class TileEntities {
@@ -9,16 +11,14 @@ public class TileEntities {
public static GTMTE_SOFuelCellMK1 sofc1;
public static GTMTE_SOFuelCellMK2 sofc2;
// public static GTMTE_ModularNuclearReactor mdr;
- public static GTMTE_FluidMultiStorage fms;
+ public static GTMTE_TFFT tfft;
public static GTMTE_LapotronicSuperCapacitor lsc;
public static GTMTE_SpaceElevator se;
+
// Singleblocks
- public static GTMTE_TFFTMultiHatch mhHV;
- public static GTMTE_TFFTMultiHatch mhIV;
- public static GTMTE_TFFTMultiHatch mhZPM;
+ public static GTMTE_TFFTHatch tfftHatch;
public static void preInit() {
- GameRegistry.registerTileEntity(TE_TFFTMultiHatch.class, "kekztech_tfftmultihatch_tile");
// GameRegistry.registerTileEntity(TE_ItemProxyCable.class, "kekztech_itemproxycable_tile");
// GameRegistry.registerTileEntity(TE_ItemProxySource.class, "kekztech_itemproxysource_tile");
// GameRegistry.registerTileEntity(TE_ItemProxyEndpoint.class, "kekztech_itemproxyendpoint_tile");
@@ -35,12 +35,11 @@ public class TileEntities {
sofc1 = new GTMTE_SOFuelCellMK1(13101, "multimachine.fuelcellmk1", "Solid-Oxide Fuel Cell Mk I");
sofc2 = new GTMTE_SOFuelCellMK2(13102, "multimachine.fuelcellmk2", "Solid-Oxide Fuel Cell Mk II");
// mdr = new GTMTE_ModularNuclearReactor(13103, "multimachine.nuclearreactor", "Nuclear Reactor");
- fms = new GTMTE_FluidMultiStorage(13104, "multimachine.tf_fluidtank", "T.F.F.T");
+ tfft = new GTMTE_TFFT(13104, "multimachine.tfft", "T.F.F.T");
lsc = new GTMTE_LapotronicSuperCapacitor(13106, "multimachine.supercapacitor", "Lapotronic Supercapacitor");
// se = new GTMTE_SpaceElevator(13107, "multimachine.spaceelevator", "Space Elevator");
+
// Singleblocks
- mhHV = new GTMTE_TFFTMultiHatch(13108, "machine.multihatch.0", "T.F.F.T Multi I/O Hatch [HV]", 3);
- mhIV = new GTMTE_TFFTMultiHatch(13109, "machine.multihatch.1", "T.F.F.T Multi I/O Hatch [IV]", 5);
- mhZPM = new GTMTE_TFFTMultiHatch(13110, "machine.multihatch.2", "T.F.F.T Multi I/O Hatch [ZPM]", 7);
+ tfftHatch = new GTMTE_TFFTHatch(13109, "machine.tffthatch", "T.F.F.T Multi I/O Hatch");
}
}
diff --git a/src/main/java/common/blocks/Block_TFFTCasing.java b/src/main/java/common/blocks/Block_TFFTCasing.java
deleted file mode 100644
index b6d793e7ec..0000000000
--- a/src/main/java/common/blocks/Block_TFFTCasing.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package common.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 BaseGTUpdateableBlock {
-
- private static Block_TFFTCasing instance = new Block_TFFTCasing();
-
- private Block_TFFTCasing() {
- super(Material.iron);
- }
-
- public static Block registerBlock() {
- final String blockName = "kekztech_tfftcasingblock_block";
- instance.setBlockName(blockName);
- instance.setCreativeTab(CreativeTabs.tabMisc);
- instance.setBlockTextureName(KekzCore.MODID + ":" + "TFFTCasing");
- instance.setHardness(5.0f);
- instance.setResistance(6.0f);
- GameRegistry.registerBlock(instance, blockName);
-
- return instance;
- }
-}
diff --git a/src/main/java/common/blocks/Block_TFFTMultiHatch.java b/src/main/java/common/blocks/Block_TFFTMultiHatch.java
deleted file mode 100644
index 14d288b7bb..0000000000
--- a/src/main/java/common/blocks/Block_TFFTMultiHatch.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package common.blocks;
-
-import common.itemBlocks.IB_TFFTMultiHatch;
-import common.tileentities.TE_TFFTMultiHatch;
-import cpw.mods.fml.common.registry.GameRegistry;
-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.tileentity.TileEntity;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.World;
-
-@Deprecated
-public class Block_TFFTMultiHatch extends BaseGTUpdateableBlock {
-
- private static final Block_TFFTMultiHatch INSTANCE = new Block_TFFTMultiHatch();
-
- private IIcon casing;
-
- private Block_TFFTMultiHatch() {
- super(Material.iron);
- }
-
- public static Block registerBlock() {
- final String blockName = "kekztech_tfftmultihatch_block";
- INSTANCE.setBlockName(blockName);
- INSTANCE.setCreativeTab(CreativeTabs.tabMisc);
- INSTANCE.setHardness(5.0f);
- INSTANCE.setResistance(6.0f);
- GameRegistry.registerBlock(INSTANCE, IB_TFFTMultiHatch.class, blockName);
-
- return INSTANCE;
- }
-
- @Override
- public void registerBlockIcons(IIconRegister ir) {
- casing = ir.registerIcon("kekztech:TFFTCasing");
- }
-
- @Override
- public IIcon getIcon(int side, int meta) {
- return casing;
- }
-
- @Override
- public TileEntity createTileEntity(World world, int meta) {
- return new TE_TFFTMultiHatch();
- }
-
- @Override
- public boolean hasTileEntity(int meta) {
- return true;
- }
-}
diff --git a/src/main/java/common/blocks/Block_TFFTStorageField.java b/src/main/java/common/blocks/Block_TFFTStorageField.java
new file mode 100644
index 0000000000..36439548af
--- /dev/null
+++ b/src/main/java/common/blocks/Block_TFFTStorageField.java
@@ -0,0 +1,88 @@
+package common.blocks;
+
+import common.itemBlocks.IB_TFFTStorageField;
+import common.tileentities.GTMTE_TFFT;
+import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.render.TextureFactory;
+import gregtech.api.util.GT_Utility;
+import java.util.List;
+import kekztech.KekzCore;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+
+public class Block_TFFTStorageField extends BaseGTUpdateableBlock {
+
+ private static final Block_TFFTStorageField INSTANCE = new Block_TFFTStorageField();
+ private static final int SUB_BLOCK_COUNT = GTMTE_TFFT.Field.VALUES.length + 1;
+ private static final IIcon[] textures = new IIcon[SUB_BLOCK_COUNT];
+
+ public enum TFFTCasingIcon implements IIconContainer {
+ INSTANCE;
+
+ @Override
+ public IIcon getIcon() {
+ return textures[0];
+ }
+
+ @Override
+ public IIcon getOverlayIcon() {
+ return null;
+ }
+
+ @Override
+ public ResourceLocation getTextureFile() {
+ return TextureMap.locationBlocksTexture;
+ }
+ }
+
+ // I guess glodblock won't mind
+ static {
+ GT_Utility.addTexturePage((byte) 12);
+ Textures.BlockIcons.setCasingTexture(
+ (byte) 12, (byte) 127, TextureFactory.of(Block_TFFTStorageField.TFFTCasingIcon.INSTANCE));
+ }
+
+ private Block_TFFTStorageField() {
+ super(Material.iron);
+ }
+
+ public static Block registerBlock() {
+ final String blockName = "kekztech_tfftstoragefield_block";
+ INSTANCE.setBlockName(blockName);
+ INSTANCE.setCreativeTab(CreativeTabs.tabMisc);
+ INSTANCE.setHardness(5.0f);
+ INSTANCE.setResistance(6.0f);
+ GameRegistry.registerBlock(INSTANCE, IB_TFFTStorageField.class, blockName);
+
+ return INSTANCE;
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister ir) {
+ textures[0] = ir.registerIcon(KekzCore.MODID + ":" + "TFFTCasing");
+ for (int i = 1; i < SUB_BLOCK_COUNT; i++) {
+ textures[i] = ir.registerIcon(KekzCore.MODID + ":" + "TFFTStorageFieldBlock" + i);
+ }
+ }
+
+ @Override
+ public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) {
+ for (int i = 0; i < SUB_BLOCK_COUNT; i++) {
+ par3List.add(new ItemStack(par1, 1, i));
+ }
+ }
+
+ @Override
+ public IIcon getIcon(int side, int meta) {
+ return textures[meta];
+ }
+}
diff --git a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT1.java b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT1.java
deleted file mode 100644
index e6e3649f3a..0000000000
--- a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT1.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package common.blocks;
-
-import common.itemBlocks.IB_TFFTStorageFieldBlockT1;
-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_TFFTStorageFieldBlockT1 extends BaseGTUpdateableBlock {
-
- private static Block_TFFTStorageFieldBlockT1 instance;
-
- private Block_TFFTStorageFieldBlockT1() {
- super(Material.iron);
- }
-
- public static int getCapacity() {
- return 500000;
- }
-
- public static Block registerBlock() {
- if (instance == null) {
- instance = new Block_TFFTStorageFieldBlockT1();
- }
-
- final String blockName = "kekztech_tfftstoragefieldblock1_block";
- instance.setBlockName(blockName);
- instance.setCreativeTab(CreativeTabs.tabMisc);
- instance.setBlockTextureName(KekzCore.MODID + ":" + "TFFTStorageFieldBlock1");
- instance.setHardness(5.0f);
- instance.setResistance(6.0f);
- GameRegistry.registerBlock(instance, IB_TFFTStorageFieldBlockT1.class, blockName);
-
- return instance;
- }
-}
diff --git a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT2.java b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT2.java
deleted file mode 100644
index 2b3477f750..0000000000
--- a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT2.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package common.blocks;
-
-import common.itemBlocks.IB_TFFTStorageFieldBlockT2;
-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_TFFTStorageFieldBlockT2 extends BaseGTUpdateableBlock {
-
- private static Block_TFFTStorageFieldBlockT2 instance;
-
- private Block_TFFTStorageFieldBlockT2() {
- super(Material.iron);
- }
-
- public static int getCapacity() {
- return 4000000;
- }
-
- public static Block registerBlock() {
- if (instance == null) {
- instance = new Block_TFFTStorageFieldBlockT2();
- }
-
- final String blockName = "kekztech_tfftstoragefieldblock2_block";
- instance.setBlockName(blockName);
- instance.setCreativeTab(CreativeTabs.tabMisc);
- instance.setBlockTextureName(KekzCore.MODID + ":" + "TFFTStorageFieldBlock2");
- instance.setHardness(5.0f);
- instance.setResistance(6.0f);
- GameRegistry.registerBlock(instance, IB_TFFTStorageFieldBlockT2.class, blockName);
-
- return instance;
- }
-}
diff --git a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT3.java b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT3.java
deleted file mode 100644
index 313b87d10f..0000000000
--- a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT3.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package common.blocks;
-
-import common.itemBlocks.IB_TFFTStorageFieldBlockT3;
-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_TFFTStorageFieldBlockT3 extends BaseGTUpdateableBlock {
-
- private static Block_TFFTStorageFieldBlockT3 instance;
-
- private Block_TFFTStorageFieldBlockT3() {
- super(Material.iron);
- }
-
- public static int getCapacity() {
- return 16000000;
- }
-
- public static Block registerBlock() {
- if (instance == null) {
- instance = new Block_TFFTStorageFieldBlockT3();
- }
-
- final String blockName = "kekztech_tfftstoragefieldblock3_block";
- instance.setBlockName(blockName);
- instance.setCreativeTab(CreativeTabs.tabMisc);
- instance.setBlockTextureName(KekzCore.MODID + ":" + "TFFTStorageFieldBlock3");
- instance.setHardness(5.0f);
- instance.setResistance(6.0f);
- GameRegistry.registerBlock(instance, IB_TFFTStorageFieldBlockT3.class, blockName);
-
- return instance;
- }
-}
diff --git a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT4.java b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT4.java
deleted file mode 100644
index bdd0af8d2b..0000000000
--- a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT4.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package common.blocks;
-
-import common.itemBlocks.IB_TFFTStorageFieldBlockT4;
-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_TFFTStorageFieldBlockT4 extends BaseGTUpdateableBlock {
-
- private static Block_TFFTStorageFieldBlockT4 instance;
-
- private Block_TFFTStorageFieldBlockT4() {
- super(Material.iron);
- }
-
- public static int getCapacity() {
- return 64000000;
- }
-
- public static Block registerBlock() {