Skip to content

Commit

Permalink
Refactor pattern costs to allow being overridden
Browse files Browse the repository at this point in the history
By default the values will still remain the same, but if someone else wants to adjust these values, they can.
  • Loading branch information
UndeadZeratul committed Dec 22, 2015
1 parent 8cfaa53 commit cd5a3dd
Showing 1 changed file with 55 additions and 58 deletions.
113 changes: 55 additions & 58 deletions src/main/java/tconstruct/tools/items/Pattern.java
@@ -1,7 +1,11 @@
package tconstruct.tools.items;

import cpw.mods.fml.relauncher.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import mantle.items.abstracts.CraftingItem;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
Expand Down Expand Up @@ -37,6 +41,8 @@ protected static String[] getPatternNames (String partType)

private static final String[] patternName = new String[] { "ingot", "rod", "pickaxe", "shovel", "axe", "swordblade", "largeguard", "mediumguard", "crossbar", "binding", "frypan", "sign", "knifeblade", "chisel", "largerod", "toughbinding", "largeplate", "broadaxe", "scythe", "excavator", "largeblade", "hammerhead", "fullguard", "bowstring", "fletching", "arrowhead" };

private static final Map<Integer, Integer> patternCosts = buildPatternCostMap();

@Override
public void getSubItems (Item b, CreativeTabs tab, List list)
{
Expand All @@ -47,6 +53,41 @@ public void getSubItems (Item b, CreativeTabs tab, List list)
}
}

// 2 for full material, 1 for half.
private static Map<Integer, Integer> buildPatternCostMap()
{
Map<Integer, Integer> map = new HashMap<Integer, Integer>();

map.put(0, 2);
map.put(1, 1);
map.put(2, 2);
map.put(3, 2);
map.put(4, 2);
map.put(5, 2);
map.put(6, 1);
map.put(7, 1);
map.put(8, 1);
map.put(9, 1);
map.put(10, 2);
map.put(11, 2);
map.put(12, 1);
map.put(13, 1);
map.put(14, 6);
map.put(15, 6);
map.put(16, 16);
map.put(17, 16);
map.put(18, 16);
map.put(19, 16);
map.put(20, 16);
map.put(21, 16);
map.put(22, 6);
map.put(23, 6);
map.put(24, 2);
map.put(25, 2);

return map;
}

@Override
public ItemStack getContainerItem (ItemStack stack)
{
Expand Down Expand Up @@ -76,69 +117,25 @@ public void addInformation (ItemStack stack, EntityPlayer player, List list, boo
}
}

// 2 for full material, 1 for half.
@Override
public int getPatternCost (ItemStack pattern)
public static Map<Integer, Integer> getPatternCosts()
{
switch (pattern.getItemDamage())
return patternCosts;
}

public static void setPatternCost (Integer index, Integer newCost)
{
if (patternCosts.containsKey(index))
{
case 0:
return 2;
case 1:
return 1;
case 2:
return 2;
case 3:
return 2;
case 4:
return 2;
case 5:
return 2;
case 6:
return 1;
case 7:
return 1;
case 8:
return 1;
case 9:
return 1;
case 10:
return 2;
case 11:
return 2;
case 12:
return 1;
case 13:
return 1;
case 14:
return 6;
case 15:
return 6;
case 16:
return 16;
case 17:
return 16;
case 18:
return 16;
case 19:
return 16;
case 20:
return 16;
case 21:
return 16;
case 22:
return 6;
case 23:
return 6;
case 24:
return 2;
case 25:
return 2;
default:
return 0;
patternCosts.put(index, newCost);
}
}

@Override
public int getPatternCost (ItemStack pattern)
{
return patternCosts.containsKey(pattern.getItemDamage()) ? patternCosts.get(pattern.getItemDamage()) : 0;
}

@Override
public ItemStack getPatternOutput (ItemStack stack, ItemStack input, MaterialSet set)
{
Expand Down

0 comments on commit cd5a3dd

Please sign in to comment.