aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/api/objects/minecraft/ThaumcraftSmeltingCache.java
blob: 1e16527065a74d1db1fa6e47d86369e938d23e04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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();
	}

}