diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Java/gtPlusPlus/core/item/ModItems.java | 14 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/base/CoreItem.java | 10 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/general/ItemGenericToken.java | 168 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/recipe/RECIPES_General.java | 14 |
4 files changed, 201 insertions, 5 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index f486ec3a5a..176288f261 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -268,6 +268,8 @@ public final class ModItems { public static GregtechPump toolGregtechPump; + public static Item itemGenericToken; + static { Logger.INFO("Items!"); //Default item used when recipes fail, handy for debugging. Let's make sure they exist when this class is called upon. @@ -278,7 +280,8 @@ public final class ModItems { public static final void init(){ itemAlkalusDisk = new BaseItemDamageable("itemAlkalusDisk", AddToCreativeTab.tabMisc, 1, 0, "Unknown Use", EnumRarity.rare, EnumChatFormatting.AQUA, false, null); itemBigEgg = new ItemGiantEgg("itemBigEgg", "Ginourmous Chicken Egg", tabMisc, 64, 0, "I had best try disassemble this.. for science!", "fuelLargeChickenEgg", 5000, 0).setTextureName(CORE.MODID + ":itemBigEgg"); - + itemGenericToken = new ItemGenericToken(); + //Debug Loading if (CORE.DEBUG){ DEBUG_INIT.registerItems(); @@ -925,5 +928,14 @@ public final class ModItems { //GameRegistry.registerItem(ItemBlockGtFrameBox, "itemGtFrameBoxSet1"); itemCustomBook = new ItemBaseBook(); + registerCustomTokens(); + } + + public static void registerCustomTokens() { + ItemGenericToken.register(0, "Bit-Coin", 16, "Can be used on the dark web"); + ItemGenericToken.register(1, "Hand Pump Trade Token I", 1, "Craft into a Tier I Hand pump"); + ItemGenericToken.register(2, "Hand Pump Trade Token II", 1, "Craft into a Tier II Hand pump"); + ItemGenericToken.register(3, "Hand Pump Trade Token III", 1, "Craft into a Tier III Hand pump"); + ItemGenericToken.register(4, "Hand Pump Trade Token IV", 1, "Craft into a Tier IV Hand pump"); } } diff --git a/src/Java/gtPlusPlus/core/item/base/CoreItem.java b/src/Java/gtPlusPlus/core/item/base/CoreItem.java index 6c7f9cf6db..376be7bac8 100644 --- a/src/Java/gtPlusPlus/core/item/base/CoreItem.java +++ b/src/Java/gtPlusPlus/core/item/base/CoreItem.java @@ -212,6 +212,16 @@ public class CoreItem extends Item } } + @Override + public boolean isDamageable() { + return false; + } + + @Override + public boolean isRepairable() { + return false; + } + /* @Override public String getItemStackDisplayName(final ItemStack tItem) { if ((this.itemName == null) || this.itemName.equals("")) { diff --git a/src/Java/gtPlusPlus/core/item/general/ItemGenericToken.java b/src/Java/gtPlusPlus/core/item/general/ItemGenericToken.java new file mode 100644 index 0000000000..e6c63391cd --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/general/ItemGenericToken.java @@ -0,0 +1,168 @@ +package gtPlusPlus.core.item.general; + +import java.util.HashMap; +import java.util.List; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.item.base.CoreItem; +import gtPlusPlus.core.lib.CORE; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumRarity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; + +public class ItemGenericToken extends CoreItem { + + public final static HashMap<Integer, String> mLocalNames; + public final static HashMap<Integer, Integer> mMaxStackSizes; + public final static HashMap<Integer, String[]> mDescriptionArrays; + public final static HashMap<Integer, EnumRarity> mRarities; + public final static HashMap<Integer, EnumChatFormatting> mCustomNameColours; + public final static HashMap<Integer, IIcon> mIcons; + + static { + mLocalNames = new HashMap<Integer, String>(); + mMaxStackSizes = new HashMap<Integer, Integer>(); + mDescriptionArrays = new HashMap<Integer, String[]>(); + mRarities = new HashMap<Integer, EnumRarity>(); + mCustomNameColours = new HashMap<Integer, EnumChatFormatting>(); + mIcons = new HashMap<Integer, IIcon>(); + } + + public ItemGenericToken() { + super("itemGenericToken", "Token", AddToCreativeTab.tabMisc, 64, 1000, + new String[] { "Can be reclaimed in some way, shape or form" }, EnumRarity.common, + EnumChatFormatting.RESET, false, null); + } + + public static boolean register(int id, String aLocalName, int aMaxStack, String aDescript) { + return register(id, aLocalName, aMaxStack, new String[] { aDescript }); + } + + public static boolean register(int id, String aLocalName, int aMaxStack, String[] aDescript) { + return register(id, aLocalName, aMaxStack, aDescript, EnumRarity.common, EnumChatFormatting.RESET); + } + + public static boolean register(int id, String aLocalName, int aMaxStack, String[] aDescript, EnumRarity aRarity, + EnumChatFormatting aCustomNameColour) { + int[][] sizes = new int[2][4]; + sizes[0][0] = mLocalNames.size(); + sizes[0][1] = mMaxStackSizes.size(); + sizes[0][2] = mDescriptionArrays.size(); + sizes[0][3] = mRarities.size(); + sizes[0][4] = mCustomNameColours.size(); + mLocalNames.put(id, aLocalName); + mMaxStackSizes.put(id, aMaxStack); + mDescriptionArrays.put(id, aDescript); + mRarities.put(id, aRarity); + mCustomNameColours.put(id, aCustomNameColour); + sizes[1][0] = mLocalNames.size(); + sizes[1][1] = mMaxStackSizes.size(); + sizes[1][2] = mDescriptionArrays.size(); + sizes[1][3] = mRarities.size(); + sizes[1][4] = mCustomNameColours.size(); + boolean b = sizes[0][0] > sizes[1][0] && sizes[0][1] > sizes[1][1] && sizes[0][2] > sizes[1][2] + && sizes[0][3] > sizes[1][3] && sizes[0][4] > sizes[1][4]; + return b; + } + + // Handle Sub items + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(final Item var1, final CreativeTabs aCreativeTab, final List aList) { + for (int i = 0, j = mIcons.size(); i < j; i++) { + final ItemStack tStack = new ItemStack(this, 1, i); + aList.add(tStack); + } + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + super.addInformation(stack, aPlayer, list, bool); + for (String s : mDescriptionArrays.get(stack.getItemDamage())) { + list.add(s); + } + } + + @Override + public String getItemStackDisplayName(final ItemStack tItem) { + + String s = "" + mCustomNameColours.get(tItem.getItemDamage()); + String parent = super.getItemStackDisplayName(tItem); + if (mLocalNames.get(tItem.getItemDamage()).length() > 0 && parent.toLowerCase().contains(".name")) { + s = s + mLocalNames.get(tItem.getItemDamage()); + } else { + s = s + parent; + } + return s; + } + + @Override + public EnumRarity getRarity(ItemStack par1ItemStack) { + return mRarities.get(par1ItemStack.getItemDamage()); + } + + @Override + public boolean hasEffect(ItemStack par1ItemStack) { + return false; + } + + @Override + public int getMetadata(int p_77647_1_) { + return 0; + } + + @Override + public int getDisplayDamage(ItemStack stack) { + return 0; + } + + @Override + public boolean showDurabilityBar(ItemStack stack) { + return false; + } + + @Override + public double getDurabilityForDisplay(ItemStack stack) { + return 0D; + } + + @Override + public boolean isDamaged(ItemStack stack) { + return false; + } + + @Override + public int getItemStackLimit() { + return 64; + } + + @Override + public int getItemStackLimit(ItemStack stack) { + return mMaxStackSizes.get(stack.getItemDamage()); + } + + @Override + @SideOnly(Side.CLIENT) + public final void registerIcons(final IIconRegister aIconRegister) { + for (int i = 0, j = mIcons.size(); i < j; i++) { + mIcons.put(i, aIconRegister.registerIcon(CORE.MODID + ":" + "token" + "/" + i)); + } + } + + @Override + public final IIcon getIconFromDamage(final int aMetaData) { + if (aMetaData < 0) { + return null; + } + return mIcons.get(aMetaData); + } + +} diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java index 2001248668..3d4a071d82 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java @@ -290,26 +290,32 @@ public class RECIPES_General { CI.electricPump_LV, "circuitBasic", null, "ringBrass", CI.electricMotor_LV, "circuitBasic", "plateSteel", "plateSteel", "rodBrass", - ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1000, 1)); + ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1)); Logger.INFO("Added recipe for Hand Pump I - "+a[0]); a[1] = RecipeUtils.recipeBuilder( CI.electricPump_MV, "circuitAdvanced", null, "ringMagnalium", CI.electricMotor_MV, "circuitAdvanced", "plateAluminium", "plateAluminium", "rodMagnalium", - ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1001, 1)); + ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1)); Logger.INFO("Added recipe for Hand Pump II - "+a[1]); a[2] = RecipeUtils.recipeBuilder( CI.electricPump_HV, "circuitData", null, "ringChrome", CI.electricMotor_HV, "circuitData", "plateStainlessSteel", "plateStainlessSteel", "rodChrome", - ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1002, 1)); + ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1)); Logger.INFO("Added recipe for Hand Pump III - "+a[2]); a[3] = RecipeUtils.recipeBuilder( CI.electricPump_EV, "circuitElite", null, "ringTitanium", CI.electricMotor_EV, "circuitElite", "plateStungstenSteel", "plateTungstenSteel", "rodTitanium", - ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1003, 1)); + ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1)); Logger.INFO("Added recipe for Hand Pump IV - "+a[3]); + + GT_Values.RA.addAssemblerRecipe(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1), CI.getNumberedCircuit(20), ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1000, 1), 30, 30); + GT_Values.RA.addAssemblerRecipe(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1), CI.getNumberedCircuit(20), ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1001, 1), 120, 120); + GT_Values.RA.addAssemblerRecipe(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1), CI.getNumberedCircuit(20), ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1002, 1), 480, 480); + GT_Values.RA.addAssemblerRecipe(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1), CI.getNumberedCircuit(20), ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1003, 1), 1820, 1820); + return a[0] && a[1] && a[2] && a[3]; } |