From 51e269e3f59d6daefb03d121367900d28d38f504 Mon Sep 17 00:00:00 2001 From: Muramasa Date: Sat, 16 Jul 2016 23:48:25 +0100 Subject: Initial This is more of a test and resource for when I eventually rewrite the GT5U ore texture/metadata system. --- .../java/gregtech/common/blocks/GT_Block_Ores.java | 19 +++++++++- .../gregtech/common/blocks/GT_Block_Stones.java | 42 ++++++++++++++++++++++ .../gregtech/common/blocks/GT_TileEntity_Ores.java | 25 +++++++++++-- 3 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 src/main/java/gregtech/common/blocks/GT_Block_Stones.java (limited to 'src/main/java/gregtech/common/blocks') diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores.java index 07be0e3132..ea040bc0e4 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Ores.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores.java @@ -53,27 +53,40 @@ public class GT_Block_Ores GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 2000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 3000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 4000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 5000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 16000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 17000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 18000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 19000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 20000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 21000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + //GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 30000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + //GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 50000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + if ((GregTech_API.sGeneratedMaterials[i].mTypes & 0x8) != 0) { GT_OreDictUnificator.registerOre(OrePrefixes.ore.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i)); GT_OreDictUnificator.registerOre(OrePrefixes.oreNetherrack.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 1000)); GT_OreDictUnificator.registerOre(OrePrefixes.oreEndstone.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 2000)); GT_OreDictUnificator.registerOre(OrePrefixes.oreBlackgranite.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 3000)); - GT_OreDictUnificator.registerOre(OrePrefixes.oreRedgranite.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 4000)); + GT_OreDictUnificator.registerOre(OrePrefixes.oreRedgranite.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 4000)); + GT_OreDictUnificator.registerOre(OrePrefixes.oreMarble.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 5000)); + GT_OreDictUnificator.registerOre("oreIgneousStone", new ItemStack(this, 1, i + 21000)); + //GT_OreDictUnificator.registerOre("oreMetamorphicStone", new ItemStack(this, 1, i + 40000)); + //GT_OreDictUnificator.registerOre("oreSedimentaryStone", new ItemStack(this, 1, i + 50000)); if (tHideOres) { codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 1000)); codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 2000)); codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 3000)); codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 4000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 5000)); codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 16000)); codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 17000)); codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 18000)); codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 19000)); codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 20000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 21000)); + //codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 40000)); + //codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 50000)); } } } @@ -251,11 +264,15 @@ public class GT_Block_Ores aList.add(new ItemStack(aItem, 1, i + 2000)); aList.add(new ItemStack(aItem, 1, i + 3000)); aList.add(new ItemStack(aItem, 1, i + 4000)); + aList.add(new ItemStack(aItem, 1, i + 5000)); aList.add(new ItemStack(aItem, 1, i + 16000)); aList.add(new ItemStack(aItem, 1, i + 17000)); aList.add(new ItemStack(aItem, 1, i + 18000)); aList.add(new ItemStack(aItem, 1, i + 19000)); aList.add(new ItemStack(aItem, 1, i + 20000)); + aList.add(new ItemStack(aItem, 1, i + 21000)); + //aList.add(new ItemStack(aItem, 1, i + 40000)); + //aList.add(new ItemStack(aItem, 1, i + 50000)); } } } diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Stones.java b/src/main/java/gregtech/common/blocks/GT_Block_Stones.java new file mode 100644 index 0000000000..973f04308e --- /dev/null +++ b/src/main/java/gregtech/common/blocks/GT_Block_Stones.java @@ -0,0 +1,42 @@ +package gregtech.common.blocks; + +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.entity.Entity; +import net.minecraft.entity.boss.EntityWither; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class GT_Block_Stones extends GT_Block_Stones_Abstract { + public GT_Block_Stones() { + super(GT_Item_Granites.class, "gt.blockstones"); + setResistance(60.0F); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "Marble"); + GT_OreDictUnificator.registerOre(OrePrefixes.stone, Materials.Stone, new ItemStack(this, 1, 0)); + } + + public int getHarvestLevel(int aMeta) { + return 3; + } + + public float getBlockHardness(World aWorld, int aX, int aY, int aZ) { + return this.blockHardness = Blocks.stone.getBlockHardness(aWorld, aX, aY, aZ) * 3.0F; + } + + public IIcon getIcon(int aSide, int aMeta) { + //if ((aMeta >= 0) && (aMeta < 16)) { + if (aMeta == 0) { + return gregtech.api.enums.Textures.BlockIcons.STONES[aMeta].getIcon(); + } + return gregtech.api.enums.Textures.BlockIcons.STONES[0].getIcon(); + } + + public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { + return !(entity instanceof EntityWither); + } +} diff --git a/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java b/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java index 787c1bc9f9..d4ba68e338 100644 --- a/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java +++ b/src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java @@ -1,5 +1,7 @@ package gregtech.common.blocks; +import exterminatorJeff.undergroundBiomes.common.UndergroundBiomes; +import exterminatorJeff.undergroundBiomes.common.block.BlockMetadataBase; import gregtech.GT_Mod; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; @@ -26,7 +28,8 @@ import java.util.Random; public class GT_TileEntity_Ores extends TileEntity implements ITexturedTileEntity { - private static final ITexture[] mStoneTextures = {new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.netherrack, 0, 0), new GT_CopiedBlockTexture(Blocks.end_stone, 0, 0), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_BLACK_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0)}; + //private static final ITexture[] mStoneTextures = {new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.netherrack, 0, 0), new GT_CopiedBlockTexture(Blocks.end_stone, 0, 0), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_BLACK_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 0), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 1), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 2), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 3), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 4), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 5), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 6), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 7), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 8), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 8)}; + private static final ITexture[] mStoneTextures = {new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_CopiedBlockTexture(Blocks.netherrack, 0, 0), new GT_CopiedBlockTexture(Blocks.end_stone, 0, 0), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_BLACK_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 0), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 1), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 2), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 3), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 4), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 5), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 6), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 7), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 8), new GT_CopiedBlockTexture(Blocks.stone, 0, 0)}; public short mMetaData = 0; public boolean mNatural = false; public boolean mBlocked = true; @@ -64,6 +67,15 @@ public class GT_TileEntity_Ores } else { aMetaData += 3000; } + } else if (tBlock instanceof BlockMetadataBase) { //TODO Implement config option + int aMeta = aWorld.getBlockMetadata(aX, aY, aZ); + if(tBlock == UndergroundBiomes.igneousStone) { + aMetaData += (21000 + (aMeta * 1000)); + } /*else if(tBlock == UndergroundBiomes.metamorphicStone && tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, UndergroundBiomes.metamorphicStone)) { + //aMetaData += (40000 + (aMeta * 1000)); + } else if(tBlock == UndergroundBiomes.sedimentaryStone && tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, UndergroundBiomes.sedimentaryStone)) { + //aMetaData += (50000 + (aMeta * 1000)); + }*/ } else if (!tBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.stone)) { return false; } @@ -122,6 +134,12 @@ public class GT_TileEntity_Ores } else { this.mMetaData = ((short) (this.mMetaData + 3000)); } + } else if (aOverridingStoneBlock.isReplaceableOreGen(this.worldObj, this.xCoord, this.yCoord, this.zCoord, GregTech_API.sBlockStones)) { + if (aOverridingStoneBlock == GregTech_API.sBlockStones) { + if (aOverridingStoneMeta == 0) { + this.mMetaData = ((short) (this.mMetaData + 5000)); + } + } } this.worldObj.setBlockMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, getHarvestData(this.mMetaData), 0); } @@ -225,8 +243,9 @@ public class GT_TileEntity_Ores public ITexture[] getTexture(byte aSide) { Materials aMaterial = GregTech_API.sGeneratedMaterials[(this.mMetaData % 1000)]; - if ((aMaterial != null) && (this.mMetaData < 32000)) { - return new ITexture[]{mStoneTextures[(this.mMetaData / 1000 % 16)], new GT_RenderedTexture(aMaterial.mIconSet.mTextures[this.mMetaData / 16000 == 0 ? OrePrefixes.ore.mTextureIndex : OrePrefixes.oreSmall.mTextureIndex], aMaterial.mRGBa)}; + if ((aMaterial != null) && (this.mMetaData < 32767)) { + System.out.println((this.mMetaData / 1000 % 31)); + return new ITexture[]{mStoneTextures[(this.mMetaData / 1000 % 31)], new GT_RenderedTexture(aMaterial.mIconSet.mTextures[!(this.mMetaData >=16000 && this.mMetaData <=20999) ? OrePrefixes.ore.mTextureIndex : OrePrefixes.oreSmall.mTextureIndex], aMaterial.mRGBa)}; } return new ITexture[]{mStoneTextures[0], new GT_RenderedTexture(gregtech.api.enums.TextureSet.SET_NONE.mTextures[OrePrefixes.ore.mTextureIndex])}; } -- cgit From de6e90a000b6a6c7c5f314cb8e4b311304cd775a Mon Sep 17 00:00:00 2001 From: Muramasa Date: Mon, 18 Jul 2016 19:00:53 +0100 Subject: Ore system rewrite --- .../java/gregtech/common/blocks/GT_Block_Ores.java | 234 +++------------------ .../common/blocks/GT_Block_Ores_Abstract.java | 208 ++++++++++++++++++ .../gregtech/common/blocks/GT_Block_Ores_UB1.java | 121 +++++++++++ .../gregtech/common/blocks/GT_Block_Ores_UB2.java | 121 +++++++++++ .../gregtech/common/blocks/GT_Block_Ores_UB3.java | 121 +++++++++++ .../gregtech/common/blocks/GT_TileEntity_Ores.java | 103 +++++---- 6 files changed, 662 insertions(+), 246 deletions(-) create mode 100644 src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java create mode 100644 src/main/java/gregtech/common/blocks/GT_Block_Ores_UB1.java create mode 100644 src/main/java/gregtech/common/blocks/GT_Block_Ores_UB2.java create mode 100644 src/main/java/gregtech/common/blocks/GT_Block_Ores_UB3.java (limited to 'src/main/java/gregtech/common/blocks') diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores.java index ea040bc0e4..2955afcfd8 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Ores.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores.java @@ -1,48 +1,26 @@ package gregtech.common.blocks; -import cpw.mods.fml.common.Loader; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.GT_Mod; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; -import gregtech.api.items.GT_Generic_Block; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.ITexture; +import gregtech.api.objects.GT_CopiedBlockTexture; +import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; -import gregtech.common.render.GT_Renderer_Block; -import net.minecraft.block.Block; -import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.boss.EntityDragon; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import java.util.ArrayList; import java.util.List; -public class GT_Block_Ores - extends GT_Generic_Block - implements ITileEntityProvider { - public static ThreadLocal mTemporaryTileEntity = new ThreadLocal(); - public static boolean FUCKING_LOCK = false; - +public class GT_Block_Ores extends GT_Block_Ores_Abstract { public GT_Block_Ores() { - super(GT_Item_Ores.class, "gt.blockores", Material.rock); - this.isBlockContainer = true; - setStepSound(soundTypeStone); - setCreativeTab(GregTech_API.TAB_GREGTECH_ORES); - boolean tHideOres = Loader.isModLoaded("NotEnoughItems") && GT_Mod.gregtechproxy.mHideUnusedOres; + super("gt.blockores", Material.rock); for (int i = 0; i < 16; i++) { GT_ModHandler.addValuableOre(this, i, 1); } @@ -59,9 +37,6 @@ public class GT_Block_Ores GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 18000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 19000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 20000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 21000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - //GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 30000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); - //GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 50000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); if ((GregTech_API.sGeneratedMaterials[i].mTypes & 0x8) != 0) { GT_OreDictUnificator.registerOre(OrePrefixes.ore.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i)); @@ -70,191 +45,35 @@ public class GT_Block_Ores GT_OreDictUnificator.registerOre(OrePrefixes.oreBlackgranite.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 3000)); GT_OreDictUnificator.registerOre(OrePrefixes.oreRedgranite.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 4000)); GT_OreDictUnificator.registerOre(OrePrefixes.oreMarble.get(GregTech_API.sGeneratedMaterials[i]), new ItemStack(this, 1, i + 5000)); - GT_OreDictUnificator.registerOre("oreIgneousStone", new ItemStack(this, 1, i + 21000)); - //GT_OreDictUnificator.registerOre("oreMetamorphicStone", new ItemStack(this, 1, i + 40000)); - //GT_OreDictUnificator.registerOre("oreSedimentaryStone", new ItemStack(this, 1, i + 50000)); - if (tHideOres) { - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 1000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 2000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 3000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 4000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 5000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 16000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 17000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 18000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 19000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 20000)); - codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 21000)); - //codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 40000)); - //codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 50000)); - } + if (tHideOres) { + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 1000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 2000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 3000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 4000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 5000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 16000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 17000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 18000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 19000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 20000)); + } } } } } - public void onNeighborChange(IBlockAccess aWorld, int aX, int aY, int aZ, int aTileX, int aTileY, int aTileZ) { - if (!FUCKING_LOCK) { - FUCKING_LOCK = true; - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if ((tTileEntity instanceof GT_TileEntity_Ores)) { - ((GT_TileEntity_Ores) tTileEntity).onUpdated(); - } - } - FUCKING_LOCK = false; - } - - public void onNeighborBlockChange(World aWorld, int aX, int aY, int aZ, Block aBlock) { - if (!FUCKING_LOCK) { - FUCKING_LOCK = true; - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if ((tTileEntity instanceof GT_TileEntity_Ores)) { - ((GT_TileEntity_Ores) tTileEntity).onUpdated(); - } - } - FUCKING_LOCK = false; - } - - public String getLocalizedName(Materials aMaterial) { - switch (aMaterial) { - case InfusedAir: - case InfusedDull: - case InfusedEarth: - case InfusedEntropy: - case InfusedFire: - case InfusedOrder: - case InfusedVis: - case InfusedWater: - return aMaterial.mDefaultLocalName + " Infused Stone"; - case Vermiculite: - case Bentonite: - case Kaolinite: - case Talc: - case BasalticMineralSand: - case GraniticMineralSand: - case GlauconiteSand: - case CassiteriteSand: - case GarnetSand: - case QuartzSand: - case Pitchblende: - case FullersEarth: - return aMaterial.mDefaultLocalName; - default: - return aMaterial.mDefaultLocalName + OrePrefixes.ore.mLocalizedMaterialPost; - } - } - - public boolean onBlockEventReceived(World p_149696_1_, int p_149696_2_, int p_149696_3_, int p_149696_4_, int p_149696_5_, int p_149696_6_) { - super.onBlockEventReceived(p_149696_1_, p_149696_2_, p_149696_3_, p_149696_4_, p_149696_5_, p_149696_6_); - TileEntity tileentity = p_149696_1_.getTileEntity(p_149696_2_, p_149696_3_, p_149696_4_); - return tileentity != null ? tileentity.receiveClientEvent(p_149696_5_, p_149696_6_) : false; - } - - public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { - return (!(entity instanceof EntityDragon)) && (super.canEntityDestroy(world, x, y, z, entity)); - } - - public String getHarvestTool(int aMeta) { - return aMeta < 8 ? "pickaxe" : "shovel"; - } - - public int getHarvestLevel(int aMeta) { - return aMeta % 8; - } - - public float getBlockHardness(World aWorld, int aX, int aY, int aZ) { - return 1.0F + getHarvestLevel(aWorld.getBlockMetadata(aX, aY, aZ)) * 1.0F; - } - - public float getExplosionResistance(Entity par1Entity, World aWorld, int aX, int aY, int aZ, double explosionX, double explosionY, double explosionZ) { - return 1.0F + getHarvestLevel(aWorld.getBlockMetadata(aX, aY, aZ)) * 1.0F; - } - - protected boolean canSilkHarvest() { - return false; - } - + @Override public String getUnlocalizedName() { return "gt.blockores"; } - public String getLocalizedName() { - return StatCollector.translateToLocal(getUnlocalizedName() + ".name"); - } - - public int getRenderType() { - if (GT_Renderer_Block.INSTANCE == null) { - return super.getRenderType(); - } - return GT_Renderer_Block.INSTANCE.mRenderID; - } - - public boolean canBeReplacedByLeaves(IBlockAccess aWorld, int aX, int aY, int aZ) { - return false; - } - - public boolean isNormalCube(IBlockAccess aWorld, int aX, int aY, int aZ) { - return true; - } - - public boolean hasTileEntity(int aMeta) { - return true; - } - - public boolean renderAsNormalBlock() { - return true; - } - - public boolean isOpaqueCube() { - return true; - } - - public TileEntity createNewTileEntity(World aWorld, int aMeta) { - return createTileEntity(aWorld, aMeta); - } - - public IIcon getIcon(IBlockAccess aIBlockAccess, int aX, int aY, int aZ, int aSide) { - return Blocks.stone.getIcon(0, 0); - } - - public IIcon getIcon(int aSide, int aMeta) { - return Blocks.stone.getIcon(0, 0); - } - - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister aIconRegister) { - } - - public int getDamageValue(World aWorld, int aX, int aY, int aZ) { - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if ((tTileEntity != null) && ((tTileEntity instanceof GT_TileEntity_Ores))) { - return ((GT_TileEntity_Ores) tTileEntity).getMetaData(); - } - return 0; - } - - public void breakBlock(World aWorld, int aX, int aY, int aZ, Block par5, int par6) { - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if ((tTileEntity instanceof GT_TileEntity_Ores)) { - mTemporaryTileEntity.set((GT_TileEntity_Ores) tTileEntity); - } - super.breakBlock(aWorld, aX, aY, aZ, par5, par6); - aWorld.removeTileEntity(aX, aY, aZ); - } - - public ArrayList getDrops(World aWorld, int aX, int aY, int aZ, int aMeta, int aFortune) { - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if ((tTileEntity instanceof GT_TileEntity_Ores)) { - return ((GT_TileEntity_Ores) tTileEntity).getDrops(aFortune); - } - return mTemporaryTileEntity.get() == null ? new ArrayList() : ((GT_TileEntity_Ores) mTemporaryTileEntity.get()).getDrops(aFortune); - } - - public TileEntity createTileEntity(World aWorld, int aMeta) { - return new GT_TileEntity_Ores(); + @Override + public ITexture[] getStoneTexture(byte aSide, int aMetaData, Materials aMaterial) { + ITexture[] mStoneTextures = {new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.netherrack, 0, 0), new GT_CopiedBlockTexture(Blocks.end_stone, 0, 0), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_BLACK_STONE), new GT_RenderedTexture(Textures.BlockIcons.GRANITE_RED_STONE), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_CopiedBlockTexture(Blocks.stone, 0, 0)}; + return new ITexture[]{mStoneTextures[(aMetaData / 1000 % 16)], new GT_RenderedTexture(aMaterial.mIconSet.mTextures[aMetaData / 16000 == 0 ? OrePrefixes.ore.mTextureIndex : OrePrefixes.oreSmall.mTextureIndex], aMaterial.mRGBa)}; } - @SideOnly(Side.CLIENT) + @Override public void getSubBlocks(Item aItem, CreativeTabs aTab, List aList) { for (int i = 0; i < GregTech_API.sGeneratedMaterials.length; i++) { Materials tMaterial = GregTech_API.sGeneratedMaterials[i]; @@ -270,10 +89,7 @@ public class GT_Block_Ores aList.add(new ItemStack(aItem, 1, i + 18000)); aList.add(new ItemStack(aItem, 1, i + 19000)); aList.add(new ItemStack(aItem, 1, i + 20000)); - aList.add(new ItemStack(aItem, 1, i + 21000)); - //aList.add(new ItemStack(aItem, 1, i + 40000)); - //aList.add(new ItemStack(aItem, 1, i + 50000)); } } } -} +} \ No newline at end of file diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java new file mode 100644 index 0000000000..865993a93f --- /dev/null +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java @@ -0,0 +1,208 @@ +package gregtech.common.blocks; + +import cpw.mods.fml.common.Loader; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.GT_Mod; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.ITexture; +import gregtech.api.items.GT_Generic_Block; +import gregtech.common.render.GT_Renderer_Block; +import net.minecraft.block.Block; +import net.minecraft.block.ITileEntityProvider; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.boss.EntityDragon; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +import java.util.ArrayList; +import java.util.List; + +public abstract class GT_Block_Ores_Abstract extends GT_Generic_Block implements ITileEntityProvider { + public static ThreadLocal mTemporaryTileEntity = new ThreadLocal(); + public static boolean FUCKING_LOCK = false; + public static boolean tHideOres; + + protected GT_Block_Ores_Abstract(String aUnlocalizedName, Material aMaterial) { + super(GT_Item_Ores.class, aUnlocalizedName, aMaterial); + this.isBlockContainer = true; + setStepSound(soundTypeStone); + setCreativeTab(GregTech_API.TAB_GREGTECH_ORES); + tHideOres = Loader.isModLoaded("NotEnoughItems") && GT_Mod.gregtechproxy.mHideUnusedOres; + } + + public void onNeighborChange(IBlockAccess aWorld, int aX, int aY, int aZ, int aTileX, int aTileY, int aTileZ) { + if (!FUCKING_LOCK) { + FUCKING_LOCK = true; + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if ((tTileEntity instanceof GT_TileEntity_Ores)) { + ((GT_TileEntity_Ores) tTileEntity).onUpdated(); + } + } + FUCKING_LOCK = false; + } + + public void onNeighborBlockChange(World aWorld, int aX, int aY, int aZ, Block aBlock) { + if (!FUCKING_LOCK) { + FUCKING_LOCK = true; + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if ((tTileEntity instanceof GT_TileEntity_Ores)) { + ((GT_TileEntity_Ores) tTileEntity).onUpdated(); + } + } + FUCKING_LOCK = false; + } + + public String getLocalizedName(Materials aMaterial) { + switch (aMaterial) { + case InfusedAir: + case InfusedDull: + case InfusedEarth: + case InfusedEntropy: + case InfusedFire: + case InfusedOrder: + case InfusedVis: + case InfusedWater: + return aMaterial.mDefaultLocalName + " Infused Stone"; + case Vermiculite: + case Bentonite: + case Kaolinite: + case Talc: + case BasalticMineralSand: + case GraniticMineralSand: + case GlauconiteSand: + case CassiteriteSand: + case GarnetSand: + case QuartzSand: + case Pitchblende: + case FullersEarth: + return aMaterial.mDefaultLocalName; + default: + return aMaterial.mDefaultLocalName + OrePrefixes.ore.mLocalizedMaterialPost; + } + } + + public boolean onBlockEventReceived(World p_149696_1_, int p_149696_2_, int p_149696_3_, int p_149696_4_, int p_149696_5_, int p_149696_6_) { + super.onBlockEventReceived(p_149696_1_, p_149696_2_, p_149696_3_, p_149696_4_, p_149696_5_, p_149696_6_); + TileEntity tileentity = p_149696_1_.getTileEntity(p_149696_2_, p_149696_3_, p_149696_4_); + return tileentity != null ? tileentity.receiveClientEvent(p_149696_5_, p_149696_6_) : false; + } + + public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { + return (!(entity instanceof EntityDragon)) && (super.canEntityDestroy(world, x, y, z, entity)); + } + + public String getHarvestTool(int aMeta) { + return aMeta < 8 ? "pickaxe" : "shovel"; + } + + public int getHarvestLevel(int aMeta) { + return aMeta % 8; + } + + public float getBlockHardness(World aWorld, int aX, int aY, int aZ) { + return 1.0F + getHarvestLevel(aWorld.getBlockMetadata(aX, aY, aZ)) * 1.0F; + } + + public float getExplosionResistance(Entity par1Entity, World aWorld, int aX, int aY, int aZ, double explosionX, double explosionY, double explosionZ) { + return 1.0F + getHarvestLevel(aWorld.getBlockMetadata(aX, aY, aZ)) * 1.0F; + } + + protected boolean canSilkHarvest() { + return false; + } + + public abstract String getUnlocalizedName(); + + public String getLocalizedName() { + return StatCollector.translateToLocal(getUnlocalizedName() + ".name"); + } + + public int getRenderType() { + if (GT_Renderer_Block.INSTANCE == null) { + return super.getRenderType(); + } + return GT_Renderer_Block.INSTANCE.mRenderID; + } + + public boolean canBeReplacedByLeaves(IBlockAccess aWorld, int aX, int aY, int aZ) { + return false; + } + + public boolean isNormalCube(IBlockAccess aWorld, int aX, int aY, int aZ) { + return true; + } + + public boolean hasTileEntity(int aMeta) { + return true; + } + + public boolean renderAsNormalBlock() { + return true; + } + + public boolean isOpaqueCube() { + return true; + } + + public TileEntity createNewTileEntity(World aWorld, int aMeta) { + return createTileEntity(aWorld, aMeta); + } + + public IIcon getIcon(IBlockAccess aIBlockAccess, int aX, int aY, int aZ, int aSide) { + return Blocks.stone.getIcon(0, 0); + } + + public IIcon getIcon(int aSide, int aMeta) { + return Blocks.stone.getIcon(0, 0); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister aIconRegister) { + } + + public int getDamageValue(World aWorld, int aX, int aY, int aZ) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if ((tTileEntity != null) && ((tTileEntity instanceof GT_TileEntity_Ores))) { + return ((GT_TileEntity_Ores) tTileEntity).getMetaData(); + } + return 0; + } + + public void breakBlock(World aWorld, int aX, int aY, int aZ, Block par5, int par6) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if ((tTileEntity instanceof GT_TileEntity_Ores)) { + mTemporaryTileEntity.set((GT_TileEntity_Ores) tTileEntity); + } + super.breakBlock(aWorld, aX, aY, aZ, par5, par6); + aWorld.removeTileEntity(aX, aY, aZ); + } + + public ArrayList getDrops(World aWorld, int aX, int aY, int aZ, int aMeta, int aFortune) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if ((tTileEntity instanceof GT_TileEntity_Ores)) { + return ((GT_TileEntity_Ores) tTileEntity).getDrops(aFortune); + } + return mTemporaryTileEntity.get() == null ? new ArrayList() : mTemporaryTileEntity.get().getDrops(aFortune); + } + + public TileEntity createTileEntity(World aWorld, int aMeta) { + return new GT_TileEntity_Ores(); + } + + @SideOnly(Side.CLIENT) + public abstract void getSubBlocks(Item aItem, CreativeTabs aTab, List aList); + + public abstract ITexture[] getStoneTexture(byte aSide, int aMetaData, Materials aMaterial); +} diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB1.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB1.java new file mode 100644 index 0000000000..881043e601 --- /dev/null +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB1.java @@ -0,0 +1,121 @@ +package gregtech.common.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import exterminatorJeff.undergroundBiomes.common.UndergroundBiomes; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.ITexture; +import gregtech.api.objects.GT_CopiedBlockTexture; +import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public class GT_Block_Ores_UB1 extends GT_Block_Ores_Abstract { + public GT_Block_Ores_UB1() { + super("gt.blockores.ub1", Material.rock); + for (int i = 0; i < 16; i++) { + GT_ModHandler.addValuableOre(this, i, 1); + } + for (int i = 1; i < GregTech_API.sGeneratedMaterials.length; i++) { + if (GregTech_API.sGeneratedMaterials[i] != null) { + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + i + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 1000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 2000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 3000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 4000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 5000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 6000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 7000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 8000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 9000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 10000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 11000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 12000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 13000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 14000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 15000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + if ((GregTech_API.sGeneratedMaterials[i].mTypes & 0x8) != 0) { + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 1000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 2000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 3000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 4000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 5000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 6000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 7000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 8000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 9000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 10000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 11000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 12000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 13000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 14000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 15000)); + if (tHideOres) { + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 1000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 2000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 3000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 4000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 5000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 6000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 7000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 8000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 9000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 10000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 11000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 12000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 13000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 14000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 15000)); + } + } + } + } + } + + @Override + public String getUnlocalizedName() { + return "gt.blockores.ub1"; + } + + @Override + public ITexture[] getStoneTexture(byte aSide, int aMetaData, Materials aMaterial) { + ITexture[] mStoneTextures = {new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 0), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 1), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 2), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 3), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 4), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 5), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 6), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 7), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 0), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 1), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 2), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 3), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 4), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 5), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 6), new GT_CopiedBlockTexture(UndergroundBiomes.igneousStone, 0, 7)}; + return new ITexture[]{mStoneTextures[(aMetaData / 1000 % 16)], new GT_RenderedTexture(aMaterial.mIconSet.mTextures[aMetaData < 8000 ? OrePrefixes.ore.mTextureIndex : OrePrefixes.oreSmall.mTextureIndex], aMaterial.mRGBa)}; + } + + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item aItem, CreativeTabs aTab, List aList) { + for (int i = 0; i < GregTech_API.sGeneratedMaterials.length; i++) { + Materials tMaterial = GregTech_API.sGeneratedMaterials[i]; + if ((tMaterial != null) && ((tMaterial.mTypes & 0x8) != 0)) { + aList.add(new ItemStack(aItem, 1, i)); + aList.add(new ItemStack(aItem, 1, i + 1000)); + aList.add(new ItemStack(aItem, 1, i + 2000)); + aList.add(new ItemStack(aItem, 1, i + 3000)); + aList.add(new ItemStack(aItem, 1, i + 4000)); + aList.add(new ItemStack(aItem, 1, i + 5000)); + aList.add(new ItemStack(aItem, 1, i + 6000)); + aList.add(new ItemStack(aItem, 1, i + 7000)); + aList.add(new ItemStack(aItem, 1, i + 8000)); + aList.add(new ItemStack(aItem, 1, i + 9000)); + aList.add(new ItemStack(aItem, 1, i + 10000)); + aList.add(new ItemStack(aItem, 1, i + 11000)); + aList.add(new ItemStack(aItem, 1, i + 12000)); + aList.add(new ItemStack(aItem, 1, i + 13000)); + aList.add(new ItemStack(aItem, 1, i + 14000)); + aList.add(new ItemStack(aItem, 1, i + 15000)); + } + } + } +} diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB2.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB2.java new file mode 100644 index 0000000000..34cca42da1 --- /dev/null +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB2.java @@ -0,0 +1,121 @@ +package gregtech.common.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import exterminatorJeff.undergroundBiomes.common.UndergroundBiomes; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.ITexture; +import gregtech.api.objects.GT_CopiedBlockTexture; +import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public class GT_Block_Ores_UB2 extends GT_Block_Ores_Abstract { + public GT_Block_Ores_UB2() { + super("gt.blockores.ub2", Material.rock); + for (int i = 0; i < 16; i++) { + GT_ModHandler.addValuableOre(this, i, 1); + } + for (int i = 1; i < GregTech_API.sGeneratedMaterials.length; i++) { + if (GregTech_API.sGeneratedMaterials[i] != null) { + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + i + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 1000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 2000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 3000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 4000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 5000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 6000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 7000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 8000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 9000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 10000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 11000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 12000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 13000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 14000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 15000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + if ((GregTech_API.sGeneratedMaterials[i].mTypes & 0x8) != 0) { + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 1000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 2000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 3000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 4000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 5000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 6000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 7000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 8000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 9000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 10000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 11000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 12000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 13000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 14000)); + GT_OreDictUnificator.registerOre("ore", new ItemStack(this, 1, i + 15000)); + if (tHideOres) { + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 1000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 2000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 3000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 4000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 5000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 6000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 7000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 8000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 9000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 10000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 11000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 12000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 13000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 14000)); + codechicken.nei.api.API.hideItem(new ItemStack(this, 1, i + 15000)); + } + } + } + } + } + + @Override + public String getUnlocalizedName() { + return "gt.blockores.ub2"; + } + + @Override + public ITexture[] getStoneTexture(byte aSide, int aMetaData, Materials aMaterial) { + ITexture[] mStoneTextures = {new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 0), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 1), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 2), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 3), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 4), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 5), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 6), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 7), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 0), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 1), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 2), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 3), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 4), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 5), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 6), new GT_CopiedBlockTexture(UndergroundBiomes.metamorphicStone, 0, 7)}; + return new ITexture[]{mStoneTextures[(aMetaData / 1000 % 16)], new GT_RenderedTexture(aMaterial.mIconSet.mTextures[aMetaData < 8000 ? OrePrefixes.ore.mTextureIndex : OrePrefixes.oreSmall.mTextureIndex], aMaterial.mRGBa)}; + } + + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item aItem, CreativeTabs aTab, List aList) { + for (int i = 0; i < GregTech_API.sGeneratedMaterials.length; i++) { + Materials tMaterial = GregTech_API.sGeneratedMaterials[i]; + if ((tMaterial != null) && ((tMaterial.mTypes & 0x8) != 0)) { + aList.add(new ItemStack(aItem, 1, i)); + aList.add(new ItemStack(aItem, 1, i + 1000)); + aList.add(new ItemStack(aItem, 1, i + 2000)); + aList.add(new ItemStack(aItem, 1, i + 3000)); + aList.add(new ItemStack(aItem, 1, i + 4000)); + aList.add(new ItemStack(aItem, 1, i + 5000)); + aList.add(new ItemStack(aItem, 1, i + 6000)); + aList.add(new ItemStack(aItem, 1, i + 7000)); + aList.add(new ItemStack(aItem, 1, i + 8000)); + aList.add(new ItemStack(aItem, 1, i + 9000)); + aList.add(new ItemStack(aItem, 1, i + 10000)); + aList.add(new ItemStack(aItem, 1, i + 11000)); + aList.add(new ItemStack(aItem, 1, i + 12000)); + aList.add(new ItemStack(aItem, 1, i + 13000)); + aList.add(new ItemStack(aItem, 1, i + 14000)); + aList.add(new ItemStack(aItem, 1, i + 15000)); + } + } + } +} diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB3.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB3.java new file mode 100644 index 0000000000..9a79577df9 --- /dev/null +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_UB3.java @@ -0,0 +1,121 @@ +package gregtech.common.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import exterminatorJeff.undergroundBiomes.common.UndergroundBiomes; +import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.ITexture; +import gregtech.api.objects.GT_CopiedBlockTexture; +import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import java.util.List; + +public class GT_Block_Ores_UB3 extends GT_Block_Ores_Abstract { + public GT_Block_Ores_UB3() { + super("gt.blockores.ub3", Material.rock); + for (int i = 0; i < 16; i++) { + GT_ModHandler.addValuableOre(this, i, 1); + } + for (int i = 1; i < GregTech_API.sGeneratedMaterials.length; i++) { + if (GregTech_API.sGeneratedMaterials[i] != null) { + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + i + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 1000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 2000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 3000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 4000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 5000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 6000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 7000) + ".name", getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 8000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 9000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 10000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 11000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 12000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMaterials[i])); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + "." + (i + 13000) + ".name", "Small " + getLocalizedName(GregTech_API.sGeneratedMa