aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/GoodGenerator/Blocks/RegularBlock
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/GoodGenerator/Blocks/RegularBlock')
-rw-r--r--src/main/java/GoodGenerator/Blocks/RegularBlock/Casing.java3
-rw-r--r--src/main/java/GoodGenerator/Blocks/RegularBlock/ComplexTextureCasing.java58
2 files changed, 59 insertions, 2 deletions
diff --git a/src/main/java/GoodGenerator/Blocks/RegularBlock/Casing.java b/src/main/java/GoodGenerator/Blocks/RegularBlock/Casing.java
index 271079a590..b450bc5cac 100644
--- a/src/main/java/GoodGenerator/Blocks/RegularBlock/Casing.java
+++ b/src/main/java/GoodGenerator/Blocks/RegularBlock/Casing.java
@@ -25,12 +25,11 @@ public class Casing extends Block {
String[] textureNames;
protected String name;
- public Casing(String name, String[] texture, CreativeTabs Tab){
+ public Casing(String name) {
super(Material.iron);
this.setHardness(9.0F);
this.setResistance(5.0F);
this.name = name;
- this.textureNames = texture;
this.setHarvestLevel("wrench",2);
this.setCreativeTab(GoodGenerator.GG);
GregTech_API.registerMachineBlock(this, -1);
diff --git a/src/main/java/GoodGenerator/Blocks/RegularBlock/ComplexTextureCasing.java b/src/main/java/GoodGenerator/Blocks/RegularBlock/ComplexTextureCasing.java
new file mode 100644
index 0000000000..111ff1379a
--- /dev/null
+++ b/src/main/java/GoodGenerator/Blocks/RegularBlock/ComplexTextureCasing.java
@@ -0,0 +1,58 @@
+package GoodGenerator.Blocks.RegularBlock;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+import java.util.List;
+
+public class ComplexTextureCasing extends Casing{
+
+ @SideOnly(Side.CLIENT)
+ protected IIcon[] texture1, texture2;
+ String[] textureSide;
+ String[] textureTopAndDown;
+
+ public ComplexTextureCasing(String name, String[] textureSide, String[] textureTopAndDown){
+ super(name);
+ this.textureSide = textureSide;
+ this.textureTopAndDown = textureTopAndDown;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(int side, int meta) {
+ if (side < 2) {
+ return meta < this.texture2.length ? this.texture2[meta] : this.texture2[0];
+ }
+ else {
+ return meta < this.texture1.length ? this.texture1[meta] : this.texture1[0];
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister par1IconRegister) {
+ this.texture1 = new IIcon[this.textureSide.length];
+ for (int i = 0; i < this.textureSide.length; i++) {
+ this.texture1[i] = par1IconRegister.registerIcon(this.textureSide[i]);
+ }
+ this.texture2 = new IIcon[this.textureTopAndDown.length];
+ for (int i = 0; i < this.textureTopAndDown.length; i++) {
+ this.texture2[i] = par1IconRegister.registerIcon(this.textureTopAndDown[i]);
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ @SuppressWarnings("unchecked")
+ public void getSubBlocks(Item item, CreativeTabs tab, List list) {
+ for (int i = 0; i < Math.max(this.textureTopAndDown.length, this.textureTopAndDown.length); i++) {
+ list.add(new ItemStack(item, 1, i));
+ }
+ }
+}