aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java14
-rw-r--r--src/Java/gtPlusPlus/core/item/base/CoreItem.java10
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemGenericToken.java168
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_General.java14
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];
}