mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
51 lines
1.2 KiB
Java
51 lines
1.2 KiB
Java
package com.hbm.inventory;
|
|
|
|
import java.util.HashMap;
|
|
|
|
import com.hbm.interfaces.Untested;
|
|
import com.hbm.items.machine.ItemMachineUpgrade;
|
|
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
public class UpgradeManager {
|
|
|
|
private static HashMap<UpgradeType, Integer> upgrades = new HashMap();
|
|
private static UpgradeType mutexType = null;
|
|
|
|
@Untested
|
|
public static void eval(ItemStack[] slots, int start, int end) {
|
|
|
|
upgrades.clear();
|
|
|
|
for(int i = start; i <= end; i++) {
|
|
|
|
if(slots[i] != null && slots[i].getItem() instanceof ItemMachineUpgrade) {
|
|
ItemMachineUpgrade item = (ItemMachineUpgrade) slots[i].getItem();
|
|
|
|
if(item.type.mutex) {
|
|
|
|
if(mutexType == null || mutexType.ordinal() < item.type.ordinal()) {
|
|
mutexType = item.type;
|
|
}
|
|
|
|
} else {
|
|
Integer up = upgrades.get(item.type);
|
|
int upgrade = (up == null ? 0 : up);
|
|
upgrade += item.tier;
|
|
upgrades.put(item.type, upgrade);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public static int getLevel(UpgradeType type) {
|
|
Integer up = upgrades.get(type);
|
|
return up == null ? 0 : up;
|
|
}
|
|
|
|
public static UpgradeType getMinerMutex() {
|
|
return mutexType;
|
|
}
|
|
}
|