From 926af00c0b3da2ba168f578eafb3ed8c7c2d9dba Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 27 Jul 2016 00:26:22 +1000 Subject: + Added a Plate Bender Recipe for Staballoy. + Added a Blast Furnace Recipe for Staballoy. + Added a Vacuum Freezer Recipe for Staballoy. + Added Some Raisin Bread for ImQ009. + Added a placeholder item for invalid recipes, so that broken recipes show up and hidden/unavailable stuff doesn't. + Added a handler for generating ingots & Hot ingots. % Changed Staballoy to generate from this new ingotHandler. % Changed getItemStackOfAmountFromOreDict to handle meta, thanks to Greg for pointing that out. % Changed Matter Fabricator to actually have an output (It was returning 0 previously, thought worked) - Removed pollution value from the Matter Fabricator. --- .../core/item/base/ingots/BaseItemIngot.java | 78 ++++++++++++++++++++++ .../core/item/base/ingots/BaseItemIngotHot.java | 42 ++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 src/Java/miscutil/core/item/base/ingots/BaseItemIngot.java create mode 100644 src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java (limited to 'src/Java/miscutil/core/item/base') diff --git a/src/Java/miscutil/core/item/base/ingots/BaseItemIngot.java b/src/Java/miscutil/core/item/base/ingots/BaseItemIngot.java new file mode 100644 index 0000000000..95da94db62 --- /dev/null +++ b/src/Java/miscutil/core/item/base/ingots/BaseItemIngot.java @@ -0,0 +1,78 @@ +package miscutil.core.item.base.ingots; + +import gregtech.api.enums.GT_Values; +import gregtech.api.util.GT_Utility; + +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 BaseItemIngot extends Item{ + + protected int colour; + protected String materialName; + protected String unlocalName; + + public BaseItemIngot(String unlocalizedName, String materialName, int colour) { + setUnlocalizedName(unlocalizedName); + this.setCreativeTab(AddToCreativeTab.tabMisc); + this.setUnlocalizedName(unlocalizedName); + this.unlocalName = unlocalizedName; + this.setMaxStackSize(64); + if (unlocalizedName.contains("RaisinBread")){ + this.setTextureName(CORE.MODID + ":" + "itemBread"); + } + else { + this.setTextureName(CORE.MODID + ":" + "itemIngot"); + } + this.setMaxStackSize(64); + this.colour = colour; + this.materialName = materialName; + GameRegistry.registerItem(this, unlocalizedName); + addBendingRecipe(); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + if (materialName != null && materialName != "" && !materialName.equals("") && !unlocalName.contains("HotIngot") && !unlocalName.toLowerCase().contains("raisinbread")){ + list.add(EnumChatFormatting.GRAY+"A solid ingot of " + materialName + "."); + } + else if (materialName != null && materialName != "" && !materialName.equals("") && unlocalName.toLowerCase().contains("ingothot") && !unlocalName.toLowerCase().contains("raisinbread")){ + list.add(EnumChatFormatting.GRAY+"Warning: Very hot! Avoid direct handling.."); + } + else if (materialName != null && materialName != "" && !materialName.equals("") && !unlocalName.toLowerCase().contains("ingothot") && unlocalName.toLowerCase().contains("raisinbread")){ + list.add(EnumChatFormatting.GRAY+"We all know that " + materialName + " is delicious!"); + } + 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 addBendingRecipe(){ + if (!unlocalName.toLowerCase().contains("ingothot") && !unlocalName.toLowerCase().contains("raisinbread")){ + GT_Values.RA.addBenderRecipe(GT_Utility.copyAmount(1L, new Object[]{this}), + UtilsItems.getItemStackOfAmountFromOreDict("plate"+materialName, 1), + 1200, 24); + } + } + +} diff --git a/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java b/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java new file mode 100644 index 0000000000..89ceebe922 --- /dev/null +++ b/src/Java/miscutil/core/item/base/ingots/BaseItemIngotHot.java @@ -0,0 +1,42 @@ +package miscutil.core.item.base.ingots; + +import gregtech.api.enums.GT_Values; +import gregtech.api.util.GT_Utility; + +import java.util.List; + +import miscutil.core.lib.CORE; +import miscutil.core.util.Utils; +import miscutil.core.util.UtilsText; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class BaseItemIngotHot extends BaseItemIngot{ + + private ItemStack outputIngot; + + public BaseItemIngotHot(String unlocalizedName, String materialName, ItemStack coldIngot) { + super(unlocalizedName, materialName, Utils.rgbtoHexValue(225, 225, 225)); + this.setTextureName(CORE.MODID + ":" + "itemIngotHot"); + this.outputIngot = coldIngot; + generateRecipe(); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + if (materialName != null && materialName != "" && !materialName.equals("")){ + list.add(EnumChatFormatting.GRAY+"A "+UtilsText.red.colour()+"burning hot"+UtilsText.lightGray.colour()+" ingot of " + materialName + "."); + } + super.addInformation(stack, aPlayer, list, bool); + } + + @Override + public int getColorFromItemStack(ItemStack stack, int HEX_OxFFFFFF) { + return Utils.rgbtoHexValue(225, 225, 225); + } + + private void generateRecipe(){ + GT_Values.RA.addVacuumFreezerRecipe(GT_Utility.copyAmount(1L, new Object[]{this}), GT_Utility.copyAmount(1L, new Object[]{outputIngot}), 500); + } +} -- cgit