Пример #1
0
 public static TurretUpgrades getUpgradeFromItem(
     ItemStack stack, Class<? extends EntityTurret_Base> turretCls) {
   if (stack == null) return null;
   for (int i = 0; i < upgradeListINT.size(); i++) {
     TurretUpgrades upg = getUpgradeFromID(i);
     if (CUS.areStacksEqualWithWCV(upg.getItem(), stack)
         && (turretCls == null || isUpgradeForTurret(upg, turretCls))) return getUpgradeFromID(i);
   }
   return null;
 }
Пример #2
0
 public static boolean isUpgradeForTurret(
     TurretUpgrades upg, Class<? extends EntityTurret_Base> turretCls) {
   if (turretCls == null) return false;
   for (Class<? extends EntityTurret_Base> upgCls : upg.getTurrets()) {
     if (upgCls.isAssignableFrom(turretCls)) return true;
   }
   return false;
 }
Пример #3
0
  public static boolean hasUpgrade(Class<? extends TurretUpgrades> tUpg, List<ItemStack> upgMap) {
    if (upgMap == null || tUpg == null) return false;

    TurretUpgrades chkUpg = upgradeListCLT.get(tUpg);

    for (ItemStack is : upgMap) {
      if (CUS.areStacksEqualWithWCV(chkUpg.getItem(), is)) {
        if (is.isItemEnchanted() && chkUpg.getEnchantment() != null) {
          NBTTagList ench = is.getEnchantmentTagList();
          for (int j = 0; j < ench.tagCount(); ++j) {
            NBTTagCompound var4 = (NBTTagCompound) ench.tagAt(j);
            if (var4.getShort("id") == chkUpg.getEnchantment().effectId) {
              return true;
            }
          }
        } else if (chkUpg.getEnchantment() == null) {
          return true;
        }
      }
    }
    return false;
  }
Пример #4
0
 public static void addUpgrade(TurretUpgrades upg) {
   upg.id = upgradeListINT.size();
   upgradeListINT.put(upg.id, upg);
   upgradeListCLT.put(upg.getClass(), upg);
 }