aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/blocks
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common/blocks')
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings1.java11
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings2.java20
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings3.java8
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings4.java454
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings5.java104
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings6.java10
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings8.java13
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Casings_Abstract.java23
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Concretes.java31
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Granites.java7
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Machines.java391
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Metal.java6
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Ores.java25
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java27
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Ores_UB1.java6
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Ores_UB2.java6
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Ores_UB3.java6
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Reinforced.java56
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Stones.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java8
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Storage.java17
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings1.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings2.java4
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings3.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings4.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings5.java42
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings6.java5
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings8.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Casings_Abstract.java7
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Concretes.java4
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Granites.java3
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_LongDistancePipe.java39
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Machines.java47
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Ores.java7
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Stones_Abstract.java6
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Item_Storage.java6
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Material_Casings.java4
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Material_Machines.java6
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Material_Reinforced.java4
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Packet_Ores.java28
-rw-r--r--src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java87
41 files changed, 802 insertions, 741 deletions
diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Casings1.java b/src/main/java/gregtech/common/blocks/GT_Block_Casings1.java
index eb7c399eb0..2f8e248117 100644
--- a/src/main/java/gregtech/common/blocks/GT_Block_Casings1.java
+++ b/src/main/java/gregtech/common/blocks/GT_Block_Casings1.java
@@ -2,14 +2,13 @@ package gregtech.common.blocks;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
-import gregtech.api.objects.GT_CopiedBlockTexture;
+import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_LanguageManager;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
-public class GT_Block_Casings1
- extends GT_Block_Casings_Abstract {
+public class GT_Block_Casings1 extends GT_Block_Casings_Abstract {
/**
* Texture Index Information
@@ -28,8 +27,8 @@ public class GT_Block_Casings1
public GT_Block_Casings1() {
super(GT_Item_Casings1.class, "gt.blockcasings", GT_Material_Casings.INSTANCE);
- for (byte i = 0; i < 16; i = (byte) (i + 1)) {
- Textures.BlockIcons.casingTexturePages[0][i] = new GT_CopiedBlockTexture(this, 6, i);
+ for (int i = 0; i < 16; i++) {
+ Textures.BlockIcons.casingTexturePages[0][i] = TextureFactory.of(this, i);
}
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "ULV Machine Casing");
@@ -66,6 +65,7 @@ public class GT_Block_Casings1
ItemList.Casing_Coil_Superconductor.set(new ItemStack(this, 1, 15));
}
+ @Override
public IIcon getIcon(int aSide, int aMeta) {
if ((aMeta >= 0) && (aMeta < 16)) {
switch (aMeta) {
@@ -93,6 +93,7 @@ public class GT_Block_Casings1
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
}
+ @Override
public int colorMultiplier(IBlockAccess aWorld, int aX, int aY, int aZ) {
return aWorld.getBlockMetadata(aX, aY, aZ) > 9 ? super.colorMultiplier(aWorld, aX, aY, aZ) : gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[0] << 16 | gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[1] << 8 | gregtech.api.enums.Dyes.MACHINE_METAL.mRGBa[2];
}
diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Casings2.java b/src/main/java/gregtech/common/blocks/GT_Block_Casings2.java
index 6da2195921..f4f478b7be 100644
--- a/src/main/java/gregtech/common/blocks/GT_Block_Casings2.java
+++ b/src/main/java/gregtech/common/blocks/GT_Block_Casings2.java
@@ -3,7 +3,7 @@ package gregtech.common.blocks;
import gregtech.api.enums.Dyes;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
-import gregtech.api.objects.GT_CopiedBlockTexture;
+import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_LanguageManager;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
@@ -11,18 +11,18 @@ import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
-public class GT_Block_Casings2
- extends GT_Block_Casings_Abstract {
+public class GT_Block_Casings2 extends GT_Block_Casings_Abstract {
public GT_Block_Casings2() {
super(GT_Item_Casings2.class, "gt.blockcasings2", GT_Material_Casings.INSTANCE);
- for (byte i = 0; i < 16; i = (byte) (i + 1)) {
- if (i != 6){
- Textures.BlockIcons.casingTexturePages[0][(i + 16)] = new GT_CopiedBlockTexture(this, 6, i);
- }
- }
+ for (int i = 0; i < 16; i++) {
+ if (i != 6) {
+ Textures.BlockIcons.casingTexturePages[0][(i + 16)] = TextureFactory.of(this, i);
+ }
+ }
//Special handler for Pyrolyse Oven Casing on hatches...
- Textures.BlockIcons.casingTexturePages[0][22] = new GT_CopiedBlockTexture(Block.getBlockFromItem(ItemList.Casing_ULV.get(1).getItem()), 6, 0,Dyes.MACHINE_METAL.mRGBa);
+ Textures.BlockIcons.casingTexturePages[0][22] = TextureFactory.of(Block.getBlockFromItem(ItemList.Casing_ULV.get(1).getItem()), 0, ForgeDirection.UNKNOWN, Dyes.MACHINE_METAL.mRGBa);
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Solid Steel Machine Casing");
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Frost Proof Machine Casing");
@@ -59,6 +59,7 @@ public class GT_Block_Casings2
}
+ @Override
public IIcon getIcon(int aSide, int aMeta) {
switch (aMeta) {
case 0:
@@ -97,6 +98,7 @@ public class GT_Block_Casings2
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
}
+ @Override
public float getExplosionResistance(Entity aTNT, World aWorld, int aX, int aY, int aZ, double eX, double eY, double eZ) {
return aWorld.getBlockMetadata(aX, aY, aZ) == 8 ? Blocks.bedrock.getExplosionResistance(aTNT) : super.getExplosionResistance(aTNT, aWorld, aX, aY, aZ, eX, eY, eZ);
}
diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Casings3.java b/src/main/java/gregtech/common/blocks/GT_Block_Casings3.java
index fde793522a..81be342822 100644
--- a/src/main/java/gregtech/common/blocks/GT_Block_Casings3.java
+++ b/src/main/java/gregtech/common/blocks/GT_Block_Casings3.java
@@ -2,17 +2,16 @@ package gregtech.common.blocks;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
-import gregtech.api.objects.GT_CopiedBlockTexture;
+import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_LanguageManager;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
-public class GT_Block_Casings3
- extends GT_Block_Casings_Abstract {
+public class GT_Block_Casings3 extends GT_Block_Casings_Abstract {
public GT_Block_Casings3() {
super(GT_Item_Casings3.class, "gt.blockcasings3", GT_Material_Casings.INSTANCE);
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
- Textures.BlockIcons.casingTexturePages[0][(i + 32)] = new GT_CopiedBlockTexture(this, 6, i);
+ Textures.BlockIcons.casingTexturePages[0][(i + 32)] = TextureFactory.of(this, i);
}
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Yellow Stripes Block");
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Yellow Stripes Block");
@@ -48,6 +47,7 @@ public class GT_Block_Casings3
ItemList.Casing_Firebox_TungstenSteel.set(new ItemStack(this, 1, 15));
}
+ @Override
public IIcon getIcon(int aSide, int aMeta) {
switch (aMeta) {
case 0:
diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Casings4.java b/src/main/java/gregtech/common/blocks/GT_Block_Casings4.java
index 0dbf5e9f54..d217064d30 100644
--- a/src/main/java/gregtech/common/blocks/GT_Block_Casings4.java
+++ b/src/main/java/gregtech/common/blocks/GT_Block_Casings4.java
@@ -4,9 +4,8 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
-import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.objects.GT_CopiedBlockTexture;
+import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_LanguageManager;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_LargeTurbine;
import net.minecraft.item.ItemStack;
@@ -14,14 +13,28 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
-public class GT_Block_Casings4
- extends GT_Block_Casings_Abstract {
+public class GT_Block_Casings4 extends GT_Block_Casings_Abstract {
+ /**
+ * This mapping is used to look up which texture should be used to render the connected texture for fusion casings.
+ *
+ * This mapping is computed from that giant if ladder from #getIcon in commit da3421547afadc49938b5b6a7f9a9679afa1d570
+ * The exact meaning of these numbers are like black magic. Read the original getIcon implementation to understand why
+ * it is 0, 1, etc, if that if ladder is even intelligible.
+ */
+ private static final int[][] mapping = new int[][]{
+ {7, 7, 7, 7, 0, 7, 0, 7, 1, 7, 1, 7, 8, 7, 8, 7, 0, 7, 0, 7, 0, 7, 0, 7, 9, 7, 9, 7, 3, 7, 3, 7, 1, 7, 1, 7, 11, 7, 11, 7, 1, 7, 1, 7, 2, 7, 2, 7, 10, 7, 10, 7, 5, 7, 5, 7, 4, 7, 4, 7, 6, 7, 6, 7},
+ {7, 7, 7, 7, 0, 0, 7, 7, 1, 1, 7, 7, 8, 8, 7, 7, 0, 0, 7, 7, 0, 0, 7, 7, 9, 9, 7, 7, 3, 3, 7, 7, 1, 1, 7, 7, 11, 11, 7, 7, 1, 1, 7, 7, 2, 2, 7, 7, 10, 10, 7, 7, 5, 5, 7, 7, 4, 4, 7, 7, 6, 6, 7, 7},
+ {7, 1, 1, 1, 0, 9, 10, 4, 7, 1, 1, 1, 0, 9, 10, 4, 0, 8, 11, 2, 0, 3, 5, 6, 0, 8, 11, 2, 0, 3, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7},
+ {7, 1, 1, 1, 0, 8, 11, 2, 7, 7, 7, 7, 7, 7, 7, 7, 0, 9, 10, 4, 0, 3, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, 0, 8, 11, 2, 7, 7, 7, 7, 7, 7, 7, 7, 0, 9, 10, 4, 0, 3, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7},
+ {7, 1, 1, 1, 7, 1, 1, 1, 0, 8, 11, 2, 0, 8, 11, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 9, 10, 4, 0, 9, 10, 4, 0, 3, 5, 6, 0, 3, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7},
+ {7, 1, 1, 1, 7, 7, 7, 7, 0, 9, 10, 4, 7, 7, 7, 7, 7, 1, 1, 1, 7, 7, 7, 7, 0, 9, 10, 4, 7, 7, 7, 7, 0, 8, 11, 2, 7, 7, 7, 7, 0, 3, 5, 6, 7, 7, 7, 7, 0, 8, 11, 2, 7, 7, 7, 7, 0, 3, 5, 6, 7, 7, 7, 7},
+ };
public static boolean mConnectedMachineTextures = true;
public GT_Block_Casings4() {
super(GT_Item_Casings4.class, "gt.blockcasings4", GT_Material_Casings.INSTANCE);
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
- Textures.BlockIcons.casingTexturePages[0][(i + 48)] = new GT_CopiedBlockTexture(this, 6, i);
+ Textures.BlockIcons.casingTexturePages[0][i + 48] = TextureFactory.of(this, i);
}
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Robust Tungstensteel Machine Casing");
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Clean Stainless Steel Machine Casing");
@@ -56,21 +69,25 @@ public class GT_Block_Casings4
ItemList.Casing_Firebricks.set(new ItemStack(this, 1, 15));
}
+ @Override
public IIcon getIcon(int aSide, int aMeta) {
switch (aMeta) {
case 0:
+ case 12:
return Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon();
case 1:
+ case 10:
return Textures.BlockIcons.MACHINE_CASING_CLEAN_STAINLESSSTEEL.getIcon();
case 2:
+ case 11:
return Textures.BlockIcons.MACHINE_CASING_STABLE_TITANIUM.getIcon();
case 3:
return aSide > 1 ? Textures.BlockIcons.MACHINE_CASING_FIREBOX_TITANIUM.getIcon() : Textures.BlockIcons.MACHINE_CASING_STABLE_TITANIUM.getIcon();
case 4:
- //Do not overwrite!
+ //Do not overwrite!
return Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS_YELLOW.getIcon();
case 5:
- //Do not overwrite!
+ //Do not overwrite!
return Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS.getIcon();
case 6:
return Textures.BlockIcons.MACHINE_CASING_FUSION.getIcon();
@@ -80,12 +97,6 @@ public class GT_Block_Casings4
return Textures.BlockIcons.MACHINE_CASING_FUSION_2.getIcon();
case 9:
return Textures.BlockIcons.MACHINE_CASING_TURBINE.getIcon();
- case 10:
- return Textures.BlockIcons.MACHINE_CASING_CLEAN_STAINLESSSTEEL.getIcon();
- case 11:
- return Textures.BlockIcons.MACHINE_CASING_STABLE_TITANIUM.getIcon();
- case 12:
- return Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon();
case 13:
return Textures.BlockIcons.MACHINE_CASING_ENGINE_INTAKE.getIcon();
case 14:
@@ -98,8 +109,6 @@ public class GT_Block_Casings4
public IIcon getTurbineCasing(int meta, int iconIndex, boolean active) {
switch (meta) {
- case 9:
- return active ? Textures.BlockIcons.TURBINE_ACTIVE[iconIndex].getIcon() : Textures.BlockIcons.TURBINE[iconIndex].getIcon();
case 10:
return active ? Textures.BlockIcons.TURBINE_ACTIVE1[iconIndex].getIcon() : Textures.BlockIcons.TURBINE1[iconIndex].getIcon();
case 11:
@@ -111,120 +120,63 @@ public class GT_Block_Casings4
}
}
+ private static int isTurbineControllerWithSide(IBlockAccess aWorld, int aX, int aY, int aZ, int aSide) {
+ TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
+ if (!(tTileEntity instanceof IGregTechTileEntity)) return 0;
+ IGregTechTileEntity tTile = (IGregTechTileEntity) tTileEntity;
+ if (tTile.getMetaTileEntity() instanceof GT_MetaTileEntity_LargeTurbine && tTile.getFrontFacing() == aSide)
+ return tTile.isActive() ? 1 : 2;
+ return 0;
+ }
+
+ @Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int aSide) {
int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord);
- if ((tMeta != 6) && (tMeta != 8) && (tMeta != 9) && (tMeta != 10) && (tMeta != 11) && (tMeta != 12) || (!mConnectedMachineTextures)) {
+ if (tMeta != 6 && tMeta != 8 && tMeta != 9 && tMeta != 10 && tMeta != 11 && tMeta != 12 || !mConnectedMachineTextures) {
return getIcon(aSide, tMeta);
}
- int tStartIndex = tMeta == 6 ? 1 : 13;
- if ((tMeta == 9) || (tMeta == 10) || (tMeta == 11) || (tMeta == 12)) {
- if ((aSide == 2) || (aSide == 3)) {
- TileEntity tTileEntity;
- IMetaTileEntity tMetaTileEntity;
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord + (aSide == 3 ? 1 : -1), yCoord - 1, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 0, true);
- }
- return getTurbineCasing(tMeta, 0, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord + (aSide == 3 ? 1 : -1), yCoord, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 3, true);
- }
- return getTurbineCasing(tMeta, 3, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord + (aSide == 3 ? 1 : -1), yCoord + 1, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 6, true);
- }
- return getTurbineCasing(tMeta, 6, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 1, true);
- }
- return getTurbineCasing(tMeta, 1, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 7, true);
- }
- return getTurbineCasing(tMeta, 7, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord + (aSide == 2 ? 1 : -1), yCoord + 1, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 8, true);
- }
- return getTurbineCasing(tMeta, 8, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord + (aSide == 2 ? 1 : -1), yCoord, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 5, true);
- }
- return getTurbineCasing(tMeta, 5, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord + (aSide == 2 ? 1 : -1), yCoord - 1, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 2, true);
- }
- return getTurbineCasing(tMeta, 2, false);
- }
- } else if ((aSide == 4) || (aSide == 5)) {
- TileEntity tTileEntity;
- Object tMetaTileEntity;
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord + (aSide == 4 ? 1 : -1)))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 0, true);
- }
- return getTurbineCasing(tMeta, 0, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord, zCoord + (aSide == 4 ? 1 : -1)))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 3, true);
- }
- return getTurbineCasing(tMeta, 3, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord + (aSide == 4 ? 1 : -1)))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 6, true);
- }
- return getTurbineCasing(tMeta, 6, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 1, true);
- }
- return getTurbineCasing(tMeta, 1, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 7, true);
- }
- return getTurbineCasing(tMeta, 7, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord + 1, zCoord + (aSide == 5 ? 1 : -1)))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 8, true);
- }
- return getTurbineCasing(tMeta, 8, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord, zCoord + (aSide == 5 ? 1 : -1)))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 5, true);
- }
- return getTurbineCasing(tMeta, 5, false);
- }
- if ((null != (tTileEntity = aWorld.getTileEntity(xCoord, yCoord - 1, zCoord + (aSide == 5 ? 1 : -1)))) && ((tTileEntity instanceof IGregTechTileEntity)) && (((IGregTechTileEntity) tTileEntity).getFrontFacing() == aSide) && (null != (tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity())) && ((tMetaTileEntity instanceof GT_MetaTileEntity_LargeTurbine))) {
- if (((IGregTechTileEntity) tTileEntity).isActive()) {
- return getTurbineCasing(tMeta, 2, true);
- }
- return getTurbineCasing(tMeta, 2, false);
- }
+ if (tMeta > 8 && tMeta < 13) {
+ int tInvertLeftRightMod = aSide % 2 * 2 - 1;
+ switch (aSide / 2) {
+ case 0:
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if (i == 0 && j == 0)
+ continue;
+ int tState;
+ if ((tState = isTurbineControllerWithSide(aWorld, xCoord + j, yCoord, zCoord + i, aSide)) != 0) {
+ return getTurbineCasing(tMeta, 4 - i * 3 - j, tState == 1);
+ }
+ }
+ }
+ break;
+ case 1:
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if (i == 0 && j == 0)
+ continue;
+ int tState;
+ if ((tState = isTurbineControllerWithSide(aWorld, xCoord + j, yCoord + i, zCoord, aSide)) != 0) {
+ return getTurbineCasing(tMeta, 4 + i * 3 - j * tInvertLeftRightMod, tState == 1);
+ }
+ }
+ }
+ break;
+ case 2:
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if (i == 0 && j == 0)
+ continue;
+ int tState;
+ if ((tState = isTurbineControllerWithSide(aWorld, xCoord, yCoord + i, zCoord + j, aSide)) != 0) {
+ return getTurbineCasing(tMeta, 4 + i * 3 + j * tInvertLeftRightMod, tState == 1);
+ }
+ }
+ }
+ break;
}
switch (tMeta) {
- case 9:
- return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
case 10:
return Textures.BlockIcons.MACHINE_CASING_CLEAN_STAINLESSSTEEL.getIcon();
case 11:
@@ -235,250 +187,18 @@ public class GT_Block_Casings4
return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon();
}
}
- boolean[] tConnectedSides = {(aWorld.getBlock(xCoord, yCoord - 1, zCoord) == this) && (aWorld.getBlockMetadata(xCoord, yCoord - 1, zCoord) == tMeta), (aWorld.getBlock(xCoord, yCoord + 1, zCoord) == this) && (aWorld.getBlockMetadata(xCoord, yCoord + 1, zCoord) == tMeta), (aWorld.getBlock(xCoord + 1, yCoord, zCoord) == this) && (aWorld.getBlockMetadata(xCoord + 1, yCoord, zCoord) == tMeta), (aWorld.getBlock(xCoord, yCoord, zCoord + 1) == this) && (aWorld.getBlockMetadata(xCoord, yCoord, zCoord + 1) == tMeta), (aWorld.getBlock(xCoord - 1, yCoord, zCoord) == this) && (aWorld.getBlockMetadata(xCoord - 1, yCoord, zCoord) == tMeta), (aWorld.getBlock(xCoord, yCoord, zCoord - 1) == this) && (aWorld.getBlockMetadata(xCoord, yCoord, zCoord - 1) == tMeta)};
- switch (aSide) {
- case 0:
- if (tConnectedSides[0]) {
- return Textures.BlockIcons.CONNECTED_HULLS[(tStartIndex + 7)].getIcon();
- }
- if ((tConnectedSides[4]) && (tConnectedSides[5]) && (tConnectedSides[2]) && (tConnectedSides[3])) {
- return Textures.BlockIcons.CONNECTED_HULLS[(tStartIndex + 6)].getIcon();
- }
- if ((!tConnectedSides[4]) && (tConnectedSides[5]) && (tConnectedSides[2]) && (tConnectedSides[3])) {
- return Textures.BlockIcons.CONNECTED_HULLS[(tStartIndex + 2)].getIcon();
- }
- if ((tConnectedSides[4]) && (!tConnectedSides[5]) && (tConnectedSides[2]) && (tConnectedSides[3])) {
- return Textures.BlockIcons.CONNECTED_HULLS[(tStartIndex + 3)].getIcon();
- }
- if ((tConnectedSides[4]) && (tConnectedSides[5])