diff options
Diffstat (limited to 'src/Java/miscutil/core/item/base')
10 files changed, 503 insertions, 17 deletions
diff --git a/src/Java/miscutil/core/item/base/bolts/BaseItemBolt.java b/src/Java/miscutil/core/item/base/bolts/BaseItemBolt.java new file mode 100644 index 0000000000..bff3b1f3c3 --- /dev/null +++ b/src/Java/miscutil/core/item/base/bolts/BaseItemBolt.java @@ -0,0 +1,75 @@ +package miscutil.core.item.base.bolts; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.util.GT_OreDictUnificator; + +import java.util.List; + +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; +import miscutil.core.util.Utils; +import miscutil.core.util.item.UtilsItems; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import cpw.mods.fml.common.registry.GameRegistry; + +public class BaseItemBolt extends Item{ + + protected int colour; + protected String materialName; + protected String unlocalName; + + public BaseItemBolt(String unlocalizedName, String materialName, int colour) { + setUnlocalizedName(unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMisc); + this.setUnlocalizedName(unlocalizedName); + this.unlocalName = unlocalizedName; + this.setMaxStackSize(64); + this.setTextureName(CORE.MODID + ":" + "itemBolt"); + this.colour = colour; + this.materialName = materialName; + GameRegistry.registerItem(this, unlocalizedName); + GT_OreDictUnificator.registerOre(unlocalName.replace("itemB", "b"), UtilsItems.getSimpleStack(this)); + addExtruderRecipe(); + } + + @Override + public String getItemStackDisplayName(ItemStack p_77653_1_) { + + return (materialName+ " Bolt"); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + if (materialName != null && materialName != "" && !materialName.equals("")){ + list.add(EnumChatFormatting.GRAY+"A small Bolt, constructed from " + materialName + "."); + } + super.addInformation(stack, aPlayer, list, bool); + } + + public final String getMaterialName() { + return materialName; + } + + @Override + public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) { + if (colour == 0){ + return Utils.generateSingularRandomHexValue(); + } + return colour; + + } + + private void addExtruderRecipe(){ + Utils.LOG_INFO("Adding recipe for "+materialName+" Bolts"); + String tempIngot = unlocalName.replace("itemBolt", "ingot"); + ItemStack tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 1); + if (null != tempOutputStack){ + GT_Values.RA.addExtruderRecipe(tempOutputStack, ItemList.Shape_Extruder_Bolt.get(1), UtilsItems.getSimpleStack(this, 8), 10*20, 24); + } + } + +} diff --git a/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java b/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java index bd9853d715..993ed9636b 100644 --- a/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java +++ b/src/Java/miscutil/core/item/base/dusts/BaseItemDust.java @@ -38,25 +38,25 @@ public class BaseItemDust extends Item{ GameRegistry.registerItem(this, unlocalizedName); String temp = ""; - Utils.LOG_INFO("Unlocalized name for OreDict nameGen: "+getUnlocalizedName()); + Utils.LOG_WARNING("Unlocalized name for OreDict nameGen: "+getUnlocalizedName()); if (getUnlocalizedName().contains("item.")){ temp = getUnlocalizedName().replace("item.", ""); - Utils.LOG_INFO("Generating OreDict Name: "+temp); + Utils.LOG_WARNING("Generating OreDict Name: "+temp); } else { temp = getUnlocalizedName(); } if (temp.contains("DustTiny")){ temp = temp.replace("itemD", "d"); - Utils.LOG_INFO("Generating OreDict Name: "+temp); + Utils.LOG_WARNING("Generating OreDict Name: "+temp); } else if (temp.contains("DustSmall")){ temp = temp.replace("itemD", "d"); - Utils.LOG_INFO("Generating OreDict Name: "+temp); + Utils.LOG_WARNING("Generating OreDict Name: "+temp); } else { temp = temp.replace("itemD", "d"); - Utils.LOG_INFO("Generating OreDict Name: "+temp); + Utils.LOG_WARNING("Generating OreDict Name: "+temp); } if (temp != null && temp != ""){ GT_OreDictUnificator.registerOre(temp, UtilsItems.getSimpleStack(this)); @@ -109,25 +109,25 @@ public class BaseItemDust extends Item{ ItemStack tempStack = UtilsItems.getSimpleStack(this); ItemStack tempOutput = null; String temp = ""; - Utils.LOG_INFO("Unlocalized name for OreDict nameGen: "+getUnlocalizedName()); + Utils.LOG_WARNING("Unlocalized name for OreDict nameGen: "+getUnlocalizedName()); if (getUnlocalizedName().contains("item.")){ temp = getUnlocalizedName().replace("item.", ""); - Utils.LOG_INFO("Generating OreDict Name: "+temp); + Utils.LOG_WARNING("Generating OreDict Name: "+temp); } else { temp = getUnlocalizedName(); } if (temp.contains("DustTiny")){ temp = temp.replace("itemDustTiny", "dust"); - Utils.LOG_INFO("Generating OreDict Name: "+temp); + Utils.LOG_WARNING("Generating OreDict Name: "+temp); } else if (temp.contains("DustSmall")){ temp = temp.replace("itemDustSmall", "dust"); - Utils.LOG_INFO("Generating OreDict Name: "+temp); + Utils.LOG_WARNING("Generating OreDict Name: "+temp); } else { temp = temp.replace("itemD", "d"); - Utils.LOG_INFO("Generating OreDict Name: "+temp); + Utils.LOG_WARNING("Generating OreDict Name: "+temp); } if (temp != null && temp != ""){ tempOutput = UtilsItems.getItemStackOfAmountFromOreDict(temp, 1); @@ -135,21 +135,21 @@ public class BaseItemDust extends Item{ if (tempOutput != null){ if (getUnlocalizedName().contains("DustTiny")){ - Utils.LOG_INFO("Generating a 9 Tiny dust to 1 Dust recipe for "+materialName); + Utils.LOG_WARNING("Generating a 9 Tiny dust to 1 Dust recipe for "+materialName); UtilsRecipe.addShapelessGregtechRecipe(tempOutput, tempStack, tempStack, tempStack, tempStack, tempStack, tempStack, tempStack, tempStack, tempStack); } else if (getUnlocalizedName().contains("DustSmall")){ - Utils.LOG_INFO("Generating a 4 Small dust to 1 Dust recipe for "+materialName); + Utils.LOG_WARNING("Generating a 4 Small dust to 1 Dust recipe for "+materialName); UtilsRecipe.addShapelessGregtechRecipe(tempOutput, tempStack, tempStack, null, tempStack, tempStack, null, null, null, null); } else { - Utils.LOG_INFO("Generating a shapeless Dust recipe for "+materialName); + Utils.LOG_WARNING("Generating a shapeless Dust recipe for "+materialName); UtilsRecipe.addShapelessGregtechRecipe(tempOutput, "dustTungsten", "dustTantalum", "dustTantalum", "dustTantalum", "dustTantalum", "dustTantalum", @@ -160,6 +160,7 @@ public class BaseItemDust extends Item{ } private void addMacerationRecipe(){ + Utils.LOG_INFO("Adding recipe for "+materialName+" Dusts"); String tempIngot = getUnlocalizedName().replace("item.itemDust", "ingot"); String tempDust = getUnlocalizedName().replace("item.itemDust", "dust"); @@ -170,17 +171,17 @@ public class BaseItemDust extends Item{ return; } - Utils.LOG_INFO("Unlocalized name for OreDict nameGen: "+getUnlocalizedName()); + Utils.LOG_WARNING("Unlocalized name for OreDict nameGen: "+getUnlocalizedName()); if (getUnlocalizedName().contains("item.")){ tempIngot = getUnlocalizedName().replace("item.", ""); - Utils.LOG_INFO("Generating OreDict Name: "+tempIngot); + Utils.LOG_WARNING("Generating OreDict Name: "+tempIngot); } else { tempIngot = getUnlocalizedName(); } tempIngot = tempIngot.replace("itemDust", "ingot"); - Utils.LOG_INFO("Generating OreDict Name: "+tempIngot); + Utils.LOG_WARNING("Generating OreDict Name: "+tempIngot); if (tempIngot != null && tempIngot != ""){ tempInputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 1); diff --git a/src/Java/miscutil/core/item/base/gears/BaseItemGear.java b/src/Java/miscutil/core/item/base/gears/BaseItemGear.java new file mode 100644 index 0000000000..b91a17ddd3 --- /dev/null +++ b/src/Java/miscutil/core/item/base/gears/BaseItemGear.java @@ -0,0 +1,75 @@ +package miscutil.core.item.base.gears; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.util.GT_OreDictUnificator; + +import java.util.List; + +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; +import miscutil.core.util.Utils; +import miscutil.core.util.item.UtilsItems; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import cpw.mods.fml.common.registry.GameRegistry; + +public class BaseItemGear extends Item{ + + protected int colour; + protected String materialName; + protected String unlocalName; + + public BaseItemGear(String unlocalizedName, String materialName, int colour) { + setUnlocalizedName(unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMisc); + this.setUnlocalizedName(unlocalizedName); + this.unlocalName = unlocalizedName; + this.setMaxStackSize(64); + this.setTextureName(CORE.MODID + ":" + "itemGear"); + this.colour = colour; + this.materialName = materialName; + GameRegistry.registerItem(this, unlocalizedName); + GT_OreDictUnificator.registerOre(unlocalName.replace("itemG", "g"), UtilsItems.getSimpleStack(this)); + addExtruderRecipe(); + } + + @Override + public String getItemStackDisplayName(ItemStack p_77653_1_) { + + return (materialName+ " Gear"); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + if (materialName != null && materialName != "" && !materialName.equals("")){ + list.add(EnumChatFormatting.GRAY+"A large Gear, constructed from " + materialName + "."); + } + super.addInformation(stack, aPlayer, list, bool); + } + + public final String getMaterialName() { + return materialName; + } + + @Override + public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) { + if (colour == 0){ + return Utils.generateSingularRandomHexValue(); + } + return colour; + + } + + private void addExtruderRecipe(){ + Utils.LOG_INFO("Adding recipe for "+materialName+" Gears"); + String tempIngot = unlocalName.replace("itemGear", "ingot"); + ItemStack tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 8); + if (null != tempOutputStack){ + GT_Values.RA.addExtruderRecipe(tempOutputStack, ItemList.Shape_Extruder_Gear.get(1), UtilsItems.getSimpleStack(this), 15*20, 24); + } + } + +} diff --git a/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java b/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java index 46d9d83dc7..bcf4aa935c 100644 --- a/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java +++ b/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java @@ -47,6 +47,7 @@ public class BaseItemIngotHot extends BaseItemIngot{ } private void generateRecipe(){ + Utils.LOG_INFO("Adding recipe for a Hot Ingot of "+materialName+"."); GT_Values.RA.addVacuumFreezerRecipe(UtilsItems.getSimpleStack(this), outputIngot.copy(), 500); } diff --git a/src/Java/miscutil/core/item/base/itemblock/ItemBlockGtFrameBox.java b/src/Java/miscutil/core/item/base/itemblock/ItemBlockGtFrameBox.java index 982c5a4b91..80dc8864cf 100644 --- a/src/Java/miscutil/core/item/base/itemblock/ItemBlockGtFrameBox.java +++ b/src/Java/miscutil/core/item/base/itemblock/ItemBlockGtFrameBox.java @@ -1,5 +1,7 @@ package miscutil.core.item.base.itemblock; +import gregtech.api.util.GT_OreDictUnificator; +import miscutil.core.util.item.UtilsItems; import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; @@ -10,7 +12,7 @@ public class ItemBlockGtFrameBox extends ItemBlock{ public ItemBlockGtFrameBox(Block block) { super(block); this.blockColour = block.getBlockColor(); - // this.setCreativeTab(AddToCreativeTab.tabBlock); + GT_OreDictUnificator.registerOre(block.getUnlocalizedName().replace("BlockGtFrame", "frameGt"), UtilsItems.getSimpleStack(this)); } public int getRenderColor(int aMeta) { diff --git a/src/Java/miscutil/core/item/base/plates/BaseItemPlate.java b/src/Java/miscutil/core/item/base/plates/BaseItemPlate.java index e38771ee75..0e9bb37f38 100644 --- a/src/Java/miscutil/core/item/base/plates/BaseItemPlate.java +++ b/src/Java/miscutil/core/item/base/plates/BaseItemPlate.java @@ -64,6 +64,7 @@ public class BaseItemPlate extends Item{ } private void addBendingRecipe(){ + Utils.LOG_INFO("Adding recipe for "+materialName+" Plates"); String tempIngot = unlocalName.replace("itemPlate", "ingot"); ItemStack tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 1); if (null != tempOutputStack){ diff --git a/src/Java/miscutil/core/item/base/rings/BaseItemRing.java b/src/Java/miscutil/core/item/base/rings/BaseItemRing.java new file mode 100644 index 0000000000..d60abf2524 --- /dev/null +++ b/src/Java/miscutil/core/item/base/rings/BaseItemRing.java @@ -0,0 +1,75 @@ +package miscutil.core.item.base.rings; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.util.GT_OreDictUnificator; + +import java.util.List; + +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; +import miscutil.core.util.Utils; +import miscutil.core.util.item.UtilsItems; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import cpw.mods.fml.common.registry.GameRegistry; + +public class BaseItemRing extends Item{ + + protected int colour; + protected String materialName; + protected String unlocalName; + + public BaseItemRing(String unlocalizedName, String materialName, int colour) { + setUnlocalizedName(unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMisc); + this.setUnlocalizedName(unlocalizedName); + this.unlocalName = unlocalizedName; + this.setMaxStackSize(64); + this.setTextureName(CORE.MODID + ":" + "itemRing"); + this.colour = colour; + this.materialName = materialName; + GameRegistry.registerItem(this, unlocalizedName); + GT_OreDictUnificator.registerOre(unlocalName.replace("itemR", "r"), UtilsItems.getSimpleStack(this)); + addExtruderRecipe(); + } + + @Override + public String getItemStackDisplayName(ItemStack p_77653_1_) { + + return (materialName+ " Ring"); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + if (materialName != null && materialName != "" && !materialName.equals("")){ + list.add(EnumChatFormatting.GRAY+"A " + materialName + " Ring."); + } + super.addInformation(stack, aPlayer, list, bool); + } + + public final String getMaterialName() { + return materialName; + } + + @Override + public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) { + if (colour == 0){ + return Utils.generateSingularRandomHexValue(); + } + return colour; + + } + + private void addExtruderRecipe(){ + Utils.LOG_INFO("Adding recipe for "+materialName+" Rings"); + String tempIngot = unlocalName.replace("itemRing", "ingot"); + ItemStack tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 1); + if (null != tempOutputStack){ + GT_Values.RA.addExtruderRecipe(tempOutputStack, ItemList.Shape_Extruder_Ring.get(1), UtilsItems.getSimpleStack(this, 4), 1600, 96); + } + } + +} diff --git a/src/Java/miscutil/core/item/base/rods/BaseItemRod.java b/src/Java/miscutil/core/item/base/rods/BaseItemRod.java new file mode 100644 index 0000000000..d292733538 --- /dev/null +++ b/src/Java/miscutil/core/item/base/rods/BaseItemRod.java @@ -0,0 +1,82 @@ +package miscutil.core.item.base.rods; + +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.util.GT_OreDictUnificator; + +import java.util.List; + +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; +import miscutil.core.util.Utils; +import miscutil.core.util.item.UtilsItems; +import miscutil.core.util.recipe.UtilsRecipe; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import cpw.mods.fml.common.registry.GameRegistry; + +public class BaseItemRod extends Item{ + + protected int colour; + protected String materialName; + protected String unlocalName; + + public BaseItemRod(String unlocalizedName, String materialName, int colour) { + setUnlocalizedName(unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMisc); + this.setUnlocalizedName(unlocalizedName); + this.unlocalName = unlocalizedName; + this.setTextureName(CORE.MODID + ":" + "itemRod"); + this.setMaxStackSize(64); + this.colour = colour; + this.materialName = materialName; + GameRegistry.registerItem(this, unlocalizedName); + GT_OreDictUnificator.registerOre(unlocalName.replace("itemR", "r"), UtilsItems.getSimpleStack(this)); + addExtruderRecipe(); + } + + @Override + public String getItemStackDisplayName(ItemStack p_77653_1_) { + + return (materialName+ " Rod"); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + if (materialName != null && materialName != "" && !materialName.equals("")){ + list.add(EnumChatFormatting.GRAY+"A 40cm Rod of " + materialName + "."); + } + super.addInformation(stack, aPlayer, list, bool); + } + + public final String getMaterialName() { + return materialName; + } + + @Override + public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) { + if (colour == 0){ + return Utils.generateSingularRandomHexValue(); + } + return colour; + + } + + private void addExtruderRecipe(){ + Utils.LOG_INFO("Adding recipe for "+materialName+" Rods"); + String tempIngot = unlocalName.replace("itemRod", "ingot"); + ItemStack tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 1); + if (null != tempOutputStack){ + GT_Values.RA.addExtruderRecipe(tempOutputStack, ItemList.Shape_Extruder_Rod.get(1), UtilsItems.getSimpleStack(this, 2), 1200, 24); + } + ItemStack rods = UtilsItems.getSimpleStack(this, 1); + UtilsRecipe.addShapedGregtechRecipe( + rods, rods, rods, + rods, "craftingToolWrench", rods, + rods, rods, rods, + UtilsItems.getItemStackOfAmountFromOreDict(unlocalName.replace("itemR", "frameGt"), 1)); + } + +} diff --git a/src/Java/miscutil/core/item/base/rotors/BaseItemRotor.java b/src/Java/miscutil/core/item/base/rotors/BaseItemRotor.java new file mode 100644 index 0000000000..cc8504339f --- /dev/null +++ b/src/Java/miscutil/core/item/base/rotors/BaseItemRotor.java @@ -0,0 +1,92 @@ +package miscutil.core.item.base.rotors; + +import gregtech.api.util.GT_OreDictUnificator; + +import java.util.List; + +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; +import miscutil.core.util.Utils; +import miscutil.core.util.item.UtilsItems; +import miscutil.core.util.recipe.UtilsRecipe; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import cpw.mods.fml.common.registry.GameRegistry; + +public class BaseItemRotor extends Item{ + + protected int colour; + protected String materialName; + protected String unlocalName; + + public BaseItemRotor(String unlocalizedName, String materialName, int colour) { + setUnlocalizedName(unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMisc); + this.setUnlocalizedName(unlocalizedName); + this.unlocalName = unlocalizedName; + this.setMaxStackSize(64); + this.setTextureName(CORE.MODID + ":" + "itemRotor"); + this.colour = colour; + this.materialName = materialName; + GameRegistry.registerItem(this, unlocalizedName); + GT_OreDictUnificator.registerOre(unlocalName.replace("itemR", "r"), UtilsItems.getSimpleStack(this)); + generateRecipe(); + } + + @Override + public String getItemStackDisplayName(ItemStack p_77653_1_) { + + return (materialName+ " Rotor"); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + if (materialName != null && materialName != "" && !materialName.equals("")){ + list.add(EnumChatFormatting.GRAY+"A spindley Rotor made out of " + materialName + ". "); + } + super.addInformation(stack, aPlayer, list, bool); + } + + public final String getMaterialName() { + return materialName; + } + + @Override + public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) { + if (colour == 0){ + return Utils.generateSingularRandomHexValue(); + } + return colour; + + } + + public static boolean getValidItemStack(ItemStack validStack){ + if (validStack != null){ + return true; + } + return false; + } + + public void generateRecipe(){ + + Utils.LOG_INFO("Adding recipe for "+materialName+" Rotors"); + String tempIngot = unlocalName.replace("itemRotor", "plate"); + ItemStack tempOutputStack = UtilsItems.getItemStackOfAmountFromOreDict(tempIngot, 1); + Utils.LOG_WARNING("Found for recipe:"+tempIngot+ "isValidStack()="+getValidItemStack(tempOutputStack)); + String screw = unlocalName.replace("itemRotor", "screw"); + ItemStack screwStack = UtilsItems.getItemStackOfAmountFromOreDict(screw, 1); + Utils.LOG_WARNING("Found for recipe:"+screw+ "isValidStack()="+getValidItemStack(screwStack)); + String ring = unlocalName.replace("itemRotor", "ring"); + ItemStack ringStack = UtilsItems.getItemStackOfAmountFromOreDict(ring, 1); + Utils.LOG_WARNING("Found for recipe:"+ring+ "isValidStack()="+getValidItemStack(ringStack)); + + UtilsRecipe.addShapedGregtechRecipe( + tempOutputStack, "craftingToolHardHammer", tempOutputStack, + screwStack, ringStack, "craftingToolFile", + tempOutputStack, "craftingToolScrewdriver", tempOutputStack, + UtilsItems.getSimpleStack(this)); + } + +} diff --git a/src/Java/miscutil/core/item/base/screws/BaseItemScrew.java b/src/Java/miscutil/core/item/base/screws/BaseItemScrew.java new file mode 100644 index 0000000000..c34530d672 --- /dev/null +++ b/src/Java/miscutil/core/item/base/screws/BaseItemScrew.java @@ -0,0 +1,82 @@ +package miscutil.core.item.base.screws; + +import gregtech.api.enums.GT_Values; +import gregtech.api.util.GT_OreDictUnificator; + +import java.util.List; + +import miscutil.core.creative.AddToCreativeTab; +import miscutil.core.lib.CORE; +import miscutil.core.util.Utils; +import miscutil.core.util.item.UtilsItems; +import miscutil.core.util.recipe.UtilsRecipe; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import cpw.mods.fml.common.registry.GameRegistry; + +public class BaseItemScrew extends Item{ + + protected int colour; + protected String materialName; + protected String unlocalName; + + public BaseItemScrew(String unlocalizedName, String materialName, int colour) { + setUnlocalizedName(unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMisc); + this.setUnlocalizedName(unlocalizedName); + this.unlocalName = unlocalizedName; + this.setMaxStackSize(64); + this.setTextureName(CORE.MODID + ":" + "itemScrew"); + this.setMaxStackSize(64); + this.colour = colour; + this.materialName = materialName; + GameRegistry.registerItem(this, unlocalizedName); + GT_OreDictUnificator.registerOre(unlocalName.replace("itemS", "s"), UtilsItems.getSimpleStack(this)); + addLatheRecipe(); + } + + @Override + public String getItemStackDisplayName(ItemStack p_77653_1_) { + + return (materialName+ " Screw"); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + if (materialName != null && materialName != "" && !materialName.equals("")){ + list.add(EnumChatFormatting.GRAY+"A 8mm Screw, fabricated out of some " + materialName + "."); + } + super.addInformation(stack, aPlayer, list, bool); + } + + public final String getMaterialName() { + return materialName; + } + + @Override + public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) { + if (colour == 0){ + return Utils.generateSingularRandomHexValue(); + } + return colour; + + } + + private void addLatheRecipe(){ + Utils.LOG_INFO("Adding recipe for "+materialName+" Screws"); + ItemStack boltStack = UtilsItems.getItemStackOfAmountFromOreDict(unlocalName.replace("itemScrew", "bolt"), 1); + if (null != boltStack){ + GT_Values.RA.addLatheRecipe(boltStack, + UtilsItems.getSimpleStack(this), null, + 60, 16); + UtilsRecipe.addShapedGregtechRecipe( + "craftingToolFile", boltStack, null, + boltStack, null, null, + null, null, null, + UtilsItems.getSimpleStack(this)); + } + } + +} |