Added Ores

There is glitches with textures on sides, need to be fixed
This commit is contained in:
TheDarkDnKTv 2020-08-05 13:26:19 +03:00
parent 998c08e50b
commit ff2e33bd49
3 changed files with 167 additions and 162 deletions

View file

@ -19,11 +19,13 @@ import gregtechmod.common.GT_Proxy;
import gregtechmod.common.GT_Worldgenerator; import gregtechmod.common.GT_Worldgenerator;
import gregtechmod.common.blocks.GT_BlockMetaID_Block; import gregtechmod.common.blocks.GT_BlockMetaID_Block;
import gregtechmod.common.blocks.GT_BlockMetaID_Machine; import gregtechmod.common.blocks.GT_BlockMetaID_Machine;
import gregtechmod.common.blocks.GT_BlockMetaID_Ore;
import gregtechmod.common.covers.GT_Cover_Generic; import gregtechmod.common.covers.GT_Cover_Generic;
import gregtechmod.common.covers.GT_Cover_None; import gregtechmod.common.covers.GT_Cover_None;
import gregtechmod.common.covers.GT_Cover_Redstone; import gregtechmod.common.covers.GT_Cover_Redstone;
import gregtechmod.common.items.GT_MetaBlock_Item; import gregtechmod.common.items.GT_MetaBlock_Item;
import gregtechmod.common.items.GT_MetaMachine_Item; import gregtechmod.common.items.GT_MetaMachine_Item;
import gregtechmod.common.items.GT_MetaOre_Item;
import gregtechmod.common.render.GT_Block_Renderer; import gregtechmod.common.render.GT_Block_Renderer;
import gregtechmod.loaders.misc.GT_CoverLoader; import gregtechmod.loaders.misc.GT_CoverLoader;
import gregtechmod.loaders.misc.GT_TooEasyModeLoader; import gregtechmod.loaders.misc.GT_TooEasyModeLoader;
@ -464,7 +466,7 @@ public class GT_Mod implements IGT_Mod, IGT_RecipeAdder {
GT_Log.log.info("GT_Mod: Adding Blocks."); GT_Log.log.info("GT_Mod: Adding Blocks.");
GameRegistry.registerBlock(GregTech_API.sBlockList[0] = new GT_BlockMetaID_Block (), GT_MetaBlock_Item.class , "GT_Block"); GameRegistry.registerBlock(GregTech_API.sBlockList[0] = new GT_BlockMetaID_Block (), GT_MetaBlock_Item.class , "GT_Block");
GameRegistry.registerBlock(GregTech_API.sBlockList[1] = new GT_BlockMetaID_Machine(), GT_MetaMachine_Item.class , GT_LanguageManager.mNameList1[0]); GameRegistry.registerBlock(GregTech_API.sBlockList[1] = new GT_BlockMetaID_Machine(), GT_MetaMachine_Item.class , GT_LanguageManager.mNameList1[0]);
// GameRegistry.registerBlock(GregTech_API.sBlockList[2] = new GT_BlockMetaID_Ore (), GT_MetaOre_Item.class , GT_LanguageManager.mNameList2[0]); GameRegistry.registerBlock(GregTech_API.sBlockList[2] = new GT_BlockMetaID_Ore (), GT_MetaOre_Item.class , GT_LanguageManager.mNameList2[0]);
// GameRegistry.registerBlock(GregTech_API.sBlockList[4] = new GT_BlockMetaID_Block2 (), GT_MetaBlock2_Item.class , GT_LanguageManager.mNameList3[0]); // GameRegistry.registerBlock(GregTech_API.sBlockList[4] = new GT_BlockMetaID_Block2 (), GT_MetaBlock2_Item.class , GT_LanguageManager.mNameList3[0]);
// GameRegistry.registerBlock(GregTech_API.sBlockList[3] = new GT_Block_LightSource (), ItemBlock.class , "GT_TransparentTileEntity" ); // GameRegistry.registerBlock(GregTech_API.sBlockList[3] = new GT_Block_LightSource (), ItemBlock.class , "GT_TransparentTileEntity" );
// GameRegistry.registerBlock(GregTech_API.sBlockList[5] = new GT_BlockMetaID_Stone1 (), GT_MetaStone1_Item.class , GT_LanguageManager.mNameList4[0]); // GameRegistry.registerBlock(GregTech_API.sBlockList[5] = new GT_BlockMetaID_Stone1 (), GT_MetaStone1_Item.class , GT_LanguageManager.mNameList4[0]);

View file

@ -4,6 +4,7 @@ import gregtechmod.GT_Mod;
import gregtechmod.api.GregTech_API; import gregtechmod.api.GregTech_API;
import gregtechmod.api.enums.Materials; import gregtechmod.api.enums.Materials;
import gregtechmod.api.enums.OrePrefixes; import gregtechmod.api.enums.OrePrefixes;
import gregtechmod.api.util.GT_Config;
import gregtechmod.api.util.GT_OreDictUnificator; import gregtechmod.api.util.GT_OreDictUnificator;
import java.util.ArrayList; import java.util.ArrayList;
@ -11,57 +12,58 @@ import java.util.List;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon; import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
public class GT_BlockMetaID_Ore extends Block { public class GT_BlockMetaID_Ore extends Block {
public Icon[] mIconsRed = new Icon[96], mIconsBlack = new Icon[96], mIconsStone = new Icon[96], mIconsNether = new Icon[96], mIconsEnd = new Icon[96], mIcons = new Icon[96]; public IIcon[] mIconsRed = new IIcon[96], mIconsBlack = new IIcon[96], mIconsStone = new IIcon[96], mIconsNether = new IIcon[96], mIconsEnd = new IIcon[96], mIcons = new IIcon[96];
public static final int Metablockcount = 16; public static final int Metablockcount = 16;
public GT_BlockMetaID_Ore(int aID) { public GT_BlockMetaID_Ore() {
super(aID, Material.rock); super(Material.rock);
setHardness(3.0F); setHardness(3.0F);
setResistance(10.0F); setResistance(10.0F);
setUnlocalizedName("BlockMetaID_Ore"); setBlockName("BlockMetaID_Ore");
setStepSound(Block.soundStoneFootstep); setStepSound(Block.soundTypeStone);
setCreativeTab(GregTech_API.TAB_GREGTECH); setCreativeTab(GregTech_API.TAB_GREGTECH);
MinecraftForge.setBlockHarvestLevel(this, 0, "pickaxe", 1); setHarvestLevel("pickaxe", 1, 0);
MinecraftForge.setBlockHarvestLevel(this, 1, "pickaxe", 1); setHarvestLevel("pickaxe", 1, 1);
MinecraftForge.setBlockHarvestLevel(this, 2, "pickaxe", 3); setHarvestLevel("pickaxe", 3, 2);
MinecraftForge.setBlockHarvestLevel(this, 3, "pickaxe", 2); setHarvestLevel("pickaxe", 2, 3);
MinecraftForge.setBlockHarvestLevel(this, 4, "pickaxe", 2); setHarvestLevel("pickaxe", 2, 4);
MinecraftForge.setBlockHarvestLevel(this, 5, "pickaxe", 1); setHarvestLevel("pickaxe", 1, 5);
MinecraftForge.setBlockHarvestLevel(this, 6, "pickaxe", 1); setHarvestLevel("pickaxe", 1, 6);
MinecraftForge.setBlockHarvestLevel(this, 7, "pickaxe", 2); setHarvestLevel("pickaxe", 2, 7);
MinecraftForge.setBlockHarvestLevel(this, 8, "pickaxe", 1); setHarvestLevel("pickaxe", 1, 8);
MinecraftForge.setBlockHarvestLevel(this, 9, "pickaxe", 2); setHarvestLevel("pickaxe", 2, 9);
MinecraftForge.setBlockHarvestLevel(this, 10, "pickaxe", 3); setHarvestLevel("pickaxe", 3, 10);
MinecraftForge.setBlockHarvestLevel(this, 11, "pickaxe", 3); setHarvestLevel("pickaxe", 3, 11);
MinecraftForge.setBlockHarvestLevel(this, 12, "pickaxe", 2); setHarvestLevel("pickaxe", 2, 12);
MinecraftForge.setBlockHarvestLevel(this, 13, "pickaxe", 2); setHarvestLevel("pickaxe", 2, 13);
MinecraftForge.setBlockHarvestLevel(this, 14, "pickaxe", 2); setHarvestLevel("pickaxe", 2, 14);
MinecraftForge.setBlockHarvestLevel(this, 15, "pickaxe", 2); setHarvestLevel("pickaxe", 2, 15);
} }
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister) { public void registerBlockIcons(IIconRegister par1IconRegister) {
for (int i = 0; i < 96; i++) mIcons[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GregTech_API.sConfiguration.system?"troll":"tile.Ore_Default"+ "/" + i)); for (int i = 0; i < 96; i++) mIcons[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GT_Config.system ? "troll" : "tile.Ore_Default"+ "/" + i));
for (int i = 0; i < 96; i++) mIconsStone[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GregTech_API.sConfiguration.system?"troll":"tile.Ore_Stone" + "/" + i)); for (int i = 0; i < 96; i++) mIconsStone[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GT_Config.system ? "troll" : "tile.Ore_Stone" + "/" + i));
for (int i = 0; i < 96; i++) mIconsNether[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GregTech_API.sConfiguration.system?"troll":"tile.Ore_Nether" + "/" + i)); for (int i = 0; i < 96; i++) mIconsNether[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GT_Config.system ? "troll" : "tile.Ore_Nether" + "/" + i));
for (int i = 0; i < 96; i++) mIconsEnd[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GregTech_API.sConfiguration.system?"troll":"tile.Ore_End" + "/" + i)); for (int i = 0; i < 96; i++) mIconsEnd[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GT_Config.system ? "troll" : "tile.Ore_End" + "/" + i));
for (int i = 0; i < 96; i++) mIconsBlack[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GregTech_API.sConfiguration.system?"troll":"tile.Ore_Black" + "/" + i)); for (int i = 0; i < 96; i++) mIconsBlack[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GT_Config.system ? "troll" : "tile.Ore_Black" + "/" + i));
for (int i = 0; i < 96; i++) mIconsRed[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GregTech_API.sConfiguration.system?"troll":"tile.Ore_Red" + "/" + i)); for (int i = 0; i < 96; i++) mIconsRed[i] = par1IconRegister.registerIcon(GregTech_API.TEXTURE_PATH_BLOCK + (GT_Config.system ? "troll" : "tile.Ore_Red" + "/" + i));
} }
@Override @Override
@ -80,7 +82,7 @@ public class GT_BlockMetaID_Ore extends Block {
} }
@Override @Override
public ArrayList<ItemStack> getBlockDropped(World aWorld, int aX, int aY, int aZ, int aMeta, int aFortune) { public ArrayList<ItemStack> getDrops(World aWorld, int aX, int aY, int aZ, int aMeta, int aFortune) {
ArrayList<ItemStack> rList = new ArrayList<ItemStack>(); ArrayList<ItemStack> rList = new ArrayList<ItemStack>();
switch (aMeta) { switch (aMeta) {
case 2: case 2:
@ -120,7 +122,7 @@ public class GT_BlockMetaID_Ore extends Block {
rList.add(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1)); rList.add(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 1));
break; break;
default: default:
rList.add(new ItemStack(blockID, 1, aMeta)); rList.add(new ItemStack(this, 1, aMeta));
break; break;
} }
return rList; return rList;
@ -133,8 +135,6 @@ public class GT_BlockMetaID_Ore extends Block {
@Override @Override
public float getBlockHardness(World world, int x, int y, int z) { public float getBlockHardness(World world, int x, int y, int z) {
if (world == null) return 0; if (world == null) return 0;
Integer tMeta = world.getBlockMetadata(x, y, z);
if (tMeta == null) tMeta = 0;
switch (world.getBlockMetadata(x, y, z)) { switch (world.getBlockMetadata(x, y, z)) {
case 1: return 3.0F; case 1: return 3.0F;
case 2: return 20.0F; case 2: return 20.0F;
@ -151,143 +151,143 @@ public class GT_BlockMetaID_Ore extends Block {
} }
public byte getStyle(IBlockAccess aWorld, int aX, int aY, int aZ) { public byte getStyle(IBlockAccess aWorld, int aX, int aY, int aZ) {
final int tStone = Block.stone.blockID, tNether = Block.netherrack.blockID, tEnd = Block.whiteStone.blockID; Block tBlock;
int tBlockID, tMeta; int tMeta;
tBlockID = aWorld.getBlockId(aX+1, aY, aZ); tBlock = aWorld.getBlock(aX + 1, aY, aZ);
if (tBlockID == tStone) return 0; if (tBlock == Blocks.stone) return 0;
if (tBlockID == tNether) return -1; if (tBlock == Blocks.netherrack) return -1;
if (tBlockID == tEnd) return +1; if (tBlock == Blocks.end_stone) return +1;
if (tBlockID != 0) { if (tBlock != Blocks.air) {
tMeta = aWorld.getBlockMetadata(aX+1, aY, aZ); tMeta = aWorld.getBlockMetadata(aX+1, aY, aZ);
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBlackGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBlackGranite")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBasalt")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBasalt")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneAbyssal")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneAbyssal")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedRock")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedRock")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedGranite")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedGranite")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneGranite")) return +2;
} }
tBlockID = aWorld.getBlockId(aX-1, aY, aZ); tBlock = aWorld.getBlock(aX - 1, aY, aZ);
if (tBlockID == tStone) return 0; if (tBlock == Blocks.stone) return 0;
if (tBlockID == tNether) return -1; if (tBlock == Blocks.netherrack) return -1;
if (tBlockID == tEnd) return +1; if (tBlock == Blocks.end_stone) return +1;
if (tBlockID != 0) { if (tBlock != Blocks.air) {
tMeta = aWorld.getBlockMetadata(aX-1, aY, aZ); tMeta = aWorld.getBlockMetadata(aX-1, aY, aZ);
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBlackGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBlackGranite")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBasalt")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBasalt")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneAbyssal")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneAbyssal")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedRock")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedRock")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedGranite")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedGranite")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneGranite")) return +2;
} }
tBlockID = aWorld.getBlockId(aX, aY+1, aZ); tBlock = aWorld.getBlock(aX, aY + 1, aZ);
if (tBlockID == tStone) return 0; if (tBlock == Blocks.stone) return 0;
if (tBlockID == tNether) return -1; if (tBlock == Blocks.netherrack) return -1;
if (tBlockID == tEnd) return +1; if (tBlock == Blocks.end_stone) return +1;
if (tBlockID != 0) { if (tBlock != Blocks.air) {
tMeta = aWorld.getBlockMetadata(aX, aY+1, aZ); tMeta = aWorld.getBlockMetadata(aX, aY+1, aZ);
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBlackGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBlackGranite")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBasalt")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBasalt")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneAbyssal")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneAbyssal")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedRock")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedRock")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedGranite")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedGranite")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneGranite")) return +2;
} }
tBlockID = aWorld.getBlockId(aX, aY-1, aZ); tBlock = aWorld.getBlock(aX, aY - 1, aZ);
if (tBlockID == tStone) return 0; if (tBlock == Blocks.stone) return 0;
if (tBlockID == tNether) return -1; if (tBlock == Blocks.netherrack) return -1;
if (tBlockID == tEnd) return +1; if (tBlock == Blocks.end_stone) return +1;
if (tBlockID != 0) { if (tBlock != Blocks.air) {
tMeta = aWorld.getBlockMetadata(aX, aY-1, aZ); tMeta = aWorld.getBlockMetadata(aX, aY-1, aZ);
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBlackGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBlackGranite")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBasalt")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBasalt")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneAbyssal")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneAbyssal")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedRock")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedRock")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedGranite")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedGranite")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneGranite")) return +2;
} }
tBlockID = aWorld.getBlockId(aX, aY, aZ+1); tBlock = aWorld.getBlock(aX, aY, aZ + 1);
if (tBlockID == tStone) return 0; if (tBlock == Blocks.stone) return 0;
if (tBlockID == tNether) return -1; if (tBlock == Blocks.netherrack) return -1;
if (tBlockID == tEnd) return +1; if (tBlock == Blocks.end_stone) return +1;
if (tBlockID != 0) { if (tBlock != Blocks.air) {
tMeta = aWorld.getBlockMetadata(aX, aY, aZ+1); tMeta = aWorld.getBlockMetadata(aX, aY, aZ+1);
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBlackGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBlackGranite")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBasalt")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBasalt")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneAbyssal")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneAbyssal")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedRock")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedRock")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedGranite")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedGranite")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneGranite")) return +2;
} }
tBlockID = aWorld.getBlockId(aX, aY, aZ-1); tBlock = aWorld.getBlock(aX, aY, aZ - 1);
if (tBlockID == tStone) return 0; if (tBlock == Blocks.stone) return 0;
if (tBlockID == tNether) return -1; if (tBlock == Blocks.netherrack) return -1;
if (tBlockID == tEnd) return +1; if (tBlock == Blocks.end_stone) return +1;
if (tBlockID != 0) { if (tBlock != Blocks.air) {
tMeta = aWorld.getBlockMetadata(aX, aY, aZ-1); tMeta = aWorld.getBlockMetadata(aX, aY, aZ-1);
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBlackGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBlackGranite")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneBasalt")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneBasalt")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneAbyssal")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneAbyssal")) return +2;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedRock")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedRock")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneRedGranite")) return +3; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneRedGranite")) return +3;
if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlockID, 1, tMeta), "stoneGranite")) return +2; if (GT_OreDictUnificator.isItemStackInstanceOf(new ItemStack(tBlock, 1, tMeta), "stoneGranite")) return +2;
} }
try { try {
if (aWorld instanceof World) { if (aWorld instanceof World) {
tBlockID = aWorld.getBlockId(aX+1, aY, aZ); tBlock = aWorld.getBlock(aX + 1, aY, aZ);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX+1, aY, aZ, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX+1, aY, aZ, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX+1, aY, aZ, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX+1, aY, aZ, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX+1, aY, aZ, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX+1, aY, aZ, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX-1, aY, aZ); tBlock = aWorld.getBlock(aX-1, aY, aZ);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX-1, aY, aZ, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX-1, aY, aZ, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX-1, aY, aZ, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX-1, aY, aZ, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX-1, aY, aZ, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX-1, aY, aZ, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX, aY+1, aZ); tBlock = aWorld.getBlock(aX, aY + 1, aZ);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY+1, aZ, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY+1, aZ, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY+1, aZ, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY+1, aZ, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY+1, aZ, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY+1, aZ, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX, aY-1, aZ); tBlock = aWorld.getBlock(aX, aY - 1, aZ);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY-1, aZ, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY-1, aZ, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY-1, aZ, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY-1, aZ, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY-1, aZ, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY-1, aZ, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX, aY, aZ+1); tBlock = aWorld.getBlock(aX, aY, aZ + 1);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY, aZ+1, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY, aZ+1, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY, aZ+1, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY, aZ+1, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY, aZ+1, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY, aZ+1, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX, aY, aZ-1); tBlock = aWorld.getBlock(aX, aY, aZ - 1);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY, aZ-1, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY, aZ-1, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY, aZ-1, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY, aZ-1, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable((World)aWorld, aX, aY, aZ-1, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen((World)aWorld, aX, aY, aZ-1, Blocks.end_stone)) return 1;
} else { } else {
tBlockID = aWorld.getBlockId(aX+1, aY, aZ); tBlock = aWorld.getBlock(aX + 1, aY, aZ);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX+1, aY, aZ, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX+1, aY, aZ, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX+1, aY, aZ, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX+1, aY, aZ, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX+1, aY, aZ, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX+1, aY, aZ, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX-1, aY, aZ); tBlock = aWorld.getBlock(aX - 1, aY, aZ);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX-1, aY, aZ, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX-1, aY, aZ, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX-1, aY, aZ, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX-1, aY, aZ, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX-1, aY, aZ, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX-1, aY, aZ, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX, aY+1, aZ); tBlock = aWorld.getBlock(aX, aY + 1, aZ);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY+1, aZ, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY+1, aZ, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY+1, aZ, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY+1, aZ, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY+1, aZ, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY+1, aZ, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX, aY-1, aZ); tBlock = aWorld.getBlock(aX, aY - 1, aZ);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY-1, aZ, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY-1, aZ, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY-1, aZ, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY-1, aZ, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY-1, aZ, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY-1, aZ, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX, aY, aZ+1); tBlock = aWorld.getBlock(aX, aY, aZ + 1);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY, aZ+1, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY, aZ+1, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY, aZ+1, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY, aZ+1, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY, aZ+1, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY, aZ+1, Blocks.end_stone)) return 1;
tBlockID = aWorld.getBlockId(aX, aY, aZ-1); tBlock = aWorld.getBlock(aX, aY, aZ - 1);
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY, aZ-1, tStone)) return 0; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY, aZ-1, Blocks.stone)) return 0;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY, aZ-1, tNether)) return -1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY, aZ-1, Blocks.netherrack)) return -1;
if (Block.blocksList[tBlockID] != null && Block.blocksList[tBlockID].isGenMineableReplaceable(null, aX, aY, aZ-1, tEnd)) return 1; if (tBlock != null && tBlock.isReplaceableOreGen(null, aX, aY, aZ-1, Blocks.end_stone)) return 1;
} }
} catch(Throwable e) {} } catch(Throwable e) {}
@ -295,13 +295,13 @@ public class GT_BlockMetaID_Ore extends Block {
} }
@Override @Override
public Icon getBlockTexture(IBlockAccess aWorld, int aX, int aY, int aZ, int aSide) { public IIcon getIcon(IBlockAccess aWorld, int aX, int aY, int aZ, int aSide) {
int tSide, aIndex = aWorld.getBlockMetadata(aX, aY, aZ)*6+((tSide = Math.abs(aSide^aX^aY^aZ))%6); int tSide, aIndex = aWorld.getBlockMetadata(aX, aY, aZ)*6+((tSide = Math.abs(aSide^aX^aY^aZ))%6);
if (aIndex < 0 || aIndex >= 96) return null; if (aIndex < 0 || aIndex >= 96) return null;
switch (getStyle(aWorld, aX, aY, aZ)) { switch (getStyle(aWorld, aX, aY, aZ)) {
case -1: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsNether[aIndex]; else return Block.netherrack.getBlockTextureFromSide(aSide); case -1: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsNether[aIndex]; else return Blocks.netherrack.getBlockTextureFromSide(aSide);
case 0: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsStone [aIndex]; else return Block.stone .getBlockTextureFromSide(aSide); case 0: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsStone [aIndex]; else return Blocks.stone .getBlockTextureFromSide(aSide);
case +1: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsEnd [aIndex]; else return Block.whiteStone.getBlockTextureFromSide(aSide); case +1: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsEnd [aIndex]; else return Blocks.end_stone .getBlockTextureFromSide(aSide);
case +2: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsBlack [aIndex]; else return GregTech_API.sBlockList[5].getIcon(aSide, 0); case +2: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsBlack [aIndex]; else return GregTech_API.sBlockList[5].getIcon(aSide, 0);
case +3: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsRed [aIndex]; else return GregTech_API.sBlockList[5].getIcon(aSide, 8); case +3: if (!GT_Mod.sInvisibleOres || tSide % 12 > 6) return mIconsRed [aIndex]; else return GregTech_API.sBlockList[5].getIcon(aSide, 8);
default: return mIcons[aIndex]; default: return mIcons[aIndex];
@ -309,7 +309,7 @@ public class GT_BlockMetaID_Ore extends Block {
} }
@Override @Override
public Icon getIcon(int aSide, int aMeta) { public IIcon getIcon(int aSide, int aMeta) {
if (aMeta < 0 || aMeta*6+aSide >= 96) return null; if (aMeta < 0 || aMeta*6+aSide >= 96) return null;
return mIconsStone[aMeta*6+aSide]; return mIconsStone[aMeta*6+aSide];
} }
@ -319,8 +319,10 @@ public class GT_BlockMetaID_Ore extends Block {
return par1World.getBlockMetadata(par2, par3, par4); return par1World.getBlockMetadata(par2, par3, par4);
} }
@Override @SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List) { @Override
@SuppressWarnings({ "rawtypes", "unchecked" })
public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) {
for (int i = 1; i < Metablockcount; i++) { for (int i = 1; i < Metablockcount; i++) {
par3List.add(new ItemStack(par1, 1, i)); par3List.add(new ItemStack(par1, 1, i));
} }

View file

@ -2,12 +2,13 @@ package gregtechmod.common.items;
import gregtechmod.api.GregTech_API; import gregtechmod.api.GregTech_API;
import gregtechmod.api.util.GT_LanguageManager; import gregtechmod.api.util.GT_LanguageManager;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class GT_MetaOre_Item extends ItemBlock { public class GT_MetaOre_Item extends ItemBlock {
public GT_MetaOre_Item(int par1) { public GT_MetaOre_Item(Block aBlock) {
super(par1); super(aBlock);
setMaxDamage(0); setMaxDamage(0);
setHasSubtypes(true); setHasSubtypes(true);
setUnlocalizedName(GT_LanguageManager.mNameList2[0]); setUnlocalizedName(GT_LanguageManager.mNameList2[0]);