aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tectech/thing/casing
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-02 23:17:17 +0200
committerGitHub <noreply@github.com>2024-09-02 23:17:17 +0200
commit1b820de08a05070909a267e17f033fcf58ac8710 (patch)
tree02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/tectech/thing/casing
parentafd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff)
downloadGT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip
The Great Renaming (#3014)
* move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names
Diffstat (limited to 'src/main/java/tectech/thing/casing')
-rw-r--r--src/main/java/tectech/thing/casing/BlockGTCasingsBA0.java224
-rw-r--r--src/main/java/tectech/thing/casing/BlockGTCasingsNH.java59
-rw-r--r--src/main/java/tectech/thing/casing/BlockGTCasingsTT.java193
-rw-r--r--src/main/java/tectech/thing/casing/BlockGodforgeCasings.java130
-rw-r--r--src/main/java/tectech/thing/casing/ItemCasingsBA0.java110
-rw-r--r--src/main/java/tectech/thing/casing/ItemCasingsGodforge.java124
-rw-r--r--src/main/java/tectech/thing/casing/ItemCasingsNH.java15
-rw-r--r--src/main/java/tectech/thing/casing/ItemCasingsSpacetime.java56
-rw-r--r--src/main/java/tectech/thing/casing/ItemCasingsStabilisation.java47
-rw-r--r--src/main/java/tectech/thing/casing/ItemCasingsTT.java132
-rw-r--r--src/main/java/tectech/thing/casing/ItemCasingsTimeAcceleration.java46
-rw-r--r--src/main/java/tectech/thing/casing/SpacetimeCompressionFieldCasing.java116
-rw-r--r--src/main/java/tectech/thing/casing/StabilisationFieldCasing.java116
-rw-r--r--src/main/java/tectech/thing/casing/TTCasingsContainer.java28
-rw-r--r--src/main/java/tectech/thing/casing/TimeAccelerationFieldCasing.java116
15 files changed, 1512 insertions, 0 deletions
diff --git a/src/main/java/tectech/thing/casing/BlockGTCasingsBA0.java b/src/main/java/tectech/thing/casing/BlockGTCasingsBA0.java
new file mode 100644
index 0000000000..19469a0c70
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/BlockGTCasingsBA0.java
@@ -0,0 +1,224 @@
+package tectech.thing.casing;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Textures;
+import gregtech.api.objects.GTCopiedBlockTexture;
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.BlockCasingsAbstract;
+import gregtech.common.blocks.MaterialCasings;
+import tectech.thing.CustomItemList;
+
+/**
+ * Created by danie_000 on 03.10.2016.
+ */
+// Mostly tesla coils, also 2 eye of harmony casings.
+public class BlockGTCasingsBA0 extends BlockCasingsAbstract {
+
+ private static final IIcon[] tM0 = new IIcon[2];
+ private static final IIcon[] tM1 = new IIcon[2];
+ private static final IIcon[] tM2 = new IIcon[2];
+ private static final IIcon[] tM3 = new IIcon[2];
+ private static final IIcon[] tM4 = new IIcon[2];
+ private static final IIcon[] tM5 = new IIcon[2];
+ private static final IIcon[] tM6 = new IIcon[2];
+ private static IIcon tM7;
+ private static final IIcon[] tM8 = new IIcon[2];
+ private static final IIcon[] tM9 = new IIcon[2];
+
+ private static IIcon EOH_INNER;
+ private static IIcon EOH_OUTER;
+ private static IIcon EOH_INFINITE;
+
+ private static final byte START_INDEX = 16;
+
+ public BlockGTCasingsBA0() {
+ super(ItemCasingsBA0.class, "gt.blockcasingsBA0", MaterialCasings.INSTANCE);
+ for (byte b = 0; b < 16; b = (byte) (b + 1)) {
+ Textures.BlockIcons.casingTexturePages[BlockGTCasingsTT.texturePage][b
+ + START_INDEX] = new GTCopiedBlockTexture(this, 6, b);
+ /* IMPORTANT for block recoloring **/
+ }
+
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".0.name", "Redstone Alloy Primary Tesla Windings");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".1.name", "MV Superconductor Primary Tesla Windings");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".2.name", "HV Superconductor Primary Tesla Windings");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".3.name", "EV Superconductor Primary Tesla Windings");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".4.name", "IV Superconductor Primary Tesla Windings");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".5.name", "LuV Superconductor Primary Tesla Windings");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".9.name", "ZPM Superconductor Primary Tesla Windings");
+
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Tesla Base Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Tesla Toroid Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Tesla Secondary Windings");
+
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".10.name", "Reinforced Temporal Structure Casing");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".11.name", "Reinforced Spatial Structure Casing");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".12.name", "Infinite Spacetime Energy Boundary Casing");
+
+ CustomItemList.tM_TeslaPrimary_0.set(new ItemStack(this, 1, 0));
+ CustomItemList.tM_TeslaPrimary_1.set(new ItemStack(this, 1, 1));
+ CustomItemList.tM_TeslaPrimary_2.set(new ItemStack(this, 1, 2));
+ CustomItemList.tM_TeslaPrimary_3.set(new ItemStack(this, 1, 3));
+ CustomItemList.tM_TeslaPrimary_4.set(new ItemStack(this, 1, 4));
+ CustomItemList.tM_TeslaPrimary_5.set(new ItemStack(this, 1, 5));
+ CustomItemList.tM_TeslaPrimary_6.set(new ItemStack(this, 1, 9));
+
+ CustomItemList.tM_TeslaBase.set(new ItemStack(this, 1, 6));
+ CustomItemList.tM_TeslaToroid.set(new ItemStack(this, 1, 7));
+ CustomItemList.tM_TeslaSecondary.set(new ItemStack(this, 1, 8));
+
+ CustomItemList.EOH_Reinforced_Temporal_Casing.set(new ItemStack(this, 1, 10));
+ CustomItemList.EOH_Reinforced_Spatial_Casing.set(new ItemStack(this, 1, 11));
+ CustomItemList.EOH_Infinite_Energy_Casing.set(new ItemStack(this, 1, 12));
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister aIconRegister) {
+ tM0[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_0");
+ tM0[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_0");
+ tM1[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_1");
+ tM1[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_1");
+ tM2[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_2");
+ tM2[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_2");
+ tM3[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_3");
+ tM3[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_3");
+ tM4[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_4");
+ tM4[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_4");
+ tM5[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_5");
+ tM5[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_5");
+ tM9[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_6");
+ tM9[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_6");
+
+ tM6[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_BASE_TOP_BOTTOM");
+ tM6[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_BASE_SIDES");
+ tM7 = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_TOROID");
+ tM8[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_SECONDARY_TOP_BOTTOM");
+ tM8[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_SECONDARY_SIDES");
+
+ EOH_INNER = aIconRegister.registerIcon("gregtech:iconsets/EM_INNER_SPACETIME_REINFORCED_EOH_CASING");
+ EOH_OUTER = aIconRegister.registerIcon("gregtech:iconsets/EM_OUTER_SPACETIME_REINFORCED_EOH_CASING");
+ EOH_INFINITE = aIconRegister.registerIcon("gregtech:iconsets/EM_POWER_INFINITE");
+ }
+
+ @Override
+ public IIcon getIcon(int ordinalSide, int aMeta) {
+ switch (aMeta) {
+ case 0:
+ switch (ordinalSide) {
+ case 0:
+ case 1:
+ return tM0[0];
+ default:
+ return tM0[1];
+ }
+ case 1:
+ switch (ordinalSide) {
+ case 0:
+ case 1:
+ return tM1[0];
+ default:
+ return tM1[1];
+ }
+ case 2:
+ switch (ordinalSide) {
+ case 0:
+ case 1:
+ return tM2[0];
+ default:
+ return tM2[1];
+ }
+ case 3:
+ switch (ordinalSide) {
+ case 0:
+ case 1:
+ return tM3[0];
+ default:
+ return tM3[1];
+ }
+ case 4:
+ switch (ordinalSide) {
+ case 0:
+ case 1:
+ return tM4[0];
+ default:
+ return tM4[1];
+ }
+ case 5:
+ switch (ordinalSide) {
+ case 0:
+ case 1:
+ return tM5[0];
+ default:
+ return tM5[1];
+ }
+ case 6:
+ switch (ordinalSide) {
+ case 0:
+ case 1:
+ return tM6[0];
+ default:
+ return tM6[1];
+ }
+ case 7:
+ return tM7;
+ case 8:
+ switch (ordinalSide) {
+ case 0:
+ case 1:
+ return tM8[0];
+ default:
+ return tM8[1];
+ }
+ case 9:
+ switch (ordinalSide) {
+ case 0:
+ case 1:
+ return tM9[0];
+ default:
+ return tM9[1];
+ }
+ case 10:
+ return EOH_INNER;
+ case 11:
+ return EOH_OUTER;
+ case 12:
+ return EOH_INFINITE;
+ default:
+ return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int ordinalSide) {
+ int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
+ return getIcon(ordinalSide, tMeta);
+ }
+
+ @Override
+ public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List<ItemStack> aList) {
+ for (int i = 0; i <= 12; i++) {
+ aList.add(new ItemStack(aItem, 1, i));
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/BlockGTCasingsNH.java b/src/main/java/tectech/thing/casing/BlockGTCasingsNH.java
new file mode 100644
index 0000000000..26c7097391
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/BlockGTCasingsNH.java
@@ -0,0 +1,59 @@
+package tectech.thing.casing;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+import gregtech.api.enums.Textures;
+import gregtech.api.objects.GTCopiedBlockTexture;
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.BlockCasingsAbstract;
+import gregtech.common.blocks.MaterialCasings;
+import tectech.TecTech;
+import tectech.thing.CustomItemList;
+
+/**
+ * Created by danie_000 on 03.10.2016.
+ */
+public class BlockGTCasingsNH extends BlockCasingsAbstract {
+
+ public static boolean mConnectedMachineTextures = true;
+
+ public BlockGTCasingsNH() {
+ super(ItemCasingsNH.class, "gt.blockcasingsNH", MaterialCasings.INSTANCE);
+ setCreativeTab(TecTech.creativeTabTecTech);
+
+ for (byte b = 0; b < 16; b = (byte) (b + 1)) {
+ Textures.BlockIcons.casingTexturePages[8][b + 64] = new GTCopiedBlockTexture(this, 6, b);
+ /* IMPORTANT for block recoloring */
+ }
+
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "UEV Machine Casing"); // adding
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "UIV Machine Casing"); // adding
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "UMV Machine Casing"); // adding
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".13.name", "UXV Machine Casing"); // adding
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".14.name", "MAX Machine Casing"); // adding
+
+ CustomItemList.Casing_UEV.set(new ItemStack(this, 1, 10));
+ CustomItemList.Casing_UIV.set(new ItemStack(this, 1, 11));
+ CustomItemList.Casing_UMV.set(new ItemStack(this, 1, 12));
+ CustomItemList.Casing_UXV.set(new ItemStack(this, 1, 13));
+ CustomItemList.Casing_MAXV.set(new ItemStack(this, 1, 14));
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister aIconRegister) {
+ // super.registerBlockIcons(aIconRegister);
+ }
+
+ @Override
+ public IIcon getIcon(int ordinalSide, int aMeta) {
+ if (ordinalSide == 0) {
+ return tectech.thing.metaTileEntity.Textures.MACHINECASINGS_BOTTOM_TT[aMeta].getIcon();
+ }
+ if (ordinalSide == 1) {
+ return tectech.thing.metaTileEntity.Textures.MACHINECASINGS_TOP_TT[aMeta].getIcon();
+ }
+ return tectech.thing.metaTileEntity.Textures.MACHINECASINGS_SIDE_TT[aMeta].getIcon();
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/BlockGTCasingsTT.java b/src/main/java/tectech/thing/casing/BlockGTCasingsTT.java
new file mode 100644
index 0000000000..33ec58d7da
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/BlockGTCasingsTT.java
@@ -0,0 +1,193 @@
+package tectech.thing.casing;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Textures;
+import gregtech.api.objects.GTCopiedBlockTexture;
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.BlockCasingsAbstract;
+import gregtech.common.blocks.MaterialCasings;
+import tectech.TecTech;
+import tectech.thing.CustomItemList;
+
+/**
+ * Created by danie_000 on 03.10.2016.
+ */
+public class BlockGTCasingsTT extends BlockCasingsAbstract {
+
+ public static final byte texturePage = TecTech.tectechTexturePage1;
+ public static final short textureOffset = texturePage << 7; // Start of PAGE 8 (which is the 9th page) (8*128)
+ private static IIcon eM0, eM1, eM1s, eM2, eM2s, eM3, eM3s, eM4, eM5, eM6, eM7, eM7s, eM8, eM9, eM10, eM11, eM12,
+ eM13, eM14;
+ private static final IIcon[] debug = new IIcon[6];
+
+ public BlockGTCasingsTT() {
+ super(ItemCasingsTT.class, "gt.blockcasingsTT", MaterialCasings.INSTANCE);
+ setCreativeTab(TecTech.creativeTabTecTech);
+
+ for (byte b = 0; b < 16; b = (byte) (b + 1)) {
+ Textures.BlockIcons.casingTexturePages[texturePage][b] = new GTCopiedBlockTexture(this, 6, b);
+ /* IMPORTANT for block recoloring **/
+ }
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "High Power Casing");
+
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Computer Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Computer Heat Vent");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "Advanced Computer Casing");
+
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Molecular Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Advanced Molecular Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Containment Field Generator");
+
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Molecular Coil");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".8.name", "Hollow Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".9.name", "Spacetime Altering Casing");
+
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".10.name", "Teleportation Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".11.name", "Dimensional Bridge Generator");
+
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".12.name", "Ultimate Molecular Casing");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".13.name", "Ultimate Advanced Molecular Casing");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".14.name", "Ultimate Containment Field Generator");
+
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".15.name", "Debug Sides"); // NOT REGISTER AS
+ // TEXTURE FOR
+ // HATCHES!
+
+ CustomItemList.eM_Power.set(new ItemStack(this, 1, 0));
+
+ CustomItemList.eM_Computer_Casing.set(new ItemStack(this, 1, 1));
+ CustomItemList.eM_Computer_Vent.set(new ItemStack(this, 1, 2));
+ CustomItemList.eM_Computer_Bus.set(new ItemStack(this, 1, 3));
+
+ CustomItemList.eM_Containment.set(new ItemStack(this, 1, 4));
+ CustomItemList.eM_Containment_Advanced.set(new ItemStack(this, 1, 5));
+ CustomItemList.eM_Containment_Field.set(new ItemStack(this, 1, 6));
+
+ CustomItemList.eM_Coil.set(new ItemStack(this, 1, 7));
+ CustomItemList.eM_Hollow.set(new ItemStack(this, 1, 8));
+ CustomItemList.eM_Spacetime.set(new ItemStack(this, 1, 9));
+
+ CustomItemList.eM_Teleportation.set(new ItemStack(this, 1, 10));
+ CustomItemList.eM_Dimensional.set(new ItemStack(this, 1, 11));
+
+ CustomItemList.eM_Ultimate_Containment.set(new ItemStack(this, 1, 12));
+ CustomItemList.eM_Ultimate_Containment_Advanced.set(new ItemStack(this, 1, 13));
+ CustomItemList.eM_Ultimate_Containment_Field.set(new ItemStack(this, 1, 14));
+
+ CustomItemList.debugBlock.set(new ItemStack(this, 1, 15));
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister aIconRegister) {
+ // super.registerBlockIcons(aIconRegister);
+ eM0 = aIconRegister.registerIcon("gregtech:iconsets/EM_POWER");
+
+ eM1 = aIconRegister.registerIcon("gregtech:iconsets/EM_PC_NONSIDE");
+ eM1s = aIconRegister.registerIcon("gregtech:iconsets/EM_PC");
+ eM2 = aIconRegister.registerIcon("gregtech:iconsets/EM_PC_VENT_NONSIDE");
+ eM2s = aIconRegister.registerIcon("gregtech:iconsets/EM_PC_VENT");
+ eM3 = aIconRegister.registerIcon("gregtech:iconsets/EM_PC_ADV_NONSIDE");
+ eM3s = aIconRegister.registerIcon("gregtech:iconsets/EM_PC_ADV");
+
+ eM4 = aIconRegister.registerIcon("gregtech:iconsets/EM_CASING");
+ eM5 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_CASING");
+ eM6 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD");
+
+ eM7 = aIconRegister.registerIcon("gregtech:iconsets/EM_COIL_NONSIDE");
+ eM7s = aIconRegister.registerIcon("gregtech:iconsets/EM_COIL");
+ eM8 = aIconRegister.registerIcon("gregtech:iconsets/EM_HOLLOW");
+ eM9 = aIconRegister.registerIcon("gregtech:iconsets/EM_TIMESPACE");
+
+ eM10 = aIconRegister.registerIcon("gregtech:iconsets/EM_TELE");
+ eM11 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM");
+
+ eM12 = aIconRegister.registerIcon("gregtech:iconsets/EM_ULTIMATE_CASING");
+ eM13 = aIconRegister.registerIcon("gregtech:iconsets/EM_ULTIMATE_FIELD_CASING");
+ eM14 = aIconRegister.registerIcon("gregtech:iconsets/EM_ULTIMATE_FIELD");
+
+ debug[0] = aIconRegister.registerIcon("gregtech:iconsets/DEBUG_0");
+ debug[1] = aIconRegister.registerIcon("gregtech:iconsets/DEBUG_1");
+ debug[2] = aIconRegister.registerIcon("gregtech:iconsets/DEBUG_2");
+ debug[3] = aIconRegister.registerIcon("gregtech:iconsets/DEBUG_3");
+ debug[4] = aIconRegister.registerIcon("gregtech:iconsets/DEBUG_4");
+ debug[5] = aIconRegister.registerIcon("gregtech:iconsets/DEBUG_5");
+ }
+
+ @Override
+ public IIcon getIcon(int ordinalSide, int aMeta) {
+ switch (aMeta) {
+ case 0:
+ return eM0;
+ case 1:
+ if (ordinalSide < 2) {
+ return eM1;
+ }
+ return eM1s;
+ case 2:
+ if (ordinalSide < 2) {
+ return eM2;
+ }
+ return eM2s;
+ case 3:
+ if (ordinalSide < 2) {
+ return eM3;
+ }
+ return eM3s;
+ case 4:
+ return eM4;
+ case 5:
+ return eM5;
+ case 6:
+ return eM6;
+ case 7:
+ if (ordinalSide < 2) {
+ return eM7;
+ }
+ return eM7s;
+ case 8:
+ return eM8;
+ case 9:
+ return eM9;
+ case 10:
+ return eM10;
+ case 11:
+ return eM11;
+ case 12:
+ return eM12;
+ case 13:
+ return eM13;
+ case 14:
+ return eM14;
+ case 15:
+ return debug[ordinalSide];
+ default:
+ return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int ordinalSide) {
+ int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
+ return getIcon(ordinalSide, tMeta);
+ }
+
+ @Override
+ public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List<ItemStack> aList) {
+ for (int i = 0; i <= 15; i++) {
+ aList.add(new ItemStack(aItem, 1, i));
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/BlockGodforgeCasings.java b/src/main/java/tectech/thing/casing/BlockGodforgeCasings.java
new file mode 100644
index 0000000000..e744cdf9b7
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/BlockGodforgeCasings.java
@@ -0,0 +1,130 @@
+package tectech.thing.casing;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Textures;
+import gregtech.api.objects.GTCopiedBlockTexture;
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.BlockCasingsAbstract;
+import gregtech.common.blocks.MaterialCasings;
+import tectech.thing.CustomItemList;
+
+public class BlockGodforgeCasings extends BlockCasingsAbstract {
+
+ private static IIcon GodforgeTrim;
+ private static IIcon GodforgeInner;
+ private static IIcon GodforgeSupport;
+ private static IIcon GodforgeOuter;
+ private static IIcon GodforgeEnergy;
+ private static IIcon GravitonModulatorT1;
+ private static IIcon GravitonModulatorT2;
+ private static IIcon GravitonModulatorT3;
+ private static IIcon PhononConduit;
+
+ private static final byte START_INDEX = 64;
+
+ public BlockGodforgeCasings() {
+ super(ItemCasingsGodforge.class, "gt.godforgecasing", MaterialCasings.INSTANCE);
+ for (byte b = 0; b < 16; b = (byte) (b + 1)) {
+ Textures.BlockIcons.casingTexturePages[7][b + START_INDEX] = new GTCopiedBlockTexture(this, 6, b);
+ }
+
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".0.name", "Singularity Reinforced Stellar Shielding Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Celestial Matter Guidance Casing");
+ GTLanguageManager.addStringLocalization(
+ getUnlocalizedName() + ".2.name",
+ "Boundless Gravitationally Severed Structure Casing");
+ GTLanguageManager.addStringLocalization(
+ getUnlocalizedName() + ".3.name",
+ "Transcendentally Amplified Magnetic Confinement Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "Stellar Energy Siphon Casing");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "Remote Graviton Flow Modulator");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "Medial Graviton Flow Modulator");
+ GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".7.name", "Central Graviton Flow Modulator");
+ GTLanguageManager
+ .addStringLocalization(getUnlocalizedName() + ".8.name", "Harmonic Phonon Transmission Conduit");
+
+ CustomItemList.Godforge_SingularityShieldingCasing.set(new ItemStack(this, 1, 0));
+ CustomItemList.Godforge_GuidanceCasing.set(new ItemStack(this, 1, 1));
+ CustomItemList.Godforge_BoundlessStructureCasing.set(new ItemStack(this, 1, 2));
+ CustomItemList.Godforge_MagneticConfinementCasing.set(new ItemStack(this, 1, 3));
+ CustomItemList.Godforge_StellarEnergySiphonCasing.set(new ItemStack(this, 1, 4));
+ CustomItemList.Godforge_GravitonFlowModulatorTier1.set(new ItemStack(this, 1, 5));
+ CustomItemList.Godforge_GravitonFlowModulatorTier2.set(new ItemStack(this, 1, 6));
+ CustomItemList.Godforge_GravitonFlowModulatorTier3.set(new ItemStack(this, 1, 7));
+ CustomItemList.Godforge_HarmonicPhononTransmissionConduit.set(new ItemStack(this, 1, 8));
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister aIconRegister) {
+ GodforgeTrim = aIconRegister.registerIcon("gregtech:iconsets/GODFORGE_TRIM");
+ GodforgeInner = aIconRegister.registerIcon("gregtech:iconsets/GODFORGE_INNER");
+ GodforgeSupport = aIconRegister.registerIcon("gregtech:iconsets/GODFORGE_SUPPORT");
+ GodforgeOuter = aIconRegister.registerIcon("gregtech:iconsets/GRAVITON_TOP_BOTTOM");
+ GodforgeEnergy = aIconRegister.registerIcon("gregtech:iconsets/GODFORGE_ENERGY");
+ GravitonModulatorT1 = aIconRegister.registerIcon("gregtech:iconsets/GRAVITON_CASING_2");
+ GravitonModulatorT2 = aIconRegister.registerIcon("gregtech:iconsets/GRAVITON_CASING_1");
+ GravitonModulatorT3 = aIconRegister.registerIcon("gregtech:iconsets/GRAVITON_CASING_0");
+ PhononConduit = aIconRegister.registerIcon("gregtech:iconsets/PHONON_CONDUIT");
+ }
+
+ @Override
+ public IIcon getIcon(int aSide, int aMeta) {
+ switch (aMeta) {
+ case 0:
+ return GodforgeTrim;
+ case 1:
+ return GodforgeInner;
+ case 2:
+ return GodforgeSupport;
+ case 3:
+ return GodforgeOuter;
+ case 4:
+ return GodforgeEnergy;
+ case 5:
+ if (aSide < 2) {
+ return GodforgeOuter;
+ }
+ return GravitonModulatorT1;
+ case 6:
+ if (aSide < 2) {
+ return GodforgeOuter;
+ }
+ return GravitonModulatorT2;
+ case 7:
+ if (aSide < 2) {
+ return GodforgeOuter;
+ }
+ return GravitonModulatorT3;
+ case 8:
+ return PhononConduit;
+ default:
+ return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int aSide) {
+ int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
+ return getIcon(aSide, tMeta);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) {
+ for (int i = 0; i <= 8; i++) {
+ aList.add(new ItemStack(aItem, 1, i));
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/ItemCasingsBA0.java b/src/main/java/tectech/thing/casing/ItemCasingsBA0.java
new file mode 100644
index 0000000000..8d3896d600
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/ItemCasingsBA0.java
@@ -0,0 +1,110 @@
+package tectech.thing.casing;
+
+import static gregtech.api.enums.GTValues.V;
+import static gregtech.api.util.GTUtility.formatNumbers;
+import static net.minecraft.util.EnumChatFormatting.AQUA;
+import static net.minecraft.util.EnumChatFormatting.GRAY;
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import gregtech.api.enums.TierEU;
+import gregtech.common.blocks.ItemCasingsAbstract;
+import tectech.util.CommonValues;
+
+public class ItemCasingsBA0 extends ItemCasingsAbstract {
+
+ public ItemCasingsBA0(Block par1) {
+ super(par1);
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List<String> aList, boolean aF3_H) {
+ if (aStack.getItemDamage() < 15) {
+ aList.add(CommonValues.THETA_MOVEMENT);
+ } else {
+ aList.add(CommonValues.COSMIC_MARK);
+ }
+ switch (aStack.getItemDamage()) {
+ case 0: // "Redstone Alloy Primary Tesla Windings"
+ case 1: // "MV Superconductor Primary Tesla Windings"
+ case 2: // "HV Superconductor Primary Tesla Windings"
+ case 3: // "EV Superconductor Primary Tesla Windings"
+ case 4: // "IV Superconductor Primary Tesla Windings"
+ case 5: // "LuV Superconductor Primary Tesla Windings"
+ aList.add(
+ translateToLocal("gt.blockcasingsBA0.0.desc.0") + " "
+ + formatNumbers(V[aStack.getItemDamage() + 1])
+ + " EU/t"); // Handles up to
+ aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What
+ // one
+ // man
+ // calls
+ // God,
+ // another
+ // calls
+ // the
+ // laws of physics.
+ break;
+ case 6: // "Tesla Base Casing"
+ aList.add(translateToLocal("gt.blockcasingsBA0.6.desc.0")); // The base of a wondrous contraption
+ aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.6.desc.1")); // it's
+ // alive,
+ // IT'S
+ // ALIVE!
+ break;
+ case 7: // "Tesla Toroid Casing"
+ aList.add(translateToLocal("gt.blockcasingsBA0.7.desc.0")); // Made out of the finest tin foil!
+ aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.7.desc.1")); // Faraday
+ // suits
+ // might
+ // come
+ // later
+ break;
+ case 8: // "Tesla Secondary Windings"
+ aList.add(translateToLocal("gt.blockcasingsBA0.8.desc.0")); // Picks up power from a primary coil
+ aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.8.desc.1")); // Who
+ // wouldn't
+ // want
+ // a
+ // 32k
+ // epoxy
+ // multi?
+ break;
+ case 9: // "ZPM Superconductor Primary Tesla Windings"
+ aList.add(translateToLocal("gt.blockcasingsBA0.0.desc.0") + " " + formatNumbers(TierEU.ZPM) + " EU/t"); // Handles
+ // up
+ // to
+ aList.add(AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("gt.blockcasingsBA0.0.desc.1")); // What
+ // one
+ // man
+ // calls
+ // God,
+ // another
+ case 10: // Reinforced Temporal Structure Casing
+ aList.add(AQUA + translateToLocal("gt.blockcasingsBA0.10.desc.0"));
+ aList.add(GRAY + translateToLocal("gt.blockcasingsBA0.10.desc.1"));
+ // Designed to resist spatial shearing from internal volume expansion.
+ // Can survive at least one big bang, maybe two...
+ break;
+ case 11: // Reinforced Temporal Structure Casing
+ aList.add(AQUA + translateToLocal("gt.blockcasingsBA0.11.desc.0"));
+ aList.add(GRAY + translateToLocal("gt.blockcasingsBA0.11.desc.1"));
+ // Resistant to temporal shearing from time dilation differences.
+ // This block can last an eternity without any decay.
+ break;
+ case 12: // Infinite Spacetime Energy Boundary Casing
+ aList.add(AQUA + translateToLocal("gt.blockcasingsBA0.12.desc.0"));
+ // Provides a stable bridge between spacetime regions.
+ break;
+ default:
+ aList.add("Damn son where did you get that!?");
+ aList.add(EnumChatFormatting.BLUE + "From outer space... I guess...");
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/ItemCasingsGodforge.java b/src/main/java/tectech/thing/casing/ItemCasingsGodforge.java
new file mode 100644
index 0000000000..52b741ca76
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/ItemCasingsGodforge.java
@@ -0,0 +1,124 @@
+package tectech.thing.casing;
+
+import static net.minecraft.util.EnumChatFormatting.AQUA;
+import static net.minecraft.util.EnumChatFormatting.BOLD;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.ItemCasingsAbstract;
+import tectech.util.CommonValues;
+
+public class ItemCasingsGodforge extends ItemCasingsAbstract {
+
+ public ItemCasingsGodforge(Block par1) {
+ super(par1);
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) {
+ aList.add(CommonValues.GODFORGE_MARK);
+ switch (aStack.getItemDamage()) {
+ case 0:
+ aList.add(
+ GTLanguageManager.addStringLocalization(
+ "godforge.casings.0.Tooltip.0",
+ "Shielded by the event horizon of a singularity"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager
+ .addStringLocalization("godforge.casings.0.Tooltip.1", "Don't get too close..."));
+ break;
+ case 1:
+ aList.add(
+ GTLanguageManager.addStringLocalization(
+ "godforge.casings.1.Tooltip.0",
+ "Designed to route stellar matter using spacetime distortion"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager
+ .addStringLocalization("godforge.casings.1.Tooltip.1", "Reality Distortion"));
+ break;
+ case 2:
+ aList.add(
+ GTLanguageManager
+ .addStringLocalization("godforge.casings.2.Tooltip.0", "Unaffected by gravitational forces"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager.addStringLocalization(
+ "godforge.casings.2.Tooltip.1",
+ "Not even a black hole could tear it apart."));
+ break;
+ case 3:
+ aList.add(
+ GTLanguageManager.addStringLocalization(
+ "godforge.casings.3.Tooltip.0",
+ "Creates enormous magnetic fields capable of constraining entire stars"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager
+ .addStringLocalization("godforge.casings.3.Tooltip.1", "It's super effective!"));
+ break;
+ case 4:
+ aList.add(
+ GTLanguageManager.addStringLocalization(
+ "godforge.casings.4.Tooltip.0",
+ "Taps into streams of stellar matter to harness their heat energy"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager.addStringLocalization("godforge.casings.4.Tooltip.1", "Turn up the heat!"));
+ break;
+ case 5:
+ aList.add(
+ GTLanguageManager.addStringLocalization(
+ "godforge.casings.5.Tooltip.0",
+ "Controls the flow of gravitons to manipulate gravity"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager.addStringLocalization(
+ "godforge.casings.5.Tooltip.1",
+ "Exponential scaling past 800 Galaxies"));
+ break;
+ case 6:
+ aList.add(
+ GTLanguageManager.addStringLocalization(
+ "godforge.casings.6.Tooltip.0",
+ "Controls the flow of gravitons to manipulate gravity"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager.addStringLocalization("godforge.casings.6.Tooltip.1", "Getting closer..."));
+ break;
+ case 7:
+ aList.add(
+ GTLanguageManager.addStringLocalization(
+ "godforge.casings.7.Tooltip.0",
+ "Controls the flow of gravitons to manipulate gravity"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager.addStringLocalization("godforge.casings.7.Tooltip.1", "Gravity Central"));
+ break;
+ case 8:
+ aList.add(
+ GTLanguageManager.addStringLocalization(
+ "godforge.casings.8.Tooltip.0",
+ "Transfers and stores extreme amounts of heat without any loss"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager.addStringLocalization("godforge.casings.8.Tooltip.1", "<<<Thermal<<<"));
+ aList.add(
+ AQUA.toString() + BOLD
+ + GTLanguageManager.addStringLocalization("godforge.casings.8.Tooltip.2", ">>>Wave>>>"));
+ break;
+ default:
+ aList.add(
+ EnumChatFormatting.RED.toString() + BOLD
+ + GTLanguageManager
+ .addStringLocalization("godforge.casings.Error.Tooltip", "Error, report to GTNH team"));
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/ItemCasingsNH.java b/src/main/java/tectech/thing/casing/ItemCasingsNH.java
new file mode 100644
index 0000000000..c1f57e018f
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/ItemCasingsNH.java
@@ -0,0 +1,15 @@
+package tectech.thing.casing;
+
+import net.minecraft.block.Block;
+
+import gregtech.common.blocks.ItemCasingsAbstract;
+
+/**
+ * Created by danie_000 on 03.10.2016.
+ */
+public class ItemCasingsNH extends ItemCasingsAbstract {
+
+ public ItemCasingsNH(Block par1) {
+ super(par1);
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/ItemCasingsSpacetime.java b/src/main/java/tectech/thing/casing/ItemCasingsSpacetime.java
new file mode 100644
index 0000000000..f6cf548d84
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/ItemCasingsSpacetime.java
@@ -0,0 +1,56 @@
+package tectech.thing.casing;
+
+import static com.google.common.math.LongMath.pow;
+import static gregtech.api.enums.GTValues.AuthorColen;
+import static gregtech.api.util.GTUtility.formatNumbers;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.ItemCasingsAbstract;
+
+public class ItemCasingsSpacetime extends ItemCasingsAbstract {
+
+ public ItemCasingsSpacetime(Block par1) {
+ super(par1);
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List<String> aList, boolean aF3_H) {
+ switch (aStack.getItemDamage()) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ aList.add(
+ GTLanguageManager.addStringLocalization(
+ "EOH.Spacetime.Standard.Tooltip.0",
+ "Supports an internal spacetime volume of up to ")
+ + formatNumbers(pow(10, 5 + aStack.getItemDamage()))
+ + "kmĀ³.");
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + GTLanguageManager.addStringLocalization(
+ "EOH.Spacetime.Standard.Tooltip.1",
+ "Capable of running recipes up to tier ")
+ + (aStack.getItemDamage() + 1));
+ break;
+ default:
+ aList.add(
+ EnumChatFormatting.RED.toString() + EnumChatFormatting.BOLD
+ + GTLanguageManager
+ .addStringLocalization("EOH.TimeDilation.Error.Tooltip", "Error, report to GTNH team"));
+ }
+ aList.add(AuthorColen);
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/ItemCasingsStabilisation.java b/src/main/java/tectech/thing/casing/ItemCasingsStabilisation.java
new file mode 100644
index 0000000000..9d802c4a93
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/ItemCasingsStabilisation.java
@@ -0,0 +1,47 @@
+package tectech.thing.casing;
+
+import static gregtech.api.enums.GTValues.AuthorColen;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.ItemCasingsAbstract;
+
+public class ItemCasingsStabilisation extends ItemCasingsAbstract {
+
+ public ItemCasingsStabilisation(Block par1) {
+ super(par1);
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List<String> aList, boolean aF3_H) {
+ switch (aStack.getItemDamage()) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + GTLanguageManager.addStringLocalization(
+ "EOH.Stability.Tooltip.0",
+ "Increases stability of spacetime field."));
+ break;
+ default:
+ aList.add(
+ EnumChatFormatting.RED.toString() + EnumChatFormatting.BOLD
+ + GTLanguageManager
+ .addStringLocalization("EOH.TimeDilation.Error.Tooltip", "Error, report to GTNH team"));
+ }
+ aList.add(AuthorColen);
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/ItemCasingsTT.java b/src/main/java/tectech/thing/casing/ItemCasingsTT.java
new file mode 100644
index 0000000000..d335729a10
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/ItemCasingsTT.java
@@ -0,0 +1,132 @@
+package tectech.thing.casing;
+
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import gregtech.common.blocks.ItemCasingsAbstract;
+import tectech.util.CommonValues;
+
+/**
+ * Created by danie_000 on 03.10.2016.
+ */
+public class ItemCasingsTT extends ItemCasingsAbstract {
+
+ public ItemCasingsTT(Block par1) {
+ super(par1);
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List<String> aList, boolean aF3_H) {
+ if (aStack.getItemDamage() < 15) {
+ aList.add(CommonValues.TEC_MARK_EM);
+ } else {
+ aList.add(CommonValues.COSMIC_MARK);
+ }
+ switch (aStack.getItemDamage()) {
+ case 0: // "High Power Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.0.desc.0")); // Well suited for high power applications.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.0.desc.1")); // The power levels are rising!
+ break;
+ case 1: // "Computer Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.1.desc.0")); // Nice and clean casing.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.1.desc.1")); // Dust can break it!?
+ break;
+ case 2: // "Computer Heat Vent"
+ aList.add(translateToLocal("gt.blockcasingsTT.2.desc.0")); // Air vent with a filter.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.2.desc.1")); // Perfectly muffled sound!
+ break;
+ case 3: // "Advanced Computer Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.3.desc.0")); // Contains high bandwidth bus
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.3.desc.1")); // couple thousand qubits wide.
+ break;
+ case 4: // "Molecular Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.4.desc.0")); // Stops elemental things.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.4.desc.1")); // Radiation and emotions too...
+ break;
+ case 5: // "Advanced Molecular Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.5.desc.0")); // Cooling and stabilization.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.5.desc.1")); // A comfortable machine bed.
+ break;
+ case 6: // "Containment Field Generator"
+ aList.add(translateToLocal("gt.blockcasingsTT.6.desc.0")); // Creates a field that...
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.6.desc.1")); // can stop even force carriers.
+ break;
+ case 7: // "Molecular Coil"
+ aList.add(translateToLocal("gt.blockcasingsTT.7.desc.0")); // Well it does things too...
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.7.desc.1")); // [Use this coil!]
+ break;
+ case 8: // "Collider Hollow Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.8.desc.0")); // Reinforced accelerator tunnel.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.8.desc.1")); // Most advanced pipe ever.
+ break;
+ case 9: // "Spacetime Altering Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.9.desc.0")); // c is no longer the limit.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.9.desc.1")); // Wibbly wobbly timey wimey stuff.
+ break;
+ case 10: // "Teleportation Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.10.desc.0")); // Remote connection.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.10.desc.1")); // Better touch with a stick.
+ break;
+ case 11: // "Dimensional Bridge Generator"
+ aList.add(translateToLocal("gt.blockcasingsTT.11.desc.0")); // Interdimensional Operations.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.11.desc.1")); // Around the universe and other
+ // places too.
+ break;
+ case 12: // "Ultimate Molecular Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.12.desc.0")); // Ultimate in every way.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.12.desc.1")); // I don't know what it can't do.
+ break;
+ case 13: // "Ultimate Advanced Molecular Casing"
+ aList.add(translateToLocal("gt.blockcasingsTT.13.desc.0")); // More Ultimate in every way.
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.13.desc.1")); // I don't know what I am doing!
+ break;
+ case 14: // "Ultimate Containment Field Generator"
+ aList.add(translateToLocal("gt.blockcasingsTT.14.desc.0")); // Black Hole...
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + translateToLocal("gt.blockcasingsTT.14.desc.1")); // Meh...
+ break;
+ case 15: // "Debug Sides"
+ aList.add(translateToLocal("gt.blockcasingsTT.15.desc.0")); // Lazy man way of determining sides.
+ aList.add(EnumChatFormatting.BLUE + translateToLocal("gt.blockcasingsTT.15.desc.1"));
+ break;
+ default: // WTF?
+ aList.add("Damn son where did you get that!?");
+ aList.add(EnumChatFormatting.BLUE + "From outer space... I guess...");
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/ItemCasingsTimeAcceleration.java b/src/main/java/tectech/thing/casing/ItemCasingsTimeAcceleration.java
new file mode 100644
index 0000000000..a4aac6e5cc
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/ItemCasingsTimeAcceleration.java
@@ -0,0 +1,46 @@
+package tectech.thing.casing;
+
+import static gregtech.api.enums.GTValues.AuthorColen;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.ItemCasingsAbstract;
+
+public class ItemCasingsTimeAcceleration extends ItemCasingsAbstract {
+
+ public ItemCasingsTimeAcceleration(Block par1) {
+ super(par1);
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List<String> aList, boolean aF3_H) {
+ switch (aStack.getItemDamage()) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ aList.add(
+ EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD
+ + GTLanguageManager
+ .addStringLocalization("EOH.TimeDilation.Standard.Tooltip", "Time dilation in a box."));
+ break;
+ default:
+ aList.add(
+ EnumChatFormatting.RED.toString() + EnumChatFormatting.BOLD
+ + GTLanguageManager
+ .addStringLocalization("EOH.TimeDilation.Error.Tooltip", "Error, report to GTNH team"));
+ }
+ aList.add(AuthorColen);
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/SpacetimeCompressionFieldCasing.java b/src/main/java/tectech/thing/casing/SpacetimeCompressionFieldCasing.java
new file mode 100644
index 0000000000..cc89d83b7d
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/SpacetimeCompressionFieldCasing.java
@@ -0,0 +1,116 @@
+package tectech.thing.casing;
+
+import static net.minecraft.util.EnumChatFormatting.RESET;
+import static net.minecraft.util.EnumChatFormatting.WHITE;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Textures;
+import gregtech.api.objects.GTCopiedBlockTexture;
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.BlockCasingsAbstract;
+import gregtech.common.blocks.MaterialCasings;
+import tectech.thing.CustomItemList;
+import tectech.util.CommonValues;
+
+@SuppressWarnings("SpellCheckingInspection")
+public class SpacetimeCompressionFieldCasing extends BlockCasingsAbstract {
+
+ private static IIcon textureTier0;
+ private static IIcon textureTier1;
+ private static IIcon textureTier2;
+ private static IIcon textureTier3;
+ private static IIcon textureTier4;
+ private static IIcon textureTier5;
+ private static IIcon textureTier6;
+ private static IIcon textureTier7;
+ private static IIcon textureTier8;
+ private static final int MAX_BLOCK_TIER = 9;
+
+ private static final byte START_INDEX = 16;
+
+ public SpacetimeCompressionFieldCasing() {
+ super(ItemCasingsSpacetime.class, "gt.spacetime_compression_field_generator", MaterialCasings.INSTANCE);
+ for (byte b = 0; b < 16; b = (byte) (b + 1)) {
+ Textures.BlockIcons.casingTexturePages[7][b + START_INDEX] = new GTCopiedBlockTexture(this, 6, b);
+ }
+
+ for (int i = 0; i < MAX_BLOCK_TIER; i++) {
+ GTLanguageManager.addStringLocalization(
+ getUnlocalizedName() + "." + i + ".name",
+ WHITE + CommonValues.EOH_TIER_FANCY_NAMES[i] + RESET + " Spacetime Compression Field Generator");
+ }
+
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier0.set(new ItemStack(this, 1, 0));
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier1.set(new ItemStack(this, 1, 1));
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier2.set(new ItemStack(this, 1, 2));
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier3.set(new ItemStack(this, 1, 3));
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier4.set(new ItemStack(this, 1, 4));
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier5.set(new ItemStack(this, 1, 5));
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier6.set(new ItemStack(this, 1, 6));
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier7.set(new ItemStack(this, 1, 7));
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier8.set(new ItemStack(this, 1, 8));
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister aIconRegister) {
+ textureTier0 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM_0");
+ textureTier1 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM_1");
+ textureTier2 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM_2");
+ textureTier3 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM_3");
+ textureTier4 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM_4");
+ textureTier5 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM_5");
+ textureTier6 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM_6");
+ textureTier7 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM_7");
+ textureTier8 = aIconRegister.registerIcon("gregtech:iconsets/EM_DIM_8");
+ }
+
+ @Override
+ public IIcon getIcon(int ordinalSide, int aMeta) {
+ switch (aMeta) {
+ case 0:
+ return textureTier0;
+ case 1:
+ return textureTier1;
+ case 2:
+ return textureTier2;
+ case 3:
+ return textureTier3;
+ case 4:
+ return textureTier4;
+ case 5:
+ return textureTier5;
+ case 6:
+ return textureTier6;
+ case 7:
+ return textureTier7;
+ case 8:
+ return textureTier8;
+ default:
+ return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int ordinalSide) {
+ int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
+ return getIcon(ordinalSide, tMeta);
+ }
+
+ @Override
+ public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List<ItemStack> aList) {
+ for (int i = 0; i < MAX_BLOCK_TIER; i++) {
+ aList.add(new ItemStack(aItem, 1, i));
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/StabilisationFieldCasing.java b/src/main/java/tectech/thing/casing/StabilisationFieldCasing.java
new file mode 100644
index 0000000000..21fb7acb76
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/StabilisationFieldCasing.java
@@ -0,0 +1,116 @@
+package tectech.thing.casing;
+
+import static net.minecraft.util.EnumChatFormatting.RESET;
+import static net.minecraft.util.EnumChatFormatting.WHITE;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Textures;
+import gregtech.api.objects.GTCopiedBlockTexture;
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.BlockCasingsAbstract;
+import gregtech.common.blocks.MaterialCasings;
+import tectech.thing.CustomItemList;
+import tectech.util.CommonValues;
+
+@SuppressWarnings("SpellCheckingInspection")
+public class StabilisationFieldCasing extends BlockCasingsAbstract {
+
+ private static IIcon textureTier0;
+ private static IIcon textureTier1;
+ private static IIcon textureTier2;
+ private static IIcon textureTier3;
+ private static IIcon textureTier4;
+ private static IIcon textureTier5;
+ private static IIcon textureTier6;
+ private static IIcon textureTier7;
+ private static IIcon textureTier8;
+ private static final int MAX_BLOCK_TIER = 9;
+
+ private static final byte START_INDEX = 32;
+
+ public StabilisationFieldCasing() {
+ super(ItemCasingsStabilisation.class, "gt.stabilisation_field_generator", MaterialCasings.INSTANCE);
+ for (byte b = 0; b < 16; b = (byte) (b + 1)) {
+ Textures.BlockIcons.casingTexturePages[7][b + START_INDEX] = new GTCopiedBlockTexture(this, 6, b);
+ }
+
+ for (int i = 0; i < MAX_BLOCK_TIER; i++) {
+ GTLanguageManager.addStringLocalization(
+ getUnlocalizedName() + "." + i + ".name",
+ WHITE + CommonValues.EOH_TIER_FANCY_NAMES[i] + RESET + " Stabilisation Field Generator");
+ }
+
+ CustomItemList.StabilisationFieldGeneratorTier0.set(new ItemStack(this, 1, 0));
+ CustomItemList.StabilisationFieldGeneratorTier1.set(new ItemStack(this, 1, 1));
+ CustomItemList.StabilisationFieldGeneratorTier2.set(new ItemStack(this, 1, 2));
+ CustomItemList.StabilisationFieldGeneratorTier3.set(new ItemStack(this, 1, 3));
+ CustomItemList.StabilisationFieldGeneratorTier4.set(new ItemStack(this, 1, 4));
+ CustomItemList.StabilisationFieldGeneratorTier5.set(new ItemStack(this, 1, 5));
+ CustomItemList.StabilisationFieldGeneratorTier6.set(new ItemStack(this, 1, 6));
+ CustomItemList.StabilisationFieldGeneratorTier7.set(new ItemStack(this, 1, 7));
+ CustomItemList.StabilisationFieldGeneratorTier8.set(new ItemStack(this, 1, 8));
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister aIconRegister) {
+ textureTier0 = aIconRegister.registerIcon("gregtech:iconsets/STABILITY_CASING_0");
+ textureTier1 = aIconRegister.registerIcon("gregtech:iconsets/STABILITY_CASING_1");
+ textureTier2 = aIconRegister.registerIcon("gregtech:iconsets/STABILITY_CASING_2");
+ textureTier3 = aIconRegister.registerIcon("gregtech:iconsets/STABILITY_CASING_3");
+ textureTier4 = aIconRegister.registerIcon("gregtech:iconsets/STABILITY_CASING_4");
+ textureTier5 = aIconRegister.registerIcon("gregtech:iconsets/STABILITY_CASING_5");
+ textureTier6 = aIconRegister.registerIcon("gregtech:iconsets/STABILITY_CASING_6");
+ textureTier7 = aIconRegister.registerIcon("gregtech:iconsets/STABILITY_CASING_7");
+ textureTier8 = aIconRegister.registerIcon("gregtech:iconsets/STABILITY_CASING_8");
+ }
+
+ @Override
+ public IIcon getIcon(int ordinalSide, int aMeta) {
+ switch (aMeta) {
+ case 0:
+ return textureTier0;
+ case 1:
+ return textureTier1;
+ case 2:
+ return textureTier2;
+ case 3:
+ return textureTier3;
+ case 4:
+ return textureTier4;
+ case 5:
+ return textureTier5;
+ case 6:
+ return textureTier6;
+ case 7:
+ return textureTier7;
+ case 8:
+ return textureTier8;
+ default:
+ return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int ordinalSide) {
+ int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
+ return getIcon(ordinalSide, tMeta);
+ }
+
+ @Override
+ public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List<ItemStack> aList) {
+ for (int i = 0; i < MAX_BLOCK_TIER; i++) {
+ aList.add(new ItemStack(aItem, 1, i));
+ }
+ }
+}
diff --git a/src/main/java/tectech/thing/casing/TTCasingsContainer.java b/src/main/java/tectech/thing/casing/TTCasingsContainer.java
new file mode 100644
index 0000000000..170439e2bc
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/TTCasingsContainer.java
@@ -0,0 +1,28 @@
+package tectech.thing.casing;
+
+import net.minecraft.block.Block;
+
+import tectech.thing.block.BlockEOHRender;
+import tectech.thing.block.BlockForgeOfGods;
+
+/**
+ * Created by danie_000 on 03.10.2016.
+ */
+public final class TTCasingsContainer {
+
+ public static Block sBlockCasingsTT;
+
+ public static Block sBlockCasingsBA0;
+
+ public static Block sBlockCasingsNH;
+ public static Block TimeAccelerationFieldGenerator;
+ public static Block SpacetimeCompressionFieldGenerators;
+ public static Block StabilisationFieldGenerators;
+
+ public static Block eyeOfHarmonyRenderBlock = new BlockEOHRender();
+ public static Block forgeOfGodsRenderBlock = new BlockForgeOfGods();
+
+ public static Block GodforgeCasings;
+
+ private TTCasingsContainer() {}
+}
diff --git a/src/main/java/tectech/thing/casing/TimeAccelerationFieldCasing.java b/src/main/java/tectech/thing/casing/TimeAccelerationFieldCasing.java
new file mode 100644
index 0000000000..47615e7b79
--- /dev/null
+++ b/src/main/java/tectech/thing/casing/TimeAccelerationFieldCasing.java
@@ -0,0 +1,116 @@
+package tectech.thing.casing;
+
+import static net.minecraft.util.EnumChatFormatting.RESET;
+import static net.minecraft.util.EnumChatFormatting.WHITE;
+
+import java.util.List;
+
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.Textures;
+import gregtech.api.objects.GTCopiedBlockTexture;
+import gregtech.api.util.GTLanguageManager;
+import gregtech.common.blocks.BlockCasingsAbstract;
+import gregtech.common.blocks.MaterialCasings;
+import tectech.thing.CustomItemList;
+import tectech.util.CommonValues;
+
+@SuppressWarnings("SpellCheckingInspection")
+public class TimeAccelerationFieldCasing extends BlockCasingsAbstract {
+
+ private static IIcon textureTier0;
+ private static IIcon textureTier1;
+ private static IIcon textureTier2;
+ private static IIcon textureTier3;
+ private static IIcon textureTier4;
+ private static IIcon textureTier5;
+ private static IIcon textureTier6;
+ private static IIcon textureTier7;
+ private static IIcon textureTier8;
+ private static final int MAX_BLOCK_TIER = 9;
+
+ private static final byte START_INDEX = 48;
+
+ public TimeAccelerationFieldCasing() {
+ super(ItemCasingsTimeAcceleration.class, "gt.time_acceleration_field_generator", MaterialCasings.INSTANCE);
+ for (byte b = 0; b < 16; b = (byte) (b + 1)) {
+ Textures.BlockIcons.casingTexturePages[7][b + START_INDEX] = new GTCopiedBlockTexture(this, 6, b);
+ }
+
+ for (int i = 0; i < MAX_BLOCK_TIER; i++) {
+ GTLanguageManager.addStringLocalization(
+ getUnlocalizedName() + "." + i + ".name",
+ WHITE + CommonValues.EOH_TIER_FANCY_NAMES[i] + RESET + " Time Dilation Field Generator");
+ }
+
+ CustomItemList.TimeAccelerationFieldGeneratorTier0.set(new ItemStack(this, 1, 0));
+ CustomItemList.TimeAccelerationFieldGeneratorTier1.set(new ItemStack(this, 1, 1));
+ CustomItemList.TimeAccelerationFieldGeneratorTier2.set(new ItemStack(this, 1, 2));
+ CustomItemList.TimeAccelerationFieldGeneratorTier3.set(new ItemStack(this, 1, 3));
+ CustomItemList.TimeAccelerationFieldGeneratorTier4.set(new ItemStack(this, 1, 4));
+ CustomItemList.TimeAccelerationFieldGeneratorTier5.set(new ItemStack(this, 1, 5));
+ CustomItemList.TimeAccelerationFieldGeneratorTier6.set(new ItemStack(this, 1, 6));
+ CustomItemList.TimeAccelerationFieldGeneratorTier7.set(new ItemStack(this, 1, 7));
+ CustomItemList.TimeAccelerationFieldGeneratorTier8.set(new ItemStack(this, 1, 8));
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister aIconRegister) {
+ textureTier0 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_0");
+ textureTier1 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_1");
+ textureTier2 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_2");
+ textureTier3 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_3");
+ textureTier4 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_4");
+ textureTier5 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_5");
+ textureTier6 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_6");
+ textureTier7 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_7");
+ textureTier8 = aIconRegister.registerIcon("gregtech:iconsets/EM_FIELD_8");
+ }
+
+ @Override
+ public IIcon getIcon(int ordinalSide, int aMeta) {
+ switch (aMeta) {
+ case 0:
+ return textureTier0;
+ case 1:
+ return textureTier1;
+ case 2:
+ return textureTier2;
+ case 3:
+ return textureTier3;
+ case 4:
+ return textureTier4;
+ case 5:
+ return textureTier5;
+ case 6:
+ return textureTier6;
+ case 7:
+ return textureTier7;
+ case 8:
+ return textureTier8;
+ default:
+ return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int ordinalSide) {
+ int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
+ return getIcon(ordinalSide, tMeta);
+ }
+
+ @Override
+ public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List<ItemStack> aList) {
+ for (int i = 0; i < MAX_BLOCK_TIER; i++) {
+ aList.add(new ItemStack(aItem, 1, i));
+ }
+ }
+}