aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
commit6d1b2216464d4dad449ac6fcfec476832224a55e (patch)
tree526a0c15f7056313c80e6c0386e025e9b3f61781 /src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures
parentb5d35f40afa606ed1b07061dad82e0521a59c186 (diff)
downloadGT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.gz
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.bz2
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.zip
Merge addon sources
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java57
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java71
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java61
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler6.java25
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java151
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGrinderMultiblock.java134
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java486
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java51
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java410
9 files changed, 1446 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java
new file mode 100644
index 0000000000..c85bac7115
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler.java
@@ -0,0 +1,57 @@
+package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import gregtech.api.enums.Textures;
+import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks;
+
+public class CasingTextureHandler {
+
+ private static final TexturesCentrifugeMultiblock gregtechX = new TexturesCentrifugeMultiblock();
+
+ public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57]
+ if ((aMeta >= 0) && (aMeta < 16)) {
+ return switch (aMeta) {
+ // Centrifuge
+ case 0 -> TexturesGtBlock.Casing_Material_Centrifuge.getIcon();
+ // Coke Oven Frame
+ case 1 -> TexturesGtBlock.Casing_Material_Tantalloy61.getIcon();
+ // Coke Oven Casing Tier 1
+ case 2 -> Textures.BlockIcons.MACHINE_CASING_FIREBOX_BRONZE.getIcon();
+ // Coke Oven Casing Tier 2
+ case 3 -> Textures.BlockIcons.MACHINE_CASING_FIREBOX_STEEL.getIcon();
+ // Material Press Casings
+ case 4 -> Textures.BlockIcons.MACHINE_CASING_STABLE_TITANIUM.getIcon();
+ // Electrolyzer Casings
+ case 5 -> TexturesGtBlock.Casing_Material_Potin.getIcon();
+ // Broken Blue Fusion Casings
+ case 6 -> TexturesGtBlock.Casing_Material_MaragingSteel.getIcon();
+ // Maceration Stack Casings
+ case 7 -> TexturesGtBlock.Casing_Material_Tumbaga.getIcon();
+ // Broken Pink Fusion Casings
+ case 8 -> TexturesGtBlock.TEXTURE_ORGANIC_PANEL_A_GLOWING.getIcon();
+ // Matter Fabricator Casings
+ case 9 -> TexturesGtBlock.TEXTURE_METAL_PANEL_F.getIcon();
+ // Iron Blast Fuance Textures
+ case 10 -> TexturesGtBlock.Casing_Machine_Simple_Top.getIcon();
+ // Multitank Exterior Casing
+ case 11 -> TexturesGtBlock.Casing_Material_Grisium.getIcon();
+ // Reactor Casing I
+ case 12 -> TexturesGtBlock.Casing_Material_Stellite.getIcon();
+ // Reactor Casing II
+ case 13 -> TexturesGtBlock.Casing_Material_Zeron100.getIcon();
+ case 14 -> TexturesGtBlock.Casing_Staballoy_Firebox.getIcon();
+ case 15 -> TexturesGtBlock.Casing_Material_ZirconiumCarbide.getIcon();
+ default -> Textures.BlockIcons.MACHINE_CASING_RADIOACTIVEHAZARD.getIcon();
+ };
+ }
+ return Textures.BlockIcons.MACHINE_CASING_GEARBOX_TUNGSTENSTEEL.getIcon();
+ }
+
+ public static IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord,
+ final ForgeDirection side, final GregtechMetaCasingBlocks thisBlock) {
+ return gregtechX.handleCasingsGT(aWorld, xCoord, yCoord, zCoord, side, thisBlock);
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java
new file mode 100644
index 0000000000..1da572fb35
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler2.java
@@ -0,0 +1,71 @@
+package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+
+import net.minecraft.util.IIcon;
+
+import gregtech.api.enums.Textures;
+
+public class CasingTextureHandler2 {
+
+ public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57]
+ if ((aMeta >= 0) && (aMeta < 16)) {
+ switch (aMeta) {
+ case 0 -> {
+ return TexturesGtBlock.Casing_Material_RedSteel.getIcon();
+ }
+ case 1 -> {
+ return TexturesGtBlock.Casing_Material_HastelloyX.getIcon();
+ }
+ case 2 -> {
+ return TexturesGtBlock.Casing_Material_HastelloyN.getIcon();
+ }
+ case 3 -> {
+ return TexturesGtBlock.Casing_Material_Fluid_IncoloyDS.getIcon();
+ }
+ case 4 -> {
+ return TexturesGtBlock.Casing_Material_Grisium.getIcon();
+ }
+ case 5 -> {
+ return TexturesGtBlock.Casing_Machine_Metal_Panel_A.getIcon();
+ }
+ case 6 -> {
+ return TexturesGtBlock.Casing_Machine_Metal_Grate_A.getIcon();
+ }
+ case 7 -> {
+ return TexturesGtBlock.Casing_Redox_1.getIcon();
+ }
+ case 8 -> {
+ return TexturesGtBlock.Casing_Machine_Metal_Sheet_A.getIcon();
+ }
+ case 9 -> {
+ return TexturesGtBlock.Overlay_Machine_Cyber_A.getIcon();
+ }
+ case 10 -> {
+ return Textures.BlockIcons.MACHINE_CASING_RADIATIONPROOF.getIcon();
+ }
+ case 11 -> {
+ return TexturesGtBlock.Casing_Material_Tantalloy61.getIcon();
+ }
+ case 12 -> {
+ return TexturesGtBlock.Casing_Machine_Simple_Top.getIcon();
+ }
+ case 13 -> {
+ if (ordinalSide < 2) {
+ return TexturesGtBlock.TEXTURE_TECH_A.getIcon();
+ } else {
+ return TexturesGtBlock.TEXTURE_TECH_B.getIcon();
+ }
+ }
+ case 14 -> {
+ return Textures.BlockIcons.RENDERING_ERROR.getIcon();
+ }
+ case 15 -> {
+ return TexturesGtBlock.Casing_Machine_Acacia_Log.getIcon();
+ }
+ default -> {
+ return TexturesGtBlock.Overlay_UU_Matter.getIcon();
+ }
+ }
+ }
+ return TexturesGtBlock._PlaceHolder.getIcon();
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java
new file mode 100644
index 0000000000..6b2627ec39
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java
@@ -0,0 +1,61 @@
+package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+
+import net.minecraft.util.IIcon;
+
+import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks3;
+
+public class CasingTextureHandler3 {
+
+ public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57]
+ if ((aMeta >= 0) && (aMeta < 16)) {
+ return switch (aMeta) {
+ case 0 ->
+ // Aquatic Casing
+ TexturesGtBlock.TEXTURE_METAL_PANEL_B.getIcon();
+ case 1 ->
+ // Inconel Reinforced Casing
+ TexturesGtBlock.TEXTURE_METAL_PANEL_D.getIcon();
+ case 2 ->
+ // Multi-Use Casing
+ TexturesGtBlock.TEXTURE_METAL_PANEL_C.getIcon();
+ case 3 ->
+ // Trinium Plated Mining Platform Casing
+ TexturesGtBlock.Casing_Trinium_Naquadah_Vent.getIcon();
+ case 4 ->
+ // Vanadium Redox IV
+ TexturesGtBlock.Casing_Redox_2.getIcon();
+ case 5 ->
+ // Vanadium Redox LuV
+ TexturesGtBlock.Casing_Redox_3.getIcon();
+ case 6 ->
+ // Vanadium Redox ZPM
+ TexturesGtBlock.Casing_Redox_4.getIcon();
+ case 7 ->
+ // Vanadium Redox UV
+ TexturesGtBlock.Casing_Redox_5.getIcon();
+ case 8 ->
+ // Vanadium Redox MAX
+ TexturesGtBlock.Casing_Redox_6.getIcon();
+ case 9 ->
+ // Amazon Warehouse Casing
+ TexturesGtBlock.TEXTURE_CASING_AMAZON.getIcon();
+ case 10 ->
+ // Adv. Vac. Freezer
+ TexturesGtBlock.TEXTURE_CASING_ADVANCED_CRYOGENIC.getIcon();
+ case 11 ->
+ // Adv. EBF
+ TexturesGtBlock.TEXTURE_CASING_ADVANCED_VOLCNUS.getIcon();
+ case 12 -> TexturesGtBlock.TEXTURE_CASING_FUSION_COIL_II.getIcon();
+ case 13 -> TexturesGtBlock.TEXTURE_CASING_FUSION_COIL_II_INNER.getIcon();
+ case 14 -> TexturesGtBlock.TEXTURE_CASING_FUSION_CASING_ULTRA.getIcon();
+ case 15 -> TexturesGtBlock.TEXTURE_MAGIC_PANEL_A.getIcon();
+ default -> TexturesGtBlock._PlaceHolder.getIcon();
+ };
+ }
+ return TexturesGtBlock._PlaceHolder.getIcon();
+ }
+
+ static {
+ GregtechMetaCasingBlocks3.mConnectedMachineTextures = true;
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler6.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler6.java
new file mode 100644
index 0000000000..b8d5a024df
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler6.java
@@ -0,0 +1,25 @@
+package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+
+import net.minecraft.util.IIcon;
+
+import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks6;
+
+public class CasingTextureHandler6 {
+
+ public static IIcon getIcon(final int ordinalSide, final int aMeta) { // Texture ID's. case 0 == ID[57]
+ if ((aMeta >= 0) && (aMeta < 16)) {
+ return switch (aMeta) {
+ case 0 -> TexturesGtBlock.TEXTURE_CASING_FUSION_COIL_III.getIcon();
+ case 1 -> TexturesGtBlock.TEXTURE_CASING_FUSION_COIL_III_INNER.getIcon();
+ case 2 -> TexturesGtBlock.TEXTURE_CASING_FUSION_CASING_HYPER.getIcon();
+ default -> TexturesGtBlock._PlaceHolder.getIcon();
+ };
+ }
+ return TexturesGtBlock._PlaceHolder.getIcon();
+ }
+
+ static {
+ GregtechMetaCasingBlocks6.mConnectedMachineTextures = true;
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java
new file mode 100644
index 0000000000..058d2a7f1e
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesCentrifugeMultiblock.java
@@ -0,0 +1,151 @@
+package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.CustomIcon;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IndustrialCentrifuge;
+
+public class TexturesCentrifugeMultiblock {
+
+ private static CustomIcon GT8_1_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE1");
+ private static CustomIcon GT8_1 = new CustomIcon("iconsets/LARGECENTRIFUGE1");
+ private static CustomIcon GT8_2_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE2");
+ private static CustomIcon GT8_2 = new CustomIcon("iconsets/LARGECENTRIFUGE2");
+ private static CustomIcon GT8_3_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE3");
+ private static CustomIcon GT8_3 = new CustomIcon("iconsets/LARGECENTRIFUGE3");
+ private static CustomIcon GT8_4_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE4");
+ private static CustomIcon GT8_4 = new CustomIcon("iconsets/LARGECENTRIFUGE4");
+ private static CustomIcon GT8_5_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE5");
+ private static CustomIcon GT8_5 = new CustomIcon("iconsets/LARGECENTRIFUGE5");
+ private static CustomIcon GT8_6_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE6");
+ private static CustomIcon GT8_6 = new CustomIcon("iconsets/LARGECENTRIFUGE6");
+ private static CustomIcon GT8_7_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE7");
+ private static CustomIcon GT8_7 = new CustomIcon("iconsets/LARGECENTRIFUGE7");
+ private static CustomIcon GT8_8_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE8");
+ private static CustomIcon GT8_8 = new CustomIcon("iconsets/LARGECENTRIFUGE8");
+ private static CustomIcon GT8_9_Active = new CustomIcon("iconsets/LARGECENTRIFUGE_ACTIVE9");
+ private static CustomIcon GT8_9 = new CustomIcon("iconsets/LARGECENTRIFUGE9");
+
+ private static CustomIcon frontFace_0 = (GT8_1);
+ private static CustomIcon frontFaceActive_0 = (GT8_1_Active);
+ private static CustomIcon frontFace_1 = (GT8_2);
+ private static CustomIcon frontFaceActive_1 = (GT8_2_Active);
+ private static CustomIcon frontFace_2 = (GT8_3);
+ private static CustomIcon frontFaceActive_2 = (GT8_3_Active);
+ private static CustomIcon frontFace_3 = (GT8_4);
+ private static CustomIcon frontFaceActive_3 = (GT8_4_Active);
+ private static CustomIcon frontFace_4 = (GT8_5);
+ private static CustomIcon frontFaceActive_4 = (GT8_5_Active);
+ private static CustomIcon frontFace_5 = (GT8_6);
+ private static CustomIcon frontFaceActive_5 = (GT8_6_Active);
+ private static CustomIcon frontFace_6 = (GT8_7);
+ private static CustomIcon frontFaceActive_6 = (GT8_7_Active);
+ private static CustomIcon frontFace_7 = (GT8_8);
+ private static CustomIcon frontFaceActive_7 = (GT8_8_Active);
+ private static CustomIcon frontFace_8 = (GT8_9);
+ private static CustomIcon frontFaceActive_8 = (GT8_9_Active);
+
+ CustomIcon[] CENTRIFUGE = new CustomIcon[] { frontFace_0, frontFace_1, frontFace_2, frontFace_3, frontFace_4,
+ frontFace_5, frontFace_6, frontFace_7, frontFace_8 };
+
+ CustomIcon[] CENTRIFUGE_ACTIVE = new CustomIcon[] { frontFaceActive_0, frontFaceActive_1, frontFaceActive_2,
+ frontFaceActive_3, frontFaceActive_4, frontFaceActive_5, frontFaceActive_6, frontFaceActive_7,
+ frontFaceActive_8 };
+
+ public IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord,
+ final ForgeDirection side, final GregtechMetaCasingBlocks thisBlock) {
+ return this.handleCasingsGT58(aWorld, xCoord, yCoord, zCoord, side, thisBlock);
+ }
+
+ private static int isCentrifugeControllerWithSide(IBlockAccess aWorld, int aX, int aY, int aZ,
+ ForgeDirection side) {
+ TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
+ if (!(tTileEntity instanceof IGregTechTileEntity tTile)) return 0;
+ if (tTile.getMetaTileEntity() instanceof GregtechMetaTileEntity_IndustrialCentrifuge
+ && tTile.getFrontFacing() == side) return tTile.isActive() ? 1 : 2;
+ return 0;
+ }
+
+ public IIcon handleCasingsGT58(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord,
+ final ForgeDirection side, final GregtechMetaCasingBlocks thisBlock) {
+ final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
+ final int ordinalSide = side.ordinal();
+ if (tMeta != 0) {
+ return CasingTextureHandler.getIcon(ordinalSide, tMeta);
+ }
+
+ int tInvertLeftRightMod = ordinalSide % 2 * 2 - 1;
+ switch (ordinalSide / 2) {
+ case 0 -> {
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if (i == 0 && j == 0) continue;
+ if (isCentrifugeControllerWithSide(aWorld, xCoord + j, yCoord, zCoord + i, side) != 0) {
+ IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld
+ .getTileEntity(xCoord + j, yCoord, zCoord + i)).getMetaTileEntity();
+ return getIconByIndex(tMetaTileEntity, 4 - i * 3 - j);
+ }
+ }
+ }
+ }
+ case 1 -> {
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if (i == 0 && j == 0) continue;
+ if (isCentrifugeControllerWithSide(aWorld, xCoord + j, yCoord + i, zCoord, side) != 0) {
+ IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld
+ .getTileEntity(xCoord + j, yCoord + i, zCoord)).getMetaTileEntity();
+ return getIconByIndex(tMetaTileEntity, 4 + i * 3 - j * tInvertLeftRightMod);
+ }
+ }
+ }
+ }
+ case 2 -> {
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if (i == 0 && j == 0) continue;
+ if (isCentrifugeControllerWithSide(aWorld, xCoord, yCoord + i, zCoord + j, side) != 0) {
+ IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld
+ .getTileEntity(xCoord, yCoord + i, zCoord + j)).getMetaTileEntity();
+ return getIconByIndex(tMetaTileEntity, 4 + i * 3 + j * tInvertLeftRightMod);
+ }
+ }
+ }
+ }
+ }
+ return TexturesGtBlock.Casing_Material_Centrifuge.getIcon();
+ }
+
+ public boolean isCentrifugeRunning(IMetaTileEntity aTile) {
+ if (aTile == null) {
+ return false;
+ } else {
+ return aTile.getBaseMetaTileEntity()
+ .isActive();
+ }
+ }
+
+ public boolean isUsingAnimatedTexture(IMetaTileEntity aMetaTileEntity) {
+ if (aMetaTileEntity != null) {
+ if (aMetaTileEntity instanceof GregtechMetaTileEntity_IndustrialCentrifuge) {
+ return ((GregtechMetaTileEntity_IndustrialCentrifuge) aMetaTileEntity).usingAnimations();
+ }
+ }
+ return false;
+ }
+
+ public IIcon getIconByIndex(IMetaTileEntity aMetaTileEntity, int aIndex) {
+ if (isUsingAnimatedTexture(aMetaTileEntity)) {
+ if (isCentrifugeRunning(aMetaTileEntity)) {
+ return this.CENTRIFUGE_ACTIVE[aIndex].getIcon();
+ }
+ }
+ return this.CENTRIFUGE[aIndex].getIcon();
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGrinderMultiblock.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGrinderMultiblock.java
new file mode 100644
index 0000000000..e7d09bd308
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGrinderMultiblock.java
@@ -0,0 +1,134 @@
+package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaCasingBlocks5;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.CustomIcon;
+import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_IsaMill;
+
+public class TexturesGrinderMultiblock {
+
+ private static CustomIcon GT8_1_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE1");
+ private static CustomIcon GT8_1 = new CustomIcon("iconsets/Grinder/GRINDER1");
+ private static CustomIcon GT8_2_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE2");
+ private static CustomIcon GT8_2 = new CustomIcon("iconsets/Grinder/GRINDER2");
+ private static CustomIcon GT8_3_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE3");
+ private static CustomIcon GT8_3 = new CustomIcon("iconsets/Grinder/GRINDER3");
+ private static CustomIcon GT8_4_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE4");
+ private static CustomIcon GT8_4 = new CustomIcon("iconsets/Grinder/GRINDER4");
+ private static CustomIcon GT8_5_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE5");
+ private static CustomIcon GT8_5 = new CustomIcon("iconsets/Grinder/GRINDER5");
+ private static CustomIcon GT8_6_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE6");
+ private static CustomIcon GT8_6 = new CustomIcon("iconsets/Grinder/GRINDER6");
+ private static CustomIcon GT8_7_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE7");
+ private static CustomIcon GT8_7 = new CustomIcon("iconsets/Grinder/GRINDER7");
+ private static CustomIcon GT8_8_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE8");
+ private static CustomIcon GT8_8 = new CustomIcon("iconsets/Grinder/GRINDER8");
+ private static CustomIcon GT8_9_Active = new CustomIcon("iconsets/Grinder/GRINDER_ACTIVE9");
+ private static CustomIcon GT8_9 = new CustomIcon("iconsets/Grinder/GRINDER9");
+
+ private static CustomIcon frontFace_0 = (GT8_1);
+ private static CustomIcon frontFaceActive_0 = (GT8_1_Active);
+ private static CustomIcon frontFace_1 = (GT8_2);
+ private static CustomIcon frontFaceActive_1 = (GT8_2_Active);
+ private static CustomIcon frontFace_2 = (GT8_3);
+ private static CustomIcon frontFaceActive_2 = (GT8_3_Active);
+ private static CustomIcon frontFace_3 = (GT8_4);
+ private static CustomIcon frontFaceActive_3 = (GT8_4_Active);
+ private static CustomIcon frontFace_4 = (GT8_5);
+ private static CustomIcon frontFaceActive_4 = (GT8_5_Active);
+ private static CustomIcon frontFace_5 = (GT8_6);
+ private static CustomIcon frontFaceActive_5 = (GT8_6_Active);
+ private static CustomIcon frontFace_6 = (GT8_7);
+ private static CustomIcon frontFaceActive_6 = (GT8_7_Active);
+ private static CustomIcon frontFace_7 = (GT8_8);
+ private static CustomIcon frontFaceActive_7 = (GT8_8_Active);
+ private static CustomIcon frontFace_8 = (GT8_9);
+ private static CustomIcon frontFaceActive_8 = (GT8_9_Active);
+
+ CustomIcon[] GRINDER = new CustomIcon[] { frontFace_0, frontFace_1, frontFace_2, frontFace_3, frontFace_4,
+ frontFace_5, frontFace_6, frontFace_7, frontFace_8 };
+
+ CustomIcon[] GRINDER_ACTIVE = new CustomIcon[] { frontFaceActive_0, frontFaceActive_1, frontFaceActive_2,
+ frontFaceActive_3, frontFaceActive_4, frontFaceActive_5, frontFaceActive_6, frontFaceActive_7,
+ frontFaceActive_8 };
+
+ private static int isIsaControllerWithSide(IBlockAccess aWorld, int aX, int aY, int aZ, ForgeDirection side) {
+ TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
+ if (!(tTileEntity instanceof IGregTechTileEntity tTile)) return 0;
+ if (tTile.getMetaTileEntity() instanceof GregtechMetaTileEntity_IsaMill && tTile.getFrontFacing() == side)
+ return tTile.isActive() ? 1 : 2;
+ return 0;
+ }
+
+ public IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord,
+ final int ordinalSide, final GregtechMetaCasingBlocks5 ii) {
+ final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
+ final ForgeDirection side = ForgeDirection.getOrientation(ordinalSide);
+ if (tMeta != 1) {
+ return GregtechMetaCasingBlocks5.getStaticIcon(ordinalSide, tMeta);
+ }
+ int tInvertLeftRightMod = ordinalSide % 2 * 2 - 1;
+ switch (ordinalSide / 2) {
+ case 0 -> {
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if (i == 0 && j == 0) continue;
+ if (isIsaControllerWithSide(aWorld, xCoord + j, yCoord, zCoord + i, side) != 0) {
+ IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld
+ .getTileEntity(xCoord + j, yCoord, zCoord + i)).getMetaTileEntity();
+ return getIconByIndex(tMetaTileEntity, 4 - i * 3 - j);
+ }
+ }
+ }
+ }
+ case 1 -> {
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if (i == 0 && j == 0) continue;
+ if (isIsaControllerWithSide(aWorld, xCoord + j, yCoord + i, zCoord, side) != 0) {
+ IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld
+ .getTileEntity(xCoord + j, yCoord + i, zCoord)).getMetaTileEntity();
+ return getIconByIndex(tMetaTileEntity, 4 + i * 3 - j * tInvertLeftRightMod);
+ }
+ }
+ }
+ }
+ case 2 -> {
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if (i == 0 && j == 0) continue;
+ if (isIsaControllerWithSide(aWorld, xCoord, yCoord + i, zCoord + j, side) != 0) {
+ IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) aWorld
+ .getTileEntity(xCoord, yCoord + i, zCoord + j)).getMetaTileEntity();
+ return getIconByIndex(tMetaTileEntity, 4 + i * 3 + j * tInvertLeftRightMod);
+ }
+ }
+ }
+ }
+ }
+ return TexturesGtBlock.TEXTURE_CASING_GRINDING_MILL.getIcon();
+ }
+
+ public boolean isCentrifugeRunning(IMetaTileEntity aTile) {
+ if (aTile == null) {
+ return false;
+ } else {
+ return aTile.getBaseMetaTileEntity()
+ .isActive();
+ }
+ }
+
+ public IIcon getIconByIndex(IMetaTileEntity aMetaTileEntity, int aIndex) {
+ if (isCentrifugeRunning(aMetaTileEntity)) {
+ return this.GRINDER_ACTIVE[aIndex].getIcon();
+ }
+
+ return this.GRINDER[aIndex].getIcon();
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
new file mode 100644
index 0000000000..743cd0b85b
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
@@ -0,0 +1,486 @@
+package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+
+import static gregtech.api.enums.Mods.GTPlusPlus;
+
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.objects.GT_RenderedTexture;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.lib.CORE;
+
+public class TexturesGtBlock {
+
+ private static boolean mAnimated = CORE.ConfigSwitches.enableAnimatedTextures;
+
+ private static AutoMap<Runnable> mCustomiconMap = new AutoMap<>();
+
+ /*
+ * Handles Custom Textures.
+ */
+
+ public static class CustomIcon implements IIconContainer, Runnable {
+
+ protected IIcon mIcon;
+ protected String mIconName;
+ protected String mModID;
+
+ public CustomIcon(final String aIconName) {
+ this(GTPlusPlus.ID, aIconName);
+ }
+
+ public CustomIcon(final String aModID, final String aIconName) {
+ this.mIconName = aIconName;
+ this.mModID = aModID;
+ mCustomiconMap.put(this);
+ Logger.WARNING("Constructing a Custom Texture. " + this.mIconName);
+ GregTech_API.sGTBlockIconload.add(this);
+ }
+
+ @Override
+ public IIcon getIcon() {
+ return this.mIcon;
+ }
+
+ @Override
+ public IIcon getOverlayIcon() {
+ return null;
+ }
+
+ @Override
+ public void run() {
+ this.mIcon = GregTech_API.sBlockIcons.registerIcon(this.mModID + ":" + this.mIconName);
+ Logger.WARNING(
+ "FIND ME _ Processing texture: " + this.getTextureFile()
+ .getResourcePath());
+ }
+
+ @Override
+ public ResourceLocation getTextureFile() {
+ return TextureMap.locationBlocksTexture;
+ }
+ }
+
+ /*
+ * Add Some Custom Textures below. I am not sure whether or not I need to declare them as such, but better to be
+ * safe than sorry. Right?
+ */
+
+ // PlaceHolder Texture
+ private static final CustomIcon Internal_PlaceHolder = new CustomIcon("TileEntities/_PlaceHolder");
+ public static final CustomIcon _PlaceHolder = Internal_PlaceHolder;
+
+ public static final CustomIcon OVERLAY_ENERGY_OUT_MULTI_BUFFER = new CustomIcon(
+ "iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER");
+
+ // Machine Casings
+ // Simple
+ private static final CustomIcon Internal_Casing_Machine_Simple_Top = new CustomIcon("TileEntities/machine_top");
+ public static final CustomIcon Casing_Machine_Simple_Top = Internal_Casing_Machine_Simple_Top;
+ private static final CustomIcon Internal_Casing_Machine_Simple_Bottom = new CustomIcon(
+ "TileEntities/machine_bottom");
+ public static final CustomIcon Casing_Machine_Simple_Bottom = Internal_Casing_Machine_Simple_Bottom;
+ // Advanced and Ultra
+ private static final CustomIcon Internal_Casing_Machine_Advanced = new CustomIcon("TileEntities/high_adv_machine");
+ public static final CustomIcon Casing_Machine_Advanced = Internal_Casing_Machine_Advanced;
+ private static final CustomIcon Internal_Casing_Machine_Ultra = new CustomIcon("TileEntities/adv_machine_lesu");
+ public static final CustomIcon Casing_Machine_Ultra = Internal_Casing_Machine_Ultra;
+ // Dimensional - Non Overlay
+ private static final CustomIcon Internal_Casing_Machine_Dimensional = new CustomIcon(
+ "TileEntities/adv_machine_dimensional");
+ public static final CustomIcon Casing_Machine_Dimensional = Internal_Casing_Machine_Dimensional;
+
+ // Material Casings
+ private static final CustomIcon Internal_Casing_Tantalloy61 = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_TANTALLOY61");
+ public static final CustomIcon Casing_Material_Tantalloy61 = Internal_Casing_Tantalloy61;
+ private static final CustomIcon Internal_Casing_MaragingSteel = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_MARAGINGSTEEL");
+ public static final CustomIcon Casing_Material_MaragingSteel = Internal_Casing_MaragingSteel;
+ private static final CustomIcon Internal_Casing_Stellite = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_STELLITE");
+ public static final CustomIcon Casing_Material_Stellite = Internal_Casing_Stellite;
+ private static final CustomIcon Internal_Casing_Talonite = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_TALONITE");
+ public static final CustomIcon Casing_Material_Talonite = Internal_Casing_Talonite;
+ private static final CustomIcon Internal_Turbine_SC_Casing = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE");
+ public static final CustomIcon Turbine_SC_Material_Casing = Internal_Turbine_SC_Casing;
+ private static final CustomIcon Internal_Casing_Tumbaga = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_TUMBAGA");
+ public static final CustomIcon Casing_Material_Tumbaga = Internal_Casing_Tumbaga;
+ private static final CustomIcon Internal_Casing_Zeron100 = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_ZERON100");
+ public static final CustomIcon Casing_Material_Zeron100 = Internal_Casing_Zeron100;
+ private static final CustomIcon Internal_Casing_Potin = new CustomIcon("TileEntities/MACHINE_CASING_STABLE_POTIN");
+ public static final CustomIcon Casing_Material_Potin = Internal_Casing_Potin;
+
+ private static final CustomIcon Internal_Casing_Grisium = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_GRISIUM");
+ public static final CustomIcon Casing_Material_Grisium = Internal_Casing_Grisium;
+ private static final CustomIcon Internal_Casing_RedSteel = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_RED_STEEL");
+ public static final CustomIcon Casing_Material_RedSteel = Internal_Casing_RedSteel;
+ private static final CustomIcon Internal_Casing_ZirconiumCarbide = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_ZIRCONIUM_CARBIDE");
+ public static final CustomIcon Casing_Material_ZirconiumCarbide = Internal_Casing_ZirconiumCarbide;
+
+ private static final CustomIcon Internal_Casing_HastelloyX = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_HASTELLOY_X");
+ public static final CustomIcon Casing_Material_HastelloyX = Internal_Casing_HastelloyX;
+ private static final CustomIcon Internal_Casing_HastelloyN = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_HASTELLOY_N");
+ public static final CustomIcon Casing_Material_HastelloyN = Internal_Casing_HastelloyN;
+ private static final CustomIcon Internal_Casing_Fluid_IncoloyDS = new CustomIcon(
+ "TileEntities/MACHINE_CASING_FLUID_INCOLOY_DS");
+ public static final CustomIcon Casing_Material_Fluid_IncoloyDS = Internal_Casing_Fluid_IncoloyDS;
+
+ private static final CustomIcon Internal_Casing_Laurenium = new CustomIcon("TileEntities/MACHINE_CASING_LAURENIUM");
+ public static final CustomIcon Casing_Material_Laurenium = Internal_Casing_Laurenium;
+
+ // Trinium Alloys
+ public static final CustomIcon Casing_Trinium_Titanium = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_TRINIUM_TITANIUM");
+ public static final CustomIcon Casing_Trinium_Naquadah_Vent = new CustomIcon(
+ "TileEntities/MACHINE_CASING_STABLE_TRINIUM_NAQUADAH_VENT");
+
+ // Material Machine/Firebox Casings
+ private static final CustomIcon Internal_Casing_Staballoy_Firebox = new CustomIcon(
+ "TileEntities/MACHINE_CASING_FIREBOX_STABALLOY");
+ public static final CustomIcon Casing_Staballoy_Firebox = Internal_Casing_Staballoy_Firebox;
+
+ // Misc Casings
+ private static final CustomIcon Internal_Casing_Machine_Redstone_Off = new CustomIcon(
+ "TileEntities/cover_redstone_conductor");
+ public static final CustomIcon Casing_Machine_Redstone_Off = Internal_Casing_Machine_Redstone_Off;
+ private static final CustomIcon Internal_Casing_Machine_Redstone_On = new CustomIcon(
+ "TileEntities/cover_redstone_emitter");
+ public static final CustomIcon Casing_Machine_Redstone_On = Internal_Casing_Machine_Redstone_On;
+
+ // Redox Cells
+ public static final CustomIcon Casing_Redox_1 = new CustomIcon("redox/redox1");
+ public static final CustomIcon Casing_Redox_2 = new CustomIcon("redox/redox2");
+ public static final CustomIcon Casing_Redox_3 = new CustomIcon("redox/redox3");
+ public static final CustomIcon Casing_Redox_4 = new CustomIcon("redox/redox4");
+ public static final CustomIcon Casing_Redox_5 = new CustomIcon("redox/redox5");
+ public static final CustomIcon Casing_Redox_6 = new CustomIcon("redox/redox6");
+
+ // Special Block 2
+ public static final CustomIcon Casing_Resonance_1 = new CustomIcon("special/block_1");
+ public static final CustomIcon Casing_Resonance_2 = new CustomIcon("special/block_2");
+ public static final CustomIcon Casing_Resonance_3 = new CustomIcon("special/block_3");
+ public static final CustomIcon Casing_Resonance_4 = new CustomIcon("special/block_4");
+ public static final CustomIcon Casing_Modulator_1 = new CustomIcon("special/block_5");
+ public static final CustomIcon Casing_Modulator_2 = new CustomIcon("special/block_6");
+ public static final CustomIcon Casing_Modulator_3 = new CustomIcon("special/block_7");
+ public static final CustomIcon Casing_Modulator_4 = new CustomIcon("special/block_8");
+
+ // Centrifuge Casing
+ private static final CustomIcon Internal_Casing_Centrifuge = new CustomIcon(
+ "TileEntities/MACHINE_CASING_CENTRIFUGE");
+ public static final CustomIcon Casing_Material_Centrifuge = Internal_Casing_Centrifuge;
+
+ // Quantum Force Transformer Casing
+ // spotless:off
+ private static final CustomIcon Internal_Casing_QFT = new CustomIcon("TileEntities/MACHINE_CASING_QFT_COIL");
+ public static final CustomIcon Casing_Coil_QFT = Internal_Casing_QFT;
+ public static final CustomIcon NeutronPulseManipulator = mAnimated ? new CustomIcon("NeutronPulseManipulator") : new CustomIcon("NeutronPulseManipulatorStatic");
+ public static final CustomIcon CosmicFabricManipulator = mAnimated ? new CustomIcon("CosmicFabricManipulator") : new CustomIcon("CosmicFabricManipulatorStatic");
+ public static final CustomIcon InfinityInfusedManipulator = mAnimated ? new CustomIcon("InfinityInfusedManipulator") : new CustomIcon("InfinityInfusedManipulatorStatic");
+ public static final CustomIcon SpaceTimeContinuumRipper = mAnimated ? new CustomIcon("SpaceTimeContinuumRipper") : new CustomIcon("SpaceTimeContinuumRipperStatic");
+ public static final CustomIcon Manipulator_Top = new CustomIcon("Manipulator_Top");
+ public static final CustomIcon NeutronShieldingCore = mAnimated ? new CustomIcon("NeutronShieldingCore") : new CustomIcon("NeutronShieldingCoreStatic");
+ public static final CustomIcon CosmicFabricShieldingCore = mAnimated ? new CustomIcon("CosmicFabricShieldingCore") : new CustomIcon("CosmicFabricShieldingCoreStatic");
+ public static final CustomIcon InfinityInfusedShieldingCore = mAnimated ? new CustomIcon("InfinityInfusedShieldingCore") : new CustomIcon("InfinityInfusedShieldingCoreStatic");
+ public static final CustomIcon SpaceTimeBendingCore = mAnimated ? new CustomIcon("SpaceTimeBendingCore") : new CustomIcon("SpaceTimeBendingCoreStatic");
+ public static final CustomIcon ForceFieldGlass = new CustomIcon("ForceFieldGlass");
+ public static final CustomIcon ForceField = new CustomIcon("rendering/ForceField");
+ public static final CustomIcon Blank = new CustomIcon("Blank");
+ //spotless:on
+
+ // MACHINE_CASING_FARM_MANAGER_STRUCTURAL
+ // Farm Manager Casings
+ private static final CustomIcon Internal_Casing_Machine_Farm_Manager = new CustomIcon(
+ "TileEntities/MACHINE_CASING_FARM_MANAGER_STRUCTURAL");
+ public static final CustomIcon Casing_Machine_Farm_Manager = Internal_Casing_Machine_Farm_Manager;
+ // Acacia_Log
+ private static final CustomIcon Internal_Casing_Machine_Acacia_Log = new CustomIcon("TileEntities/log_acacia_top");
+ public static final CustomIcon Casing_Machine_Acacia_Log = Internal_Casing_Machine_Acacia_Log;
+ // Podzol Top
+ private static final CustomIcon Internal_Casing_Machine_Podzol = new CustomIcon("TileEntities/dirt_podzol_top");
+ public static final CustomIcon Casing_Machine_Podzol = Internal_Casing_Machine_Podzol;
+
+ // Structural Blocks
+ private static final CustomIcon Internal_Casing_Machine_Metal_Grate_A = new CustomIcon("chrono/MetalGrate");
+ public static final CustomIcon Casing_Machine_Metal_Grate_A = Internal_Casing_Machine_Metal_Grate_A;
+
+ private static final CustomIcon Internal_Casing_Machine_Metal_Panel_A = new CustomIcon("chrono/MetalPanel");
+ public static final CustomIcon Casing_Machine_Metal_Panel_A = Internal_Casing_Machine_Metal_Panel_A;
+ private static final CustomIcon Internal_Casing_Machine_Metal_Sheet_A = new CustomIcon("chrono/MetalSheet");
+ public static final CustomIcon Casing_Machine_Metal_Sheet_A = Internal_Casing_Machine_Metal_Sheet_A;
+ private static final CustomIcon Internal_Casing_Machine_Metal_Sheet_H = new CustomIcon("chrono/MetalSheet8");
+ public static final CustomIcon Casing_Machine_Metal_Sheet_H = Internal_Casing_Machine_Metal_Sheet_H;
+ private static final CustomIcon Internal_Casing_Machine_Metal_Sheet_I = new CustomIcon("chrono/MetalSheet9");
+ public static final CustomIcon Casing_Machine_Metal_Sheet_I = Internal_Casing_Machine_Metal_Sheet_I;
+ private static final CustomIcon Internal_Overlay_Machine_Cyber_A = new CustomIcon("chrono/CyberPanel");
+ public static final CustomIcon Overlay_Machine_Cyber_A = Internal_Overlay_Machine_Cyber_A;
+
+ public static final CustomIcon TEXTURE_CASING_AMAZON = new CustomIcon("TileEntities/CASING_AMAZON");
+ public static final CustomIcon TEXTURE_CASING_ADVANCED_CRYOGENIC = new CustomIcon(
+ "TileEntities/MACHINE_CASING_ADVANCED_CRYOGENIC");
+ public static final CustomIcon TEXTURE_CASING_ADVANCED_VOLCNUS = new CustomIcon(
+ "TileEntities/MACHINE_CASING_ADVANCED_VOLCANUS");
+ public static final CustomIcon TEXTURE_CASING_ROCKETDYNE = new CustomIcon("TileEntities/MACHINE_CASING_ROCKETDYNE");
+ public static final CustomIcon TEXTURE_CASING_GRINDING_MILL = new CustomIcon(
+ "TileEntities/MACHINE_CASING_GRINDING_FACTORY");
+ public static final CustomIcon TEXTURE_CASING_FLOTATION = new CustomIcon("TileEntities/MACHINE_CASING_FLOTATION");
+
+ // Custom Pipes
+ public static final CustomIcon TEXTURE_PIPE_GRINDING_MILL = new CustomIcon("TileEntities/MACHINE_CASING_PIPE_T1");
+ public static final CustomIcon TEXTURE_PIPE_GENERIC = new CustomIcon("iconsets/MACHINE_CASING_PIPE_GENERIC");
+
+ // Custom Gearboxes
+ public static final CustomIcon TEXTURE_GEARBOX_GRINDING_MILL = new CustomIcon(
+ "TileEntities/MACHINE_CASING_GEARBOX_T1");
+ public static final CustomIcon TEXTURE_GEARBOX_GENERIC = new CustomIcon("iconsets/MACHINE_CASING_GEARBOX_GENERIC");
+
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II = new CustomIcon("iconsets/MACHINE_CASING_FUSION_3");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_INNER = new CustomIcon(
+ "iconsets/MACHINE_CASING_FUSION_COIL_II");
+ public static final CustomIcon TEXTURE_CASING_FUSION_CASING_ULTRA = new CustomIcon(
+ "iconsets/MACHINE_CASING_FUSION_GLASS_ULTRA");
+
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III = new CustomIcon("iconsets/MACHINE_CASING_FUSION_4");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_INNER = new CustomIcon(
+ "iconsets/MACHINE_CASING_FUSION_COIL_III");
+ public static final CustomIcon TEXTURE_CASING_FUSION_CASING_HYPER = new CustomIcon(
+ "iconsets/MACHINE_CASING_FUSION_GLASS_HYPER");
+ //
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_1 = new CustomIcon("iconsets/FUSIONIII_1");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_2 = new CustomIcon("iconsets/FUSIONIII_2");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_3 = new CustomIcon("iconsets/FUSIONIII_3");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_4 = new CustomIcon("iconsets/FUSIONIII_4");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_5 = new CustomIcon("iconsets/FUSIONIII_5");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_6 = new CustomIcon("iconsets/FUSIONIII_6");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_7 = new CustomIcon("iconsets/FUSIONIII_7");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_8 = new CustomIcon("iconsets/FUSIONIII_8");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_9 = new CustomIcon("iconsets/FUSIONIII_9");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_10 = new CustomIcon("iconsets/FUSIONIII_10");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_11 = new CustomIcon("iconsets/FUSIONIII_11");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_II_12 = new CustomIcon("iconsets/FUSIONIII_12");
+
+ // MK5 Fusion casings
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_1 = new CustomIcon("iconsets/FUSIONIV_1");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_2 = new CustomIcon("iconsets/FUSIONIV_2");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_3 = new CustomIcon("iconsets/FUSIONIV_3");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_4 = new CustomIcon("iconsets/FUSIONIV_4");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_5 = new CustomIcon("iconsets/FUSIONIV_5");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_6 = new CustomIcon("iconsets/FUSIONIV_6");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_7 = new CustomIcon("iconsets/FUSIONIV_7");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_8 = new CustomIcon("iconsets/FUSIONIV_8");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_9 = new CustomIcon("iconsets/FUSIONIV_9");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_10 = new CustomIcon("iconsets/FUSIONIV_10");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_11 = new CustomIcon("iconsets/FUSIONIV_11");
+ public static final CustomIcon TEXTURE_CASING_FUSION_COIL_III_12 = new CustomIcon("iconsets/FUSIONIV_12");
+
+ // Overlays
+ // Fan Textures
+ private static final CustomIcon Internal_Overlay_Machine_Vent = new CustomIcon(
+ "TileEntities/machine_top_vent_rotating");
+ public static final CustomIcon Overlay_Machine_Vent = Internal_Overlay_Machine_Vent;
+ private static final CustomIcon Internal_Overlay_Machine_Vent_Fast = new CustomIcon(
+ "TileEntities/machine_top_vent_rotating_fast");
+ public static final CustomIcon Overlay_Machine_Vent_Fast = Internal_Overlay_Machine_Vent_Fast;
+ private static final CustomIcon Internal_Overlay_Machine_Vent_Adv = new CustomIcon(
+ "TileEntities/adv_machine_vent_rotating");
+ // Diesel Engines
+ private static final CustomIcon Internal_Overlay_Machine_Diesel_Vertical = new CustomIcon(
+ "TileEntities/machine_top_dieselmotor");
+ public static final CustomIcon Overlay_Machine_Diesel_Vertical = Internal_Overlay_Machine_Diesel_Vertical;
+ private static final CustomIcon Internal_Overlay_Machine_Diesel_Horizontal = new CustomIcon(
+ "TileEntities/machine_top_dieselmotor2");
+ public static final CustomIcon Overlay_Machine_Diesel_Horizontal = Internal_Overlay_Machine_Diesel_Horizontal;
+ private static final CustomIcon Internal_Overlay_Machine_Diesel_Vertical_Active = new CustomIcon(
+ "TileEntities/machine_top_dieselmotor_active");
+ public static final CustomIcon Overlay_Machine_Diesel_Vertical_Active = Internal_Overlay_Machine_Diesel_Vertical_Active;
+ private static final CustomIcon Internal_Overlay_Machine_Diesel_Horizontal_Active = new CustomIcon(
+ "TileEntities/machine_top_dieselmotor2_active");
+ public static final CustomIcon Overlay_Machine_Diesel_Horizontal_Active = Internal_Overlay_Machine_Diesel_Horizontal_Active;
+ // Computer Screens
+ private static final CustomIcon Internal_Casing_Machine_Screen_1 = new CustomIcon(
+ "TileEntities/adv_machine_screen_random1");
+ public static final CustomIcon Casing_Machine_Screen_1 = Internal_Casing_Machine_Screen_1;
+ private static final CustomIcon Internal_Casing_Machine_Screen_2 = new CustomIcon(
+ "TileEntities/adv_machine_screen_random2");
+ public static final CustomIcon Casing_Machine_Screen_2 = Internal_Casing_Machine_Screen_2;
+ private static final CustomIcon Internal_Casing_Machine_Screen_3 = new CustomIcon(
+ "TileEntities/adv_machine_screen_random3");
+ public static final CustomIcon Casing_Machine_Screen_3 = Internal_Casing_Machine_Screen_3;
+
+ private static final CustomIcon Internal_Casing_Machine_Screen_Rainbow = new CustomIcon(
+ "TileEntities/overlay_rainbowscreen");
+ public static final CustomIcon Casing_Machine_Screen_Rainbow = Internal_Casing_Machine_Screen_Rainbow;
+ private static final CustomIcon Internal_Casing_Machine_Screen_Frequency = new CustomIcon(
+ "TileEntities/adv_machine_screen_frequency");
+ public static final CustomIcon Casing_Machine_Screen_Frequency = Internal_Casing_Machine_Screen_Frequency;
+ private static final CustomIcon Internal_Overlay_Machine_Screen_Logo = new CustomIcon(
+ "TileEntities/adv_machine_screen_logo");
+ public static final CustomIcon Overlay_Machine_Screen_Logo = Internal_Overlay_Machine_Screen_Logo;
+
+ // Machine Controller Overlays
+ private static final CustomIcon Internal_Overlay_Machine_Controller_Default = new CustomIcon(
+ "iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED");
+ public static final CustomIcon Overlay_Machine_Controller_Default = Internal_Overlay_Machine_Controller_Default;
+ private static final CustomIcon Internal_Overlay_Machine_Controller_Default_Active = new CustomIcon(
+ "iconsets/OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ANIMATED_ACTIVE");
+ public static final CustomIcon Overlay_Machine_Controller_Default_Active = Internal_Overlay_Machine_Controller_Default_Active;
+
+ private static final CustomIcon Internal_Overlay_Machine_Controller_Advanced = new CustomIcon(
+ "iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED");
+ public static final CustomIcon Overlay_Machine_Controller_Advanced = Internal_Overlay_Machine_Controller_Advanced;
+ private static final CustomIcon Internal_Overlay_Machine_Controller_Advanced_Active = new CustomIcon(
+ "iconsets/OVERLAY_FRONT_ADVANCED_MULTIBLOCK_ANIMATED_ACTIVE");
+ public static final CustomIcon Overlay_Machine_Controller_Advanced_Active = Internal_Overlay_Machine_Controller_Advanced_Active;
+
+ // Crafting Overlays
+ public static final CustomIcon Casing_Adv_Workbench_Crafting_Overlay = new CustomIcon(
+ "TileEntities/gt4/machine_top_crafting");
+
+ public static final CustomIcon Casing_CropHarvester_Cutter = new CustomIcon("TileEntities/gt4/OVERLAY_CROP");
+ public static final CustomIcon Casing_CropHarvester_Boxes = new CustomIcon("TileEntities/gt4/OVERLAY_BOXES");
+
+ // Covers
+ private static final CustomIcon Internal_Overlay_Overflow_Valve = new CustomIcon("iconsets/OVERLAY_OVERFLOW_VALVE");
+ public static final CustomIcon Overlay_Overflow_Valve = Internal_Overlay_Overflow_Valve;
+
+ // Hatch Overlays
+ // Charger Texture
+ private static final CustomIcon Internal_Overlay_Hatch_Charger = new CustomIcon("TileEntities/cover_charger");
+ public static final CustomIcon Overlay_Hatch_Charger = Internal_Overlay_Hatch_Charger;
+ // Discharger Texture
+ private static final CustomIcon Internal_Overlay_Hatch_Discharger = new CustomIcon("TileEntities/cover_discharge");
+ public static final CustomIcon Overlay_Hatch_Discharger = Internal_Overlay_Hatch_Discharger;
+ // Advanced Muffler
+ private static final CustomIcon Internal_Overlay_Hatch_Muffler_Adv = new CustomIcon("iconsets/OVERLAY_MUFFLER_ADV");
+ public static final CustomIcon Overlay_Hatch_Muffler_Adv = Internal_Overlay_Hatch_Muffler_Adv;
+ // Milling Ball Bus
+ private static final CustomIcon Internal_Overlay_Bus_Milling_Balls = new CustomIcon(
+ "iconsets/OVERLAY_MILLING_BALL_BUS");
+ public static final CustomIcon Overlay_Bus_Milling_Balls = Internal_Overlay_Bus_Milling_Balls;
+ // Catalyst Bus
+ private static final CustomIcon Internal_Overlay_Bus_Catalyst = new CustomIcon("iconsets/OVERLAY_CATALYSTS");
+ public static final CustomIcon Overlay_Bus_Catalyst = Internal_Overlay_Bus_Catalyst;
+
+ // Data Orb Hatch
+ public static final CustomIcon Overlay_Hatch_Data_Orb = new CustomIcon("iconsets/OVERLAY_DATA_ORB");
+
+ // Dimensional
+ private static final CustomIcon Internal_Overlay_Machine_Dimensional_Orange = new CustomIcon(
+ "TileEntities/adv_machine_dimensional_cover_orange");
+ public static final CustomIcon Overlay_Machine_Dimensional_Orange = Internal_Overlay_Machine_Dimensional_Orange;
+ // Icons
+ private static final CustomIcon Internal_Overlay_MatterFab = new CustomIcon("TileEntities/adv_machine_matterfab");
+ public static final CustomIcon Overlay_MatterFab = Internal_Overlay_MatterFab;
+ private static final CustomIcon Internal_Overlay_MatterFab_Active = new CustomIcon(
+ "TileEntities/adv_machine_matterfab_active");
+ public static final CustomIcon Overlay_MatterFab_Active = Internal_Overlay_MatterFab_Active;
+
+ private static final CustomIcon Internal_Overlay_MatterFab_Animated = new CustomIcon(
+ "TileEntities/adv_machine_matterfab_animated");
+ public static final CustomIcon Overlay_MatterFab_Animated = Internal_Overlay_MatterFab_Animated;
+ private static final CustomIcon Internal_Overlay_MatterFab_Active_Animated = new CustomIcon(
+ "TileEntities/adv_machine_matterfab_active_animated");
+ public static final CustomIcon Overlay_MatterFab_Active_Animated = Internal_Overlay_MatterFab_Active_Animated;
+
+ private static final CustomIcon Internal_Overlay_Water = new CustomIcon("TileEntities/adv_machine_water");
+ public static final CustomIcon Overlay_Water = Internal_Overlay_Water;
+ private static final CustomIcon Internal_Overlay_UU_Matter = new CustomIcon("TileEntities/adv_machine_uum");
+ public static final CustomIcon Overlay_UU_Matter = Internal_Overlay_UU_Matter;
+
+ // GT++ Tiered Hulls
+ public static final CustomIcon TEXTURE_CASING_TIERED_ULV = new CustomIcon("iconsets/TieredHulls/CASING_ULV");
+ public static final CustomIcon TEXTURE_CASING_TIERED_LV = new CustomIcon("iconsets/TieredHulls/CASING_LV");
+ public static final CustomIcon TEXTURE_CASING_TIERED_MV = new CustomIcon("iconsets/TieredHulls/CASING_MV");
+ public static final CustomIcon TEXTURE_CASING_TIERED_HV = new CustomIcon("iconsets/TieredHulls/CASING_HV");
+ public static final CustomIcon TEXTURE_CASING_TIERED_EV = new CustomIcon("iconsets/TieredHulls/CASING_EV");
+ public static final CustomIcon TEXTURE_CASING_TIERED_IV = new CustomIcon("iconsets/TieredHulls/CASING_IV");
+ public static final CustomIcon TEXTURE_CASING_TIERED_LuV = new CustomIcon("iconsets/TieredHulls/CASING_LuV");
+ public static final CustomIcon TEXTURE_CASING_TIERED_ZPM = new CustomIcon("iconsets/TieredHulls/CASING_ZPM");
+ public static final CustomIcon TEXTURE_CASING_TIERED_UV = new CustomIcon("iconsets/TieredHulls/CASING_UV");
+ public static final CustomIcon TEXTURE_CASING_TIERED_MAX = new CustomIcon("iconsets/TieredHulls/CASING_MAX");
+
+ // Metroid related
+ public static final CustomIcon TEXTURE_METAL_PANEL_A = new CustomIcon("metro/TEXTURE_METAL_PANEL_A");
+ public static final CustomIcon TEXTURE_METAL_PANEL_B = new CustomIcon("metro/TEXTURE_METAL_PANEL_B");
+ public static final CustomIcon TEXTURE_METAL_PANEL_C = new CustomIcon("metro/TEXTURE_METAL_PANEL_C");
+ public static final CustomIcon TEXTURE_METAL_PANEL_D = new CustomIcon("metro/TEXTURE_METAL_PANEL_D");
+ public static final CustomIcon TEXTURE_METAL_PANEL_F = new CustomIcon("metro/TEXTURE_METAL_PANEL_F");
+
+ public static final CustomIcon TEXTURE_MAGIC_PANEL_A = new CustomIcon("metro/TEXTURE_MAGIC_A");
+ public static final CustomIcon TEXTURE_MAGIC_PANEL_B = new CustomIcon("metro/TEXTURE_MAGIC_B");
+
+ public static final CustomIcon TEXTURE_ORGANIC_PANEL_A_GLOWING = new CustomIcon(
+ "metro/TEXTURE_ORGANIC_PANEL_A_GLOWING");
+
+ public static final CustomIcon TEXTURE_STONE_RED_A = new CustomIcon("metro/TEXTURE_STONE_RED_A");
+ public static final CustomIcon TEXTURE_STONE_RED_B = new CustomIcon("metro/TEXTURE_STONE_RED_B");
+
+ public static final CustomIcon OVERLAY_SC_TURBINE1 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL1");
+ public static final CustomIcon OVERLAY_SC_TURBINE2 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL2");
+ public static final CustomIcon OVERLAY_SC_TURBINE3 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL3");
+ public static final CustomIcon OVERLAY_SC_TURBINE4 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL4");
+ public static final CustomIcon OVERLAY_SC_TURBINE5 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL5");
+ public static final CustomIcon OVERLAY_SC_TURBINE6 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL6");
+ public static final CustomIcon OVERLAY_SC_TURBINE7 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL7");
+ public static final CustomIcon OVERLAY_SC_TURBINE8 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL8");
+ public static final CustomIcon OVERLAY_SC_TURBINE9 = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE_IDEL9");
+
+ public static final CustomIcon OVERLAY_SC_TURBINE1_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE1");
+ public static final CustomIcon OVERLAY_SC_TURBINE2_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE2");
+ public static final CustomIcon OVERLAY_SC_TURBINE3_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE3");
+ public static final CustomIcon OVERLAY_SC_TURBINE4_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE4");
+ public static final CustomIcon OVERLAY_SC_TURBINE5_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE5");
+ public static final CustomIcon OVERLAY_SC_TURBINE6_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE6");
+ public static final CustomIcon OVERLAY_SC_TURBINE7_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE7");
+ public static final CustomIcon OVERLAY_SC_TURBINE8_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE8");
+ public static final CustomIcon OVERLAY_SC_TURBINE9_ACTIVE = new TexturesGtBlock.CustomIcon("iconsets/SC_TURBINE9");
+ public static final CustomIcon TEXTURE_TECH_A = new CustomIcon("metro/TEXTURE_TECH_A");
+ public static final CustomIcon TEXTURE_TECH_B = new CustomIcon("metro/TEXTURE_TECH_B");
+ public static final CustomIcon TEXTURE_TECH_C = new CustomIcon("metro/TEXTURE_TECH_C");
+
+ public static final CustomIcon TEXTURE_TECH_PANEL_D = new CustomIcon("metro/TEXTURE_TECH_PANEL_D");
+ public static final CustomIcon TEXTURE_TECH_PANEL_H = new CustomIcon("metro/TEXTURE_TECH_PANEL_H");
+
+ public static ITexture[] OVERLAYS_ENERGY_OUT_MULTI_BUFFER = new ITexture[] {
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 220, 220, 220, 0 }),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 220, 220, 220, 0 }),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 255, 100, 0, 0 }),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 255, 255, 30, 0 }),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 128, 128, 128, 0 }),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }),
+ new GT_RenderedTexture(OVERLAY_ENERGY_OUT_MULTI_BUFFER, new short[] { 240, 240, 245, 0 }) };
+
+ public static IIconContainer[] CONNECTED_FUSION_HULLS = new IIconContainer[] { TEXTURE_CASING_FUSION_COIL_II_1,
+ TEXTURE_CASING_FUSION_COIL_II_2, TEXTURE_CASING_FUSION_COIL_II_3, TEXTURE_CASING_FUSION_COIL_II_4,
+ TEXTURE_CASING_FUSION_COIL_II_5, TEXTURE_CASING_FUSION_COIL_II_6, TEXTURE_CASING_FUSION_COIL_II_7,
+ TEXTURE_CASING_FUSION_COIL_II_8, TEXTURE_CASING_FUSION_COIL_II_9, TEXTURE_CASING_FUSION_COIL_II_10,
+ TEXTURE_CASING_FUSION_COIL_II_11, TEXTURE_CASING_FUSION_COIL_II_12 };
+
+ public static IIconContainer[] CONNECTED_FUSION_HULLS_MK4 = new IIconContainer[] { TEXTURE_CASING_FUSION_COIL_III_1,
+ TEXTURE_CASING_FUSION_COIL_III_2, TEXTURE_CASING_FUSION_COIL_III_3, TEXTURE_CASING_FUSION_COIL_III_4,
+ TEXTURE_CASING_FUSION_COIL_III_5, TEXTURE_CASING_FUSION_COIL_III_6, TEXTURE_CASING_FUSION_COIL_III_7,
+ TEXTURE_CASING_FUSION_COIL_III_8, TEXTURE_CASING_FUSION_COIL_III_9, TEXTURE_CASING_FUSION_COIL_III_10,
+ TEXTURE_CASING_FUSION_COIL_III_11, TEXTURE_CASING_FUSION_COIL_III_12 };
+
+ public static IIconContainer[] TIERED_MACHINE_HULLS = new IIconContainer[] { TEXTURE_CASING_TIERED_ULV,
+ TEXTURE_CASING_TIERED_LV, TEXTURE_CASING_TIERED_MV, TEXTURE_CASING_TIERED_HV, TEXTURE_CASING_TIERED_EV,
+ TEXTURE_CASING_TIERED_IV, TEXTURE_CASING_TIERED_LuV, TEXTURE_CASING_TIERED_ZPM, TEXTURE_CASING_TIERED_UV,
+ TEXTURE_CASING_TIERED_MAX };
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java
new file mode 100644
index 0000000000..a9f74cd75d
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java
@@ -0,0 +1,51 @@
+package gtPlusPlus.xmod.gregtech.common.blocks.textures;
+
+import static gregtech.api.enums.Mods.GTPlusPlus;
+
+import net.minecraft.client.renderer.texture.TextureMap;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.IIconContainer;
+import gtPlusPlus.api.objects.Logger;
+
+public final class TexturesGtTools {
+
+ public static final CustomIcon ANGLE_GRINDER = new CustomIcon("iconsets/ANGLE_GRINDER");
+ public static final CustomIcon ELECTRIC_SNIPS = new CustomIcon("iconsets/ELECTRIC_SNIPS");
+
+ public static final class CustomIcon implements IIconContainer, Runnable {
+
+ private IIcon mIcon, mOverlay;
+ private final String mIconName;
+
+ public CustomIcon(final String aIconName) {
+ this.mIconName = aIconName;
+ Logger.INFO("Constructing a Custom Texture. " + this.mIconName);
+ GregTech_API.sGTItemIconload.add(this);
+ }
+
+ @Override
+ public IIcon getIcon() {
+ return this.mIcon;
+ }
+
+ @Override
+ public IIcon getOverlayIcon() {
+ return this.mOverlay;
+ }
+
+ @Override
+ public void run() {
+ this.mIcon = GregTech_API.sItemIcons.registerIcon(GTPlusPlus.ID + ":" + this.mIconName);
+ // Utils.LOG_INFO("Registering a Custom Texture. "+mIcon.g);
+ this.mOverlay = GregTech_API.sItemIcons.registerIcon(GTPlusPlus.ID + ":" + this.mIconName + "_OVERLAY");
+ }
+
+ @Override
+ public ResourceLocation getTextureFile() {
+ return TextureMap.locationItemsTexture;
+ }
+ }
+}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java
new file mode 100644
index 0000000000..c983044319
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/turbine/LargeTurbineTextureHandler.java
@@ -0,0 +1,410 @@
+package gtPlusPlus.xmod.gregtech.common.blocks.textures.turbine;
+
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS1;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS2;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS3;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS4;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS5;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS6;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS7;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS8;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS9;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE1;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE2;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE3;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE4;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE5;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE6;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE7;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE8;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_SS_ACTIVE9;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST1;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST2;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST3;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST4;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST5;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST6;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST7;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST8;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST9;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE1;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE2;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE3;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE4;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE5;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE6;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE7;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE8;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_ST_ACTIVE9;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI1;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI2;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI3;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI4;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI5;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI6;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI7;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI8;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI9;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE1;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE2;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE3;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE4;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE5;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE6;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE7;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE8;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TI_ACTIVE9;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU1;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU2;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU3;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU4;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU5;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU6;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU7;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU8;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU9;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE1;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE2;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE3;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE4;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE5;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE6;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE7;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE8;
+import static gregtech.api.enums.Textures.BlockIcons.LARGETURBINE_TU_ACTIVE9;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE1;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE1_ACTIVE;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE2;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE2_ACTIVE;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE3;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE3_ACTIVE;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE4;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE4_ACTIVE;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE5;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE5_ACTIVE;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE6;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE6_ACTIVE;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE7;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE7_ACTIVE;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE8;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE8_ACTIVE;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE9;
+import static gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock.OVERLAY_SC_TURBINE9_ACTIVE;
+
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.IBlockAccess;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Turbine;
+import gtPlusPlus.xmod.gregtech.common.blocks.GregtechMetaSpecialMultiCasings;
+
+public class LargeTurbineTextureHandler {
+
+ /**
+ * LP Turbines
+ */
+ public static IIcon[] OVERLAY_LP_TURBINE = new IIcon[] { LARGETURBINE_ST1.getIcon(), LARGETURBINE_ST2.getIcon(),
+ LARGETURBINE_ST3.getIcon(), LARGETURBINE_ST4.getIcon(), LARGETURBINE_ST5.getIcon(), LARGETURBINE_ST6.getIcon(),
+ LARGETURBINE_ST7.getIcon(), LARGETURBINE_ST8.getIcon(), LARGETURBINE_ST9.getIcon(), };
+
+ public static IIcon[] OVERLAY_LP_TURBINE_ACTIVE = new IIcon[] { LARGETURBINE_ST_ACTIVE1.getIcon(),
+ LARGETURBINE_ST_ACTIVE2.getIcon(), LARGETURBINE_ST_ACTIVE3.getIcon(), LARGETURBINE_ST_ACTIVE4.getIcon(),
+ LARGETURBINE_ST_ACTIVE5.getIcon(), LARGETURBINE_ST_ACTIVE6.getIcon(), LARGETURBINE_ST_ACTIVE7.getIcon(),
+ LARGETURBINE_ST_ACTIVE8.getIcon(), LARGETURBINE_ST_ACTIVE9.getIcon(), };
+
+ /**
+ * HP Turbines
+ */
+ public static IIcon[] OVERLAY_HP_TURBINE = new IIcon[] { LARGETURBINE_TI1.getIcon(), LARGETURBINE_TI2.getIcon(),
+ LARGETURBINE_TI3.getIcon(), LARGETURBINE_TI4.getIcon(), LARGETURBINE_TI5.getIcon(), LARGETURBINE_TI6.getIcon(),
+ LARGETURBINE_TI7.getIcon(), LARGETURBINE_TI8.getIcon(), LARGETURBINE_TI9.getIcon(), };
+
+ public static IIcon[] OVERLAY_HP_TURBINE_ACTIVE = new IIcon[] { LARGETURBINE_TI_ACTIVE1.getIcon(),
+ LARGETURBINE_TI_ACTIVE2.getIcon(), LARGETURBINE_TI_ACTIVE3.getIcon(), LARGETURBINE_TI_ACTIVE4.getIcon(),
+ LARGETURBINE_TI_ACTIVE5.getIcon(), LARGETURBINE_TI_ACTIVE6.getIcon(), LARGETURBINE_TI_ACTIVE7.getIcon(),
+ LARGETURBINE_TI_ACTIVE8.getIcon(), LARGETURBINE_TI_ACTIVE9.getIcon(), };
+
+ /**
+ * Gas Turbines
+ */
+ public static IIcon[] OVERLAY_GAS_TURBINE = new IIcon[] { LARGETURBINE_SS1.getIcon(), LARGETURBINE_SS2.getIcon(),
+ LARGETURBINE_SS3.getIcon(), LARGETURBINE_SS4.getIcon(), LARGETURBINE_SS5.getIcon(), LARGETURBINE_SS6.getIcon(),
+ LARGETURBINE_SS7.getIcon(), LARGETURBINE_SS8.getIcon(), LARGETURBINE_SS9.getIcon(), };
+
+ public static IIcon[] OVERLAY_GAS_TURBINE_ACTIVE = new IIcon[] { LARGETURBINE_SS_ACTIVE1.getIcon(),
+ LARGETURBINE_SS_ACTIVE2.getIcon(), LARGETURBINE_SS_ACTIVE3.getIcon(), LARGETURBINE_SS_ACTIVE4.getIcon(),
+ LARGETURBINE_SS_ACTIVE5.getIcon(), LARGETURBINE_SS_ACTIVE6.getIcon(), LARGETURBINE_SS_ACTIVE7.getIcon(),
+ LARGETURBINE_SS_ACTIVE8.getIcon(), LARGETURBINE_SS_ACTIVE9.getIcon(), };
+
+ /**
+ * Plasma Turbines
+ */
+ public static IIcon[] OVERLAY_PLASMA_TURBINE = new IIcon[] { LARGETURBINE_TU1.getIcon(), LARGETURBINE_TU2.getIcon(),
+ LARGETURBINE_TU3.getIcon(), LARGETURBINE_TU4.getIcon(), LARGETURBINE_TU5.getIcon(), LARGETURBINE_TU6.getIcon(),
+ LARGETURBINE_TU7.getIcon(), LARGETURBINE_TU8.getIcon(), LARGETURBINE_TU9.getIcon(), };
+
+ public static IIcon[] OVERLAY_PLASMA_TURBINE_ACTIVE = new IIcon[] { LARGETURBINE_TU_ACTIVE1.getIcon(),
+ LARGETURBINE_TU_ACTIVE2.getIcon(), LARGETURBINE_TU_ACTIVE3.getIcon(), LARGETURBINE_TU_ACTIVE4.getIcon(),
+ LARGETURBINE_TU_ACTIVE5.getIcon(), LARGETURBINE_TU_ACTIVE6.getIcon(), LARGETURBINE_TU_ACTIVE7.getIcon(),
+ LARGETURBINE_TU_ACTIVE8.getIcon(), LARGETURBINE_TU_ACTIVE9.getIcon(), };
+
+ public static IIcon[] OVERLAY_SC_TURBINE = new IIcon[] { OVERLAY_SC_TURBINE1.getIcon(),
+ OVERLAY_SC_TURBINE2.getIcon(), OVERLAY_SC_TURBINE3.getIcon(), OVERLAY_SC_TURBINE4.getIcon(),
+ OVERLAY_SC_TURBINE5.getIcon(), OVERLAY_SC_TURBINE6.getIcon(), OVERLAY_SC_TURBINE7.getIcon(),
+ OVERLAY_SC_TURBINE8.getIcon(), OVERLAY_SC_TURBINE9.getIcon(), };
+
+ public static IIcon[] OVERLAY_SC_TURBINE_ACTIVE = new IIcon[] { OVERLAY_SC_TURBINE1_ACTIVE.getIcon(),
+ OVERLAY_SC_TURBINE2_ACTIVE.getIcon(), OVERLAY_SC_TURBINE3_ACTIVE.getIcon(),
+ OVERLAY_SC_TURBINE4_ACTIVE.getIcon(), OVERLAY_SC_TURBINE5_ACTIVE.getIcon(),
+ OVERLAY_SC_TURBINE6_ACTIVE.getIcon(), OVERLAY_SC_TURBINE7_ACTIVE.getIcon(),
+ OVERLAY_SC_TURBINE8_ACTIVE.getIcon(), OVERLAY_SC_TURBINE9_ACTIVE.getIcon(), };
+
+ public static IIcon handleCasingsGT(final IBlockAccess aWorld, final int xCoord, final int yCoord, final int zCoord,
+ final ForgeDirection side, final GregtechMetaSpecialMultiCasings i) {
+ final int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
+
+ // 0 shaft
+ // 1 LP
+ // 2 HP
+ // 3 Gas
+ // 4 Plasma
+
+ IIcon[] mGetCurrentTextureSet = null;
+ IIcon[] mGetCurrentTextureSet_ACTIVE = null;
+
+ if ((tMeta <= 0 || tMeta >= 5) && tMeta != 15) {
+ return GregtechMetaSpecialMultiCasings.getStaticIcon(side.ordinal(), (byte) tMeta);
+ } else {
+ if (tMeta == 1) {
+ mGetCurrentTextureSet = OVERLAY_LP_TURBINE;
+ mGetCurrentTextureSet_ACTIVE = OVERLAY_LP_TURBINE_ACTIVE;
+ } else if (tMeta == 2) {
+ mGetCurrentTextureSet = OVERLAY_HP_TURBINE;
+ mGetCurrentTextureSet_ACTIVE = OVERLAY_HP_TURBINE_ACTIVE;
+ } else if (tMeta == 3) {
+ mGetCurrentTextureSet = OVERLAY_GAS_TURBINE;
+ mGetCurrentTextureSet_ACTIVE = OVERLAY_GAS_TURBINE_ACTIVE;
+ } else if (tMeta == 4) {
+ mGetCurrentTextureSet = OVERLAY_PLASMA_TURBINE;
+ mGetCurrentTextureSet_ACTIVE = OVERLAY_PLASMA_TURBINE_ACTIVE;
+ } else {
+ mGetCurrentTextureSet = OVERLAY_SC_TURBINE;
+ mGetCurrentTextureSet_ACTIVE = OVERLAY_SC_TURBINE_ACTIVE;
+ }
+ if (mGetCurrentTextureSet == null || mGetCurrentTextureSet_ACTIVE == null) {
+ return GregtechMetaSpecialMultiCasings.getStaticIcon(side.ordinal(), (byte) tMeta);
+ }
+
+ if ((side == ForgeDirection.NORTH) || (side == ForgeDirection.SOUTH)) {
+ TileEntity tTileEntity;
+ IMetaTileEntity tMetaTileEntity;
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord + (side == ForgeDirection.SOUTH ? 1 : -1), yCoord - 1, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[0];
+ }
+ return mGetCurrentTextureSet[0];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord + (side == ForgeDirection.SOUTH ? 1 : -1), yCoord, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[3];
+ }
+ return mGetCurrentTextureSet[3];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord + (side == ForgeDirection.SOUTH ? 1 : -1), yCoord + 1, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[6];
+ }
+ return mGetCurrentTextureSet[6];
+ }
+ if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[1];
+ }
+ return mGetCurrentTextureSet[1];
+ }
+ if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[7];
+ }
+ return mGetCurrentTextureSet[7];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord + (side == ForgeDirection.NORTH ? 1 : -1), yCoord + 1, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[8];
+ }
+ return mGetCurrentTextureSet[8];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord + (side == ForgeDirection.NORTH ? 1 : -1), yCoord, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[5];
+ }
+ return mGetCurrentTextureSet[5];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord + (side == ForgeDirection.NORTH ? 1 : -1), yCoord - 1, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[2];
+ }
+ return mGetCurrentTextureSet[2];
+ }
+ } else if ((side == ForgeDirection.WEST) || (side == ForgeDirection.EAST)) {
+ TileEntity tTileEntity;
+ Object tMetaTileEntity;
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord, yCoord - 1, zCoord + (side == ForgeDirection.WEST ? 1 : -1))))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[0];
+ }
+ return mGetCurrentTextureSet[0];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord, yCoord, zCoord + (side == ForgeDirection.WEST ? 1 : -1))))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[3];
+ }
+ return mGetCurrentTextureSet[3];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord, yCoord + 1, zCoord + (side == ForgeDirection.WEST ? 1 : -1))))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[6];
+ }
+ return mGetCurrentTextureSet[6];
+ }
+ if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[1];
+ }
+ return mGetCurrentTextureSet[1];
+ }
+ if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord)))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[7];
+ }
+ return mGetCurrentTextureSet[7];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord, yCoord + 1, zCoord + (side == ForgeDirection.EAST ? 1 : -1))))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[8];
+ }
+ return mGetCurrentTextureSet[8];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord, yCoord, zCoord + (side == ForgeDirection.EAST ? 1 : -1))))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[5];
+ }
+ return mGetCurrentTextureSet[5];
+ }
+ if ((null != (tTileEntity = aWorld
+ .getTileEntity(xCoord, yCoord - 1, zCoord + (side == ForgeDirection.EAST ? 1 : -1))))
+ && ((tTileEntity instanceof IGregTechTileEntity))
+ && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == side)
+ && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()))
+ && ((tMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine))) {
+ if (isUsingAnimatedTexture(tTileEntity)) {
+ return mGetCurrentTextureSet_ACTIVE[2];
+ }
+ return mGetCurrentTextureSet[2];
+ }
+ }
+ }
+ return GregtechMetaSpecialMultiCasings.getStaticIcon(side.ordinal(), (byte) tMeta);
+ }
+
+ public static boolean isUsingAnimatedTexture(TileEntity tTileEntity) {
+ boolean aVal = true;
+ IGregTechTileEntity aTile;
+ if (tTileEntity instanceof IGregTechTileEntity) {
+ aTile = (IGregTechTileEntity) tTileEntity;
+ if (aTile != null) {
+ final IMetaTileEntity aMetaTileEntity = aTile.getMetaTileEntity();
+ if (aMetaTileEntity != null && aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine) {
+ aVal = ((GT_MetaTileEntity_Hatch_Turbine) aMetaTileEntity).getBaseMetaTileEntity()
+ .isActive();
+ // Logger.INFO("Returning "+aVal+" as Rotor Assembly controller status");
+ }
+ }
+ }
+ return aVal;
+ }
+
+ public static GT_MetaTileEntity_Hatch_Turbine isTurbineHatch(final IGregTechTileEntity aTileEntity) {
+ if (aTileEntity != null) {
+ final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
+ if (aMetaTileEntity != null && aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Turbine) {
+ return (GT_MetaTileEntity_Hatch_Turbine) aMetaTileEntity;
+ }
+ }
+ return null;
+ }
+}