aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/api/objects/minecraft/ThaumcraftSmeltingCache.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/api/objects/minecraft/ThaumcraftSmeltingCache.java')
-rw-r--r--src/Java/gtPlusPlus/api/objects/minecraft/ThaumcraftSmeltingCache.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/api/objects/minecraft/ThaumcraftSmeltingCache.java b/src/Java/gtPlusPlus/api/objects/minecraft/ThaumcraftSmeltingCache.java
new file mode 100644
index 0000000000..1e16527065
--- /dev/null
+++ b/src/Java/gtPlusPlus/api/objects/minecraft/ThaumcraftSmeltingCache.java
@@ -0,0 +1,39 @@
+package gtPlusPlus.api.objects.minecraft;
+
+import java.util.HashMap;
+
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+public class ThaumcraftSmeltingCache {
+
+ HashMap<String, Boolean> mInternalCache = new HashMap<String, Boolean>();
+
+ public void addItemToCache(ItemStack aStack, Boolean aSmelting) {
+ String aKey = getUniqueKey(aStack);
+ mInternalCache.put(aKey, aSmelting);
+ }
+
+ public int canSmelt(ItemStack aStack) {
+ String aKey = getUniqueKey(aStack);
+ Boolean aCanSmeltValue = mInternalCache.get(aKey);
+ if (aCanSmeltValue != null) {
+ if (aCanSmeltValue) {
+ return 1;
+ }
+ else {
+ return 0;
+ }
+ }
+ return -1;
+ }
+
+ public static final String getUniqueKey(ItemStack aStack) {
+ Item aItem = aStack.getItem();
+ int aDamage = aStack.getItemDamage();
+ NBTTagCompound aNBT = (aStack.getTagCompound() != null ? aStack.getTagCompound() : new NBTTagCompound());
+ return ""+Item.getIdFromItem(aItem)+""+aDamage+""+aNBT.getId();
+ }
+
+}