GT5-Unofficial/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java

181 lines
11 KiB
Java
Raw Normal View History

2015-04-23 16:14:22 +00:00
/* 1: */ package gregtech.common.blocks;
/* 2: */
/* 3: */ import cpw.mods.fml.relauncher.Side;
/* 4: */ import cpw.mods.fml.relauncher.SideOnly;
/* 5: */ import gregtech.api.GregTech_API;
/* 6: */ import gregtech.api.enums.GT_Values;
/* 7: */ import gregtech.api.enums.ItemList;
/* 8: */ import gregtech.api.enums.Materials;
/* 9: */ import gregtech.api.enums.OreDictNames;
/* 10: */ import gregtech.api.enums.OrePrefixes;
/* 11: */ import gregtech.api.interfaces.IIconContainer;
/* 12: */ import gregtech.api.interfaces.IOreRecipeRegistrator;
/* 13: */ import gregtech.api.interfaces.internal.IGT_RecipeAdder;
/* 14: */ import gregtech.api.items.GT_Generic_Block;
/* 15: */ import gregtech.api.util.GT_ModHandler;
/* 16: */ import gregtech.api.util.GT_ModHandler.RecipeBits;
/* 17: */ import gregtech.api.util.GT_Utility;
/* 18: */ import java.util.List;
/* 19: */ import java.util.Random;
/* 20: */ import net.minecraft.block.Block;
/* 21: */ import net.minecraft.block.material.Material;
/* 22: */ import net.minecraft.client.renderer.texture.IIconRegister;
/* 23: */ import net.minecraft.creativetab.CreativeTabs;
/* 24: */ import net.minecraft.entity.EnumCreatureType;
/* 25: */ import net.minecraft.init.Blocks;
/* 26: */ import net.minecraft.item.Item;
/* 27: */ import net.minecraft.item.ItemBlock;
/* 28: */ import net.minecraft.item.ItemStack;
/* 29: */ import net.minecraft.util.IIcon;
/* 30: */ import net.minecraft.util.StatCollector;
/* 31: */ import net.minecraft.world.IBlockAccess;
/* 32: */ import net.minecraft.world.World;
/* 33: */
/* 34: */ public class GT_Block_Stones_Abstract
/* 35: */ extends GT_Generic_Block
/* 36: */ implements IOreRecipeRegistrator
/* 37: */ {
/* 38: */ public GT_Block_Stones_Abstract(Class<? extends ItemBlock> aItemClass, String aName)
/* 39: */ {
/* 40: 31 */ super(aItemClass, aName, Material.rock);
/* 41: 32 */ OrePrefixes.crafting.add(this);
/* 42: 33 */ setStepSound(soundTypeStone);
/* 43: 34 */ setCreativeTab(GregTech_API.TAB_GREGTECH_MATERIALS);
/* 44: 35 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 0), new ItemStack(this, 1, 7));
/* 45: 36 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 1), new ItemStack(this, 1, 0));
/* 46: 37 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 2), new ItemStack(this, 1, 0));
/* 47: 38 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 3), new ItemStack(this, 1, 0));
/* 48: 39 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 4), new ItemStack(this, 1, 0));
/* 49: 40 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 5), new ItemStack(this, 1, 0));
/* 50: 41 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 6), new ItemStack(this, 1, 0));
/* 51: 42 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 7), new ItemStack(this, 1, 0));
/* 52: 43 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 8), new ItemStack(this, 1, 15));
/* 53: 44 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 9), new ItemStack(this, 1, 8));
/* 54: 45 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 10), new ItemStack(this, 1, 8));
/* 55: 46 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 11), new ItemStack(this, 1, 8));
/* 56: 47 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 12), new ItemStack(this, 1, 8));
/* 57: 48 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 13), new ItemStack(this, 1, 8));
/* 58: 49 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 14), new ItemStack(this, 1, 8));
/* 59: 50 */ GT_ModHandler.addSmeltingRecipe(new ItemStack(this, 1, 15), new ItemStack(this, 1, 8));
/* 60: 51 */ GT_Values.RA.addAssemblerRecipe(new ItemStack(this, 1, 0), ItemList.Circuit_Integrated.getWithDamage(0L, 4L, new Object[0]), new ItemStack(this, 1, 3), 50, 4);
/* 61: 52 */ GT_Values.RA.addAssemblerRecipe(new ItemStack(this, 1, 8), ItemList.Circuit_Integrated.getWithDamage(0L, 4L, new Object[0]), new ItemStack(this, 1, 11), 50, 4);
/* 62: 53 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 1, 6), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "f", "X", Character.valueOf('X'), new ItemStack(this, 1, 7) });
/* 63: 54 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 1, 14), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "f", "X", Character.valueOf('X'), new ItemStack(this, 1, 15) });
/* 64: 55 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 1, 4), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "h", "X", Character.valueOf('X'), new ItemStack(this, 1, 3) });
/* 65: 56 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 1, 12), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "h", "X", Character.valueOf('X'), new ItemStack(this, 1, 11) });
/* 66: 57 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 1, 1), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "h", "X", Character.valueOf('X'), new ItemStack(this, 1, 0) });
/* 67: 58 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 1, 9), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "h", "X", Character.valueOf('X'), new ItemStack(this, 1, 8) });
/* 68: 59 */ GT_Values.RA.addForgeHammerRecipe(new ItemStack(this, 1, 3), new ItemStack(this, 1, 4), 16, 10);
/* 69: 60 */ GT_Values.RA.addForgeHammerRecipe(new ItemStack(this, 1, 11), new ItemStack(this, 1, 12), 16, 10);
/* 70: 61 */ GT_Values.RA.addForgeHammerRecipe(new ItemStack(this, 1, 0), new ItemStack(this, 1, 1), 16, 10);
/* 71: 62 */ GT_Values.RA.addForgeHammerRecipe(new ItemStack(this, 1, 8), new ItemStack(this, 1, 9), 16, 10);
/* 72: 63 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 4, 3), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "XX", "XX", Character.valueOf('X'), new ItemStack(this, 4, 0) });
/* 73: 64 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 4, 11), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "XX", "XX", Character.valueOf('X'), new ItemStack(this, 4, 8) });
/* 74: 65 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 4, 3), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "XX", "XX", Character.valueOf('X'), new ItemStack(this, 4, 7) });
/* 75: 66 */ GT_ModHandler.addCraftingRecipe(new ItemStack(this, 4, 11), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[] { "XX", "XX", Character.valueOf('X'), new ItemStack(this, 4, 15) });
/* 76: */ }
/* 77: */
/* 78: */ public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName, ItemStack aStack)
/* 79: */ {
/* 80: 71 */ if (aOreDictName.equals(OreDictNames.craftingLensWhite.toString()))
/* 81: */ {
/* 82: 72 */ GT_Values.RA.addLaserEngraverRecipe(new ItemStack(this, 1, 7), GT_Utility.copyAmount(0L, new Object[] { aStack }), new ItemStack(this, 1, 6), 50, 16);
/* 83: 73 */ GT_Values.RA.addLaserEngraverRecipe(new ItemStack(this, 1, 15), GT_Utility.copyAmount(0L, new Object[] { aStack }), new ItemStack(this, 1, 14), 50, 16);
/* 84: */ }
/* 85: */ }
/* 86: */
/* 87: */ public String getHarvestTool(int aMeta)
/* 88: */ {
/* 89: 79 */ return "pickaxe";
/* 90: */ }
/* 91: */
/* 92: */ public int getHarvestLevel(int aMeta)
/* 93: */ {
/* 94: 84 */ return 1;
/* 95: */ }
/* 96: */
/* 97: */ public float getBlockHardness(World aWorld, int aX, int aY, int aZ)
/* 98: */ {
/* 99: 89 */ return this.blockHardness = Blocks.stone.getBlockHardness(aWorld, aX, aY, aZ) * 3.0F;
/* 100: */ }
/* 101: */
/* 102: */ public String getUnlocalizedName()
/* 103: */ {
/* 104: 92 */ return this.mUnlocalizedName;
/* 105: */ }
/* 106: */
/* 107: */ public String getLocalizedName()
/* 108: */ {
/* 109: 93 */ return StatCollector.translateToLocal(this.mUnlocalizedName + ".name");
/* 110: */ }
/* 111: */
/* 112: */ public boolean canBeReplacedByLeaves(IBlockAccess aWorld, int aX, int aY, int aZ)
/* 113: */ {
/* 114: 94 */ return false;
/* 115: */ }
/* 116: */
/* 117: */ public boolean isNormalCube(IBlockAccess aWorld, int aX, int aY, int aZ)
/* 118: */ {
/* 119: 95 */ return true;
/* 120: */ }
/* 121: */
/* 122: */ public boolean renderAsNormalBlock()
/* 123: */ {
/* 124: 96 */ return true;
/* 125: */ }
/* 126: */
/* 127: */ public boolean isOpaqueCube()
/* 128: */ {
/* 129: 97 */ return true;
/* 130: */ }
/* 131: */
/* 132: */ public IIcon getIcon(int aSide, int aMeta)
/* 133: */ {
/* 134: 98 */ if ((aMeta >= 0) && (aMeta < 16)) {
/* 135: 98 */ return gregtech.api.enums.Textures.BlockIcons.GRANITES[aMeta].getIcon();
/* 136: */ }
/* 137: 98 */ return null;
/* 138: */ }
/* 139: */
/* 140: */ public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z)
/* 141: */ {
/* 142:102 */ return world.getBlockMetadata(x, y, z) % 8 < 3;
/* 143: */ }
/* 144: */
/* 145: */ public int damageDropped(int par1)
/* 146: */ {
/* 147:107 */ return par1 % 8 == 0 ? par1 + 1 : par1;
/* 148: */ }
/* 149: */
/* 150: */ public int getDamageValue(World par1World, int par2, int par3, int par4)
/* 151: */ {
/* 152:112 */ return par1World.getBlockMetadata(par2, par3, par4);
/* 153: */ }
/* 154: */
/* 155: */ public int quantityDropped(Random par1Random)
/* 156: */ {
/* 157:117 */ return 1;
/* 158: */ }
/* 159: */
/* 160: */ public Item getItemDropped(int par1, Random par2Random, int par3)
/* 161: */ {
/* 162:122 */ return Item.getItemFromBlock(this);
/* 163: */ }
/* 164: */
/* 165: */ @SideOnly(Side.CLIENT)
/* 166: */ public void registerBlockIcons(IIconRegister aIconRegister) {}
/* 167: */
/* 168: */ @SideOnly(Side.CLIENT)
/* 169: */ public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList)
/* 170: */ {
/* 171:133 */ for (int i = 0; i < 16; i++) {
/* 172:133 */ aList.add(new ItemStack(aItem, 1, i));
/* 173: */ }
/* 174: */ }
/* 175: */ }
/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
* Qualified Name: gregtech.common.blocks.GT_Block_Stones_Abstract
* JD-Core Version: 0.7.0.1
*/