aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/items
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common/items')
-rw-r--r--src/main/java/gregtech/common/items/armor/ArmorCalculation.java52
-rw-r--r--src/main/java/gregtech/common/items/armor/ArmorData.java418
-rw-r--r--src/main/java/gregtech/common/items/armor/ElectricModularArmor1.java37
-rw-r--r--src/main/java/gregtech/common/items/armor/ModularArmor_Item.java460
-rw-r--r--src/main/java/gregtech/common/items/armor/Vector3.java279
-rw-r--r--src/main/java/gregtech/common/items/armor/components/ArmorComponent.java63
-rw-r--r--src/main/java/gregtech/common/items/armor/components/ArmorComponentBattery.java18
-rw-r--r--src/main/java/gregtech/common/items/armor/components/ArmorComponentFunction.java21
-rw-r--r--src/main/java/gregtech/common/items/armor/components/ArmorElectricComponent.java31
-rw-r--r--src/main/java/gregtech/common/items/armor/components/ArmorPlating.java112
-rw-r--r--src/main/java/gregtech/common/items/armor/components/IArmorComponent.java11
-rw-r--r--src/main/java/gregtech/common/items/armor/components/LoadArmorComponents.java250
-rw-r--r--src/main/java/gregtech/common/items/armor/components/StatType.java52
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/ContainerBasicArmor.java48
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/ContainerElectricArmor1.java53
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/ContainerModularArmor.java167
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/FluidSync.java58
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/FluidSync2.java57
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/GuiElectricArmor1.java330
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/GuiModularArmor.java200
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/InventoryArmor.java233
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/SlotArmor.java18
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/SlotFluid.java26
-rw-r--r--src/main/java/gregtech/common/items/armor/gui/SlotLocked.java33
24 files changed, 0 insertions, 3027 deletions
diff --git a/src/main/java/gregtech/common/items/armor/ArmorCalculation.java b/src/main/java/gregtech/common/items/armor/ArmorCalculation.java
deleted file mode 100644
index 8ecc5766ba..0000000000
--- a/src/main/java/gregtech/common/items/armor/ArmorCalculation.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package gregtech.common.items.armor;
-
-import gregtech.api.util.GT_ModHandler;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.fluids.FluidStack;
-
-public class ArmorCalculation {
- public static float[] calculateArmor(ItemStack[] parts) {
- return new float[32];
- }
-
- public static int deChargeBatterys(ItemStack[] parts, int amount) {
- int decharged = 0;
- for (int i = 0; decharged < amount && i < parts.length; i++) {
- if (GT_ModHandler.isChargerItem(parts[i])) {
- decharged = (int) (decharged + ic2.api.item.ElectricItem.manager.discharge(parts[i], amount - decharged, 10, false, false, false));
- }
- }
- return decharged;
- }
-
- public static FluidStack getFluid(ItemStack[] parts, int tankCap) {
- int fluidAmount;
- if (parts.length > 12 && parts[12] != null) {
- NBTTagCompound nbt = parts[12].getTagCompound();
- if (nbt != null) {
- fluidAmount = (int) nbt.getLong("mFluidDisplayAmount");
- if (fluidAmount > tankCap) {
- nbt.setLong("mFluidDisplayAmount", tankCap);
- parts[12].setTagCompound(nbt);
- fluidAmount = tankCap;
- }
- return new FluidStack(parts[12].getItemDamage(), fluidAmount);
- }
-
- }
- return null;
- }
-
- public static void useFluid(ItemStack[] parts, int usedAmount) {
- int fluidAmount;
- if (parts.length > 12 && parts[12] != null) {
- NBTTagCompound nbt = parts[12].getTagCompound();
- if (nbt != null) {
- fluidAmount = (int) nbt.getLong("mFluidDisplayAmount");
- nbt.setLong("mFluidDisplayAmount", fluidAmount - usedAmount);
- parts[12].setTagCompound(nbt);
- }
- }
- }
-}
diff --git a/src/main/java/gregtech/common/items/armor/ArmorData.java b/src/main/java/gregtech/common/items/armor/ArmorData.java
deleted file mode 100644
index c8061db988..0000000000
--- a/src/main/java/gregtech/common/items/armor/ArmorData.java
+++ /dev/null
@@ -1,418 +0,0 @@
-package gregtech.common.items.armor;
-
-import gregtech.api.util.GT_LanguageManager;
-import gregtech.common.items.armor.components.ArmorComponent;
-import gregtech.common.items.armor.components.StatType;
-import gregtech.common.items.armor.gui.ContainerBasicArmor;
-import gregtech.common.items.armor.gui.ContainerModularArmor;
-import gregtech.common.items.armor.gui.InventoryArmor;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.fluids.FluidStack;
-
-import java.text.DecimalFormat;
-import java.text.DecimalFormatSymbols;
-import java.text.NumberFormat;
-import java.util.*;
-
-import static gregtech.GT_Mod.GT_FML_LOGGER;
-
-public class ArmorData {
-
- public int type; // 0 = helmet; 1 = chestplate; 2 = leggings; 3 = boots;
- public int armorTier; // 0 = Basic Modular Armor; 1 = Modular Exoskeleton; 2= Modular Nanosuit; 3 = Heavy Power Armor
- public List info; // needs Localization
- public boolean isTopItem;
- public int tooltipUpdate;
- public boolean openGui;
-
- public ArmorData helmet;
- public ArmorData chestplate;
- public ArmorData leggings;
- public ArmorData boots;
-
- public Map<StatType,Float> mStat = new HashMap<StatType,Float>();
- public Map<StatType,Boolean> mBStat = new HashMap<StatType,Boolean>();
- static ArrayList<StatType> updateArmorStatTypeList;
-// public boolean fullArmor;
-// public boolean fullRadiationDef;
-// public boolean fullElectricDef;
-//
-// public float fallDef;
-// public float physicalDef;
-// public float projectileDef;
-// public float fireDef;
-// public float magicDef;
-// public float explosionDef;
-// public float radiationDef;
-// public float electricDef;
-// public float witherDef;
-//
-// public float thorns;
-// public float thornsSingle;
-// public int magnet;
-// public int magnetSingle;
-//
-// public int partsCharge;
- public int maxCharge;
- public int charge;
-// public boolean thaumicGoggles;
-// public boolean nightVision;
-// public boolean potionInjector;
-// public boolean autoFeeder;
-
- public FluidStack fluid;
-// public int tankCap;
-//
-// public int weight;
- public float maxWeight;
-// public int processingPower;
-// public int processingPowerUsed;
-// public int partProcessing;
-// public int partProcessingUsed;
-//
-// public int motorPower;
-// public int motorEUusage;
-// public int pistonJumpboost;
-// public int pistonEUusage;
-// public int electrolyzerProd;
-// public int electrolyzerEUusage;
-// public int fieldGenCap;
-// public int fieldGenEUusage;
-//
-// public int jetpackMaxWeight;
-// public int antiGravMaxWeight;
-
- public ArmorData(EntityPlayer player, ItemStack stack, int type, int tier) {
- if(updateArmorStatTypeList == null)
- {
- updateArmorStatTypeList = new ArrayList<StatType>();
- updateArmorStatTypeList.add(StatType.MAGNET);
- updateArmorStatTypeList.add(StatType.THORNS);
- updateArmorStatTypeList.add(StatType.PROCESSINGPOWER);
- updateArmorStatTypeList.add(StatType.PROCESSINGPOWERUSED);
- }
- this.type = type;
- this.armorTier = tier;
- ContainerModularArmor tmp = new ContainerBasicArmor((EntityPlayer) player, new InventoryArmor(ModularArmor_Item.class, stack));
- calculateArmor(tmp.mInvArmor.parts);
- switch (tier) {
- case 0:
- maxCharge = 0;
- break;
- case 1:
- maxCharge = 250000;
- break;
- case 2:
- maxCharge = 1000000;
- }
- readNBT(stack.getTagCompound());
- }
-
- private void readNBT(NBTTagCompound nbt) {
- if (nbt == null) {
- return;
- }
- if (nbt.hasKey("Charge")) {
- this.charge = nbt.getInteger("Charge");
- }
- }
-
- public void writeToNBT(NBTTagCompound nbt) {
- if (nbt == null) {
- return;
- }
- nbt.setInteger("Charge", this.charge);
- }
-
- public ArmorData calculateArmor(ItemStack[] parts) {
- mStat.clear();
- mBStat.clear();
- for(ItemStack tPart : parts){
- if(tPart!=null && ArmorComponent.mStacks.containsKey(tPart.getUnlocalizedName()))
- ArmorComponent.mStacks.get(tPart.getUnlocalizedName()).calculateArmor(this);
- }
- for(StatType tType : StatType.values())if(!mStat.containsKey(tType))mStat.put(tType, .0f);
- for(StatType tType : StatType.values())if(!mBStat.containsKey(tType))mBStat.put(tType, false);
- updateTooltip();
- return this;
- }
-
- public void updateTooltip() {
- List<String> tagList = new ArrayList<String>();
- String tmp2 = "";
- if (maxWeight > 4000) {
- tmp2 = " " + GT_LanguageManager.getTranslation("Too Heavy");
- }
- if (maxCharge != 0) {
- DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.US);
- DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols();
- symbols.setGroupingSeparator(' ');
- if (type == 0) {
- if (mBStat.get(StatType.THAUMICGOGGLES)) {
- tagList.add(GT_LanguageManager.getTranslation("Thaumic Goggles installed"));
- }
- if (mBStat.get(StatType.NIGHTVISION)) {
- tagList.add(GT_LanguageManager.getTranslation("Nightvision installed"));
- }
- }
- tagList.add("EU: " + formatter.format(charge + mStat.get(StatType.PARTSCHARGE)));
- if (type == 2) {
- tagList.add(GT_LanguageManager.getTranslation("Jumpboost") + ": " + mStat.get(StatType.PISTONJUMPBOOST) / 3 + "m");
- }
- if (type == 2 && mStat.get(StatType.PISTONJUMPBOOST) > 0) {
- tagList.add(GT_LanguageManager.getTranslation("Uphill step assist active"));
- }
- if (type == 2 && mStat.get(StatType.MOTPRPOWER) > 0) {
- tagList.add(GT_LanguageManager.getTranslation("Speedup") + ": " + mStat.get(StatType.MOTPRPOWER));
- tagList.add(GT_LanguageManager.getTranslation("Motor energy usage") + ": " + mStat.get(StatType.MOTOREUUSAGE) + " EU");
- if (maxWeight > 4000) {
- tagList.add(GT_LanguageManager.getTranslation("Too Heavy!!!"));
- }
- }
- tagList.add(GT_LanguageManager.getTranslation("Processing power ") + " " + mStat.get(StatType.PARTPROCESSING) + " " + GT_LanguageManager.getTranslation(""));
- tagList.add(GT_LanguageManager.getTranslation("Processing power used") + ": " + mStat.get(StatType.PARTPROCESSINGUSED) + " " + GT_LanguageManager.getTranslation(""));
- if (type == 0 && mStat.get(StatType.ELECTROLYZERPROD) > 0) {
- tagList.add(GT_LanguageManager.getTranslation("Electrolyzer produces ") + " " + mStat.get(StatType.ELECTROLYZERPROD) / 2 + GT_LanguageManager.getTranslation("per second"));
- }
- if (mStat.get(StatType.TANKCAP) > 0) {
- if (fluid != null) {
- tagList.add(GT_LanguageManager.getTranslation("Tank Capacity") + ": " + fluid.getLocalizedName() + " " + fluid.amount + "L (" + mStat.get(StatType.TANKCAP) + ")");
- } else {
- tagList.add(GT_LanguageManager.getTranslation("tankcap") + ": " + mStat.get(StatType.TANKCAP));
- }
- }
- }
- tagList.add(GT_LanguageManager.getTranslation("Weight") + ": " + mStat.get(StatType.WEIGHT) + tmp2);
- tagList.add(GT_LanguageManager.getTranslation("Physical Defence") + ": " + (Math.round(mStat.get(StatType.PHYSICALDEFENCE) * 1000) / 10.0) + "%");
- tagList.add(GT_LanguageManager.getTranslation("Projectile Defence") + ": " + (Math.round(mStat.get(StatType.PROJECTILEDEFENCE) * 1000) / 10.0) + "%");
- tagList.add(GT_LanguageManager.getTranslation("Fire Defence") + ": " + (Math.round(mStat.get(StatType.FIREDEFENCE) * 1000) / 10.0) + "%");
- tagList.add(GT_LanguageManager.getTranslation("Magic Defence") + ": " + (Math.round(mStat.get(StatType.MAGICDEFENCE) * 1000) / 10.0) + "%");
- tagList.add(GT_LanguageManager.getTranslation("Explosive Defence") + ": " + (Math.round(mStat.get(StatType.EXPLOSIONDEFENCE) * 1000) / 10.0) + "%");
- if (mStat.get(StatType.FALLDEFENCE) > 0 && type == 3) {
- tagList.add(GT_LanguageManager.getTranslation("Absorbs") + " " + mStat.get(StatType.FALLDEFENCE) + GT_LanguageManager.getTranslation(" m of Fall Defence"));
- }
- if (mStat.get(StatType.THORNS) > 0) {
- tagList.add(GT_LanguageManager.getTranslation("Thorns") + ": " + mStat.get(StatType.THORNS));
- }
- if (mStat.get(StatType.MAGNET) > 0) {
- tagList.add(GT_LanguageManager.getTranslation("Magnet") + ": " + mStat.get(StatType.MAGNET) + "m");
- }
- if (mBStat.get(StatType.FULLRADIATIONARMOR)) {
- tagList.add(GT_LanguageManager.getTranslation("Is Full Radiation Defence"));
- } else {
- if (mStat.get(StatType.RADIATIONDEFENCE) > 0.01d) {
- tagList.add(GT_LanguageManager.getTranslation("Radiation Defence") + ": " + (Math.round(mStat.get(StatType.RADIATIONDEFENCE) * 1000) / 10.0) + "%");
- }
- }
- info = tagList;
- }
-
- public void armorPartsEquipped(EntityPlayer aPlayer) {
- helmet = null;
- chestplate = null;
- leggings = null;
- boots = null;
- for (int i = 1; i < 5; i++) {
- ItemStack stack = aPlayer.getEquipmentInSlot(i);
- if (stack != null && stack.getItem() instanceof ModularArmor_Item) {
- ModularArmor_Item tmp = (ModularArmor_Item) stack.getItem();
- ContainerModularArmor tmp2 = new ContainerBasicArmor(aPlayer, new InventoryArmor(ModularArmor_Item.class, stack));
- if ((this.type + i) == 4) {
- fluid = ArmorCalculation.getFluid(tmp2.mInvArmor.parts, Math.round(mStat.get(StatType.TANKCAP)));
- }
- if (maxCharge > 0 && charge < maxCharge) {
- int loaded = ArmorCalculation.deChargeBatterys(tmp2.mInvArmor.parts, maxCharge - charge);
- charge = charge + loaded;
- change(mStat, StatType.PARTSCHARGE, -loaded);
-
- }
- switch (tmp.armorType) {
- case 0:
- helmet = tmp.data;
- break;
- case 1:
- chestplate = tmp.data;
- break;
- case 2:
- leggings = tmp.data;
- break;
- case 3:
- boots = tmp.data;
- break;
- default:
- break;
- }
- writeToNBT(stack.getTagCompound());
- }
- }
- if (helmet != null && chestplate != null && leggings != null && boots != null) {
- set(mBStat, StatType.FULLARMOR, true);
- boolean helmHasFullRadiationDefence=false;
- boolean chestplateHasFullRadiationDefence=false;
- boolean leggingsHasFullRadiationDefence=false;
- boolean bootsHasFullRadiationDefence=false;
-
- boolean helmHasFullElectricalDefenceDefence=false;
- boolean chestplateHasFullElectricalDefenceDefence=false;
- boolean leggingsHasFullElectricalDefenceDefence=false;
- boolean bootsHasFullElectricalDefenceDefence=false;
- //Check each armor pieces for valid mStat value and verify that the Hash contains the StatType key
- if(helmet.mStat!= null)
- {
- if(helmet.mStat.containsKey(StatType.RADIATIONDEFENCE))
- {
- helmHasFullRadiationDefence = helmet.mStat.get(StatType.RADIATIONDEFENCE)> 0.9f;
- }
- if(helmet.mStat.containsKey(StatType.ELECTRICALDEFENCE))
- {
- helmHasFullElectricalDefenceDefence = helmet.mStat.get(StatType.RADIATIONDEFENCE)> 0.9f;
- }
- }
- if(chestplate.mStat!= null)
- {
- if(chestplate.mStat.containsKey(StatType.RADIATIONDEFENCE))
- {
- chestplateHasFullRadiationDefence = chestplate.mStat.get(StatType.RADIATIONDEFENCE)> 0.9f;
- }
- if(chestplate.mStat.containsKey(StatType.ELECTRICALDEFENCE))
- {
- chestplateHasFullElectricalDefenceDefence = chestplate.mStat.get(StatType.RADIATIONDEFENCE)> 0.9f;
- }
- }
- if(leggings.mStat!= null)
- {
- if(leggings.mStat.containsKey(StatType.RADIATIONDEFENCE))
- {
- leggingsHasFullRadiationDefence = leggings.mStat.get(StatType.RADIATIONDEFENCE)> 0.9f;
- }
- if(leggings.mStat.containsKey(StatType.ELECTRICALDEFENCE))
- {
- leggingsHasFullElectricalDefenceDefence = leggings.mStat.get(StatType.RADIATIONDEFENCE)> 0.9f;
- }
- }
- if(boots.mStat!= null)
- {
- if(boots.mStat.containsKey(StatType.RADIATIONDEFENCE))
- {
- bootsHasFullRadiationDefence = boots.mStat.get(StatType.RADIATIONDEFENCE)> 0.9f;
- }
- if(boots.mStat.containsKey(StatType.ELECTRICALDEFENCE))
- {
- bootsHasFullElectricalDefenceDefence = boots.mStat.get(StatType.RADIATIONDEFENCE)> 0.9f;
- }
- }
- //Set Status of Full Armor types
- set(mBStat, StatType.FULLRADIATIONARMOR, helmHasFullRadiationDefence&&chestplateHasFullRadiationDefence&&leggingsHasFullRadiationDefence &&bootsHasFullRadiationDefence);
- set(mBStat, StatType.FULLELECTRICARMOR, helmHasFullElectricalDefenceDefence&&chestplateHasFullElectricalDefenceDefence&&leggingsHasFullElectricalDefenceDefence &&bootsHasFullElectricalDefenceDefence);
- } else {
- //Reset Full armor type status to false for all types if StatType.FULLARMOR is false
- set(mBStat, StatType.FULLARMOR, false);
- set(mBStat, StatType.FULLRADIATIONARMOR, false);
- set(mBStat, StatType.FULLELECTRICARMOR, false);
- }
-
-
- set(mBStat, StatType.MAGNET, 0);
- set(mBStat, StatType.THORNS, 0);
- set(mBStat, StatType.PROCESSINGPOWER, 0);
- set(mBStat, StatType.PROCESSINGPOWERUSED, 0);
-
- if (helmet != null) {
- updateArmorStats(helmet,updateArmorStatTypeList );
- }
- if (chestplate != null) {
- updateArmorStats(chestplate,updateArmorStatTypeList );
-
- }
- if (leggings != null) {
- updateArmorStats(leggings,updateArmorStatTypeList );
-
- }
- if (boots != null) {
- updateArmorStats(boots,updateArmorStatTypeList );
-
- }
- isTopItem = false;
- if (type == 0) {
- isTopItem = true;
- } else if (helmet == null && type == 1) {
- isTopItem = true;
- } else if (helmet == null && chestplate == null && type == 2) {
- isTopItem = true;
- } else if (helmet == null && chestplate == null && leggings == null && type == 3) {
- isTopItem = true;
- }
- if (helmet != null) {
- maxWeight = helmet.mStat.get(StatType.WEIGHT);
- }
- if (chestplate != null) {
- maxWeight += chestplate.mStat.get(StatType.WEIGHT);
- }
- if (leggings != null) {
- maxWeight += leggings.mStat.get(StatType.WEIGHT);
- }
- if (boots != null) {
- maxWeight += boots.mStat.get(StatType.WEIGHT);
- }
- }
-
- private void updateArmorStats(ArmorData armorData, ArrayList<StatType> statTypes) {
- for (StatType statType : statTypes) {
- if(armorData == null || armorData.mStat == null || !armorData.mStat.containsKey(statType))
- continue;
-// if(armorData != null && armorData.mStat != null && armorData.mStat.containsKey(statType))
-// {
- set(mStat, statType, armorData.mStat.get(statType));
-// }
- /*change(mStat, StatType.MAGNET, armorData.mStat.get(StatType.MAGNET));
- change(mStat, StatType.THORNS, armorData.mStat.get(StatType.THORNS));
- change(mStat, StatType.PROCESSINGPOWER, armorData.mStat.get(StatType.PROCESSINGPOWER));
- change(mStat, StatType.PROCESSINGPOWERUSED, armorData.mStat.get(StatType.PROCESSINGPOWERUSED));*/
- }
-
-
- }
-
- public void set(Map aMap, StatType aType, boolean aSet){
- if(aMap.containsKey(aType))aMap.remove(aType);
- aMap.put(aType, aSet);
- }
-
- public void set(Map aMap, StatType aType, float aSet){
- if(aMap.containsKey(aType))aMap.remove(aType);
- aMap.put(aType, aSet);
- }
-
- public void change(Map aMap, StatType aType, float aChange){
- float tChange = 0;
- if(aMap==null)
- GT_FML_LOGGER.info("changeMapnull");
- if(aMap.containsKey(aType)){
- Object value = aMap.get(aType);
- tChange = value != null ? (float) aMap.get(aType) : 0.0f;
- aMap.remove(aType);
- }
- aMap.put(aType, (tChange + aChange));
- }
-
- public void dechargeComponents(int aCharge){
-
- }
-
- public double getBaseAbsorptionRatio() {
- switch (this.type) {
- case 0:
- return 0.15;
- case 1:
- return 0.40;
- case 2:
- return 0.30;
- case 3:
- return 0.15;
- default:
- return 0.00;
- }
- }
-}
diff --git a/src/main/java/gregtech/common/items/armor/ElectricModularArmor1.java b/src/main/java/gregtech/common/items/armor/ElectricModularArmor1.java
deleted file mode 100644
index d310fa4c96..0000000000
--- a/src/main/java/gregtech/common/items/armor/ElectricModularArmor1.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package gregtech.common.items.armor;
-
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-
-public class ElectricModularArmor1 extends ModularArmor_Item{
-
- public boolean mChargeProvider=false;
-
- public ElectricModularArmor1(int aArmorIndex, int aType, String name,int gui) {
- super(aArmorIndex, aType, name,gui);
- }
-
- public boolean canProvideEnergy(ItemStack aStack) {
- return mChargeProvider;
- }
-
- public Item getChargedItem(ItemStack aStack) {
- return this;
- }
-
- public Item getEmptyItem(ItemStack aStack) {
- return this;
- }
-
- public int getMaxCharge(ItemStack aStack) {
- return data.charge;
- }
-
- public int getTier(ItemStack aStack) {
- return 2;
- }
-
- public int getTransferLimit(ItemStack aStack) {
- return openGuiNr==1?128:512;
- }
-}
diff --git a/src/main/java/gregtech/common/items/armor/ModularArmor_Item.java b/src/main/java/gregtech/common/items/armor/ModularArmor_Item.java
deleted file mode 100644
index be0596fc92..0000000000
--- a/src/main/java/gregtech/common/items/armor/ModularArmor_Item.java
+++ /dev/null
@@ -1,460 +0,0 @@
-package gregtech.common.items.armor;
-
-import cpw.mods.fml.common.FMLCommonHandler;
-import cpw.mods.fml.common.Optional;
-import cpw.mods.fml.common.eventhandler.SubscribeEvent;
-import cpw.mods.fml.common.registry.GameRegistry;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.damagesources.GT_DamageSources;
-import gregtech.api.enums.GT_Values;
-import gregtech.common.items.armor.components.StatType;
-import gregtech.common.items.armor.gui.ContainerBasicArmor;
-import gregtech.common.items.armor.gui.ContainerModularArmor;
-import gregtech.common.items.armor.gui.InventoryArmor;
-import ic2.core.IC2;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.client.settings.GameSettings;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.item.EntityItem;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemArmor;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.AxisAlignedBB;
-import net.minecraft.util.DamageSource;
-import net.minecraft.world.World;
-import net.minecraftforge.common.ISpecialArmor;
-import net.minecraftforge.common.MinecraftForge;
-import net.minecraftforge.event.entity.living.LivingFallEvent;
-import thaumcraft.api.IGoggles;
-import thaumcraft.api.nodes.IRevealer;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import static gregtech.api.objects.XSTR.XSTR_INSTANCE;
-
-@Optional.InterfaceList(value = { @Optional.Interface(iface = "thaumcraft.api.IGoggles", modid = "Thaumcraft", striprefs = true),
- @Optional.Interface(iface = "thaumcraft.api.nodes.IRevealer", modid = "Thaumcraft", striprefs = true) })
-public class ModularArmor_Item extends ItemArmor implements ISpecialArmor, IGoggles, IRevealer {
-
- public String mName;
- public int timer = 160;
- public Item repairMaterial;
- public int openGuiNr;
- public ArmorData data;
- public int jumpticks;
- public int fail = 0;
-
- // public int maxEU;
-
- public ModularArmor_Item(int aArmorIndex, int aType, String name, int gui) {
- super(ArmorMaterial.DIAMOND, aArmorIndex, aType);
- MinecraftForge.EVENT_BUS.register(this);
- setUnlocalizedName("gregtech:" + name);
- GameRegistry.registerItem(this, name);
- mName = name;
- int mMaxDamage = (gui + 1) * 1024;
- mMaxDamage *= getBaseAbsorptionRatio() * 2.5;
- setMaxDamage(mMaxDamage);
- repairMaterial = Items.leather;
- openGuiNr = gui;
- }
-
- @Override
- public ItemStack onItemRightClick(ItemStack aStack, World aWorld, EntityPlayer aPlayer) {
- if (data == null) {
- data = fillArmorData(aPlayer, aStack);
- }
- if (!aWorld.isRemote) {
- aPlayer.openGui(GT_Values.GT, openGuiNr+1000, aWorld, (int) aPlayer.posX, (int) aPlayer.posY, (int) aPlayer.posZ);
- }
- return aStack;
- }
-
- @Override
- public ISpecialArmor.ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) {
- if (data == null) {
- data = fillArmorData((EntityPlayer) player, armor);
- }
- if (player != null && armor != null && source != null) {
- try{
- double tmp = 0.0d;
- if (source.isMagicDamage()) {
- tmp = data.mStat.get(StatType.MAGICDEFENCE);
- } else if (source == GT_DamageSources.getRadioactiveDamage()) {
- tmp = data.mStat.get(StatType.RADIATIONDEFENCE);
- } else if (source == GT_DamageSources.getElectricDamage()) {
- tmp = data.mStat.get(StatType.ELECTRICALDEFENCE);
- } else if (source == DamageSource.wither) {
- tmp = data.mStat.get(StatType.WITHERDEFENCE);
- } else if (source.isFireDamage() || source == GT_DamageSources.getHeatDamage()) {
- tmp = data.mStat.get(StatType.FIREDEFENCE);
- } else if (source.isExplosion()) {
- tmp = data.mStat.get(StatType.EXPLOSIONDEFENCE);
- } else if (source.isProjectile()) {
- tmp = data.mStat.get(StatType.PROJECTILEDEFENCE);
- } else {
- tmp = data.mStat.get(StatType.PHYSICALDEFENCE);
- }
- if (data.mStat.get(StatType.THORNS) > 0.1d && source != DamageSource.fall && source.getSourceOfDamage() != null) {
- source.getSourceOfDamage().attackEntityFrom(new DamageSource("Thorns"), data.mStat.get(StatType.THORNS));
- }
-
- // fallDamage
- if (source == DamageSource.fall) {
- int fallDef = 0;
- ItemStack stack = player.getEquipmentInSlot(1);
- if (stack != null && stack.getItem() instanceof ModularArmor_Item) {
- fallDef = Math.round(data.boots.mStat.get(StatType.FALLDEFENCE));
- }
- tmp = 1.0d - (fallDef > damage ? 0.0d : (1.0d - tmp) * 0.5d);
- }
- if (tmp == 0.0d) {
- tmp = data.mStat.get(StatType.PHYSICALDEFENCE);
- }
- if (openGuiNr == 2) {
- tmp = 1.0f - ((1.0f - tmp) / 2.0f);
- }
- return new ISpecialArmor.ArmorProperties(0, data.getBaseAbsorptionRatio() * tmp, 1000);
- }catch(Exception e){System.err.println(e);
- return new ISpecialArmor.ArmorProperties(0, 0, 0);
- }
-
- } else {
- return new ISpecialArmor.ArmorProperties(0, 0, 0);
- }
- }
-
- @Override
- public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) {
- if (data == null) {
- data = fillArmorData(player, armor);
- }
- int tmp = (int) -Math.floor(-(data.getBaseAbsorptionRatio() * 20 * data.mStat.get(StatType.PHYSICALDEFENCE)));
-
- return tmp;
- }
-
- public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean b) {
- if (data == null) {
- data = fillArmorData(player, itemStack);
- }
- if (data.info != null)
- info.addAll(data.info);
- }
-
- @Override
- public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) {
- if (data == null) {
- data = fillArmorData((EntityPlayer) entity, stack);
- }
- stack.damageItem(damage, entity);
- ContainerModularArmor tmp = new ContainerBasicArmor((EntityPlayer) entity, new InventoryArmor(ModularArmor_Item.class, stack));
- if (stack.getItemDamage() > stack.getMaxDamage() / 2 && XSTR_INSTANCE.nextInt(100) < 5) {
- tmp.getSlot(XSTR_INSTANCE.nextInt(tmp.getSlotCount())).decrStackSize(1);
- tmp.mInvArmor.onGuiSaved((EntityPlayer) entity);
-
- /*public void eject(ItemStack drop)
- {
- if ((!IC2.platform.isSimulating()) || (drop == null)) {
- return;
- }
- float f = 0.7F;
- double d = this.worldObj.rand.nextFloat() * f + (1.0F - f) * 0.5D;
- double d1 = this.worldObj.rand.nextFloat() * f + (1.0F - f) * 0.5D;
- double d2 = this.worldObj.rand.nextFloat() * f + (1.0F - f) * 0.5D;
- EntityItem entityitem = new EntityItem(this.worldObj, this.xCoord + d, this.yCoord + d1, this.zCoord + d2, drop);
- entityitem.delayBeforeCanPickup = 10;
- this.worldObj.spawnEntityInWorld(entityitem);
- }*/
-
- }
- }
-
- @SubscribeEvent
- public void onEntityLivingFallEvent(LivingFallEvent event) {
- if (FMLCommonHandler.instance().getEffectiveSide().isServer() && event.entity instanceof EntityPlayer) {
- EntityPlayer player = (EntityPlayer) event.entity;
- ItemStack armor = player.inventory.armorInventory[0];
- if (data != null && event != null && data.type == 3 && data.charge >= data.mStat.get(StatType.PISTONEUUSAGE) && event.distance - 3 <= data.mStat.get(StatType.FALLDEFENCE)) {
- event.setCanceled(true);
- } else if (data != null && event != null && data.type == 3 && data.charge >= data.mStat.get(StatType.PISTONEUUSAGE)) {
- event.distance -= data.mStat.get(StatType.FALLDEFENCE);
- }
- }
- }
-
- @Override
- public void onArmorTick(World aWorld, EntityPlayer aPlayer, ItemStack aStack) {
- if(fail>0){
- fail--;
- return;
- }
- try{
- if (data == null) {
- data = fillArmorData(aPlayer, aStack);
- }
- if (data.tooltipUpdate > 40) {
- data.armorPartsEquipped(aPlayer);
- data.tooltipUpdate = 0;
- data.updateTooltip();
- } else {
- data.tooltipUpdate++;
- }
- if (aPlayer.onGround) {
- jumpticks = 4;
- } else {
- jumpticks--;
- }
-
- // Breathing
- if (data.type == 0 && aPlayer.getAir() < 100 && data.fluid != null) {
- int air = 0;
- if (data.fluid.getUnlocalizedName().equals("fluid.oxygen") && data.fluid.amount >= 150) {
- aPlayer.setAir(aPlayer.getAir() + 150);
- air = 150;
- } else if (data.fluid.getUnlocalizedName().equals("fluid.air") && data.fluid.amount >= 500) {
- aPlayer.setAir(aPlayer.getAir() + 100);
- air = 500;
- }
- if (air > 0) {
- data.fluid.amount -= air;
- ItemStack stack = aPlayer.getEquipmentInSlot(4);
- if (stack != null && stack.getItem() instanceof ModularArmor_Item) {
- ModularArmor_Item tmp = (ModularArmor_Item) stack.getItem();
- ContainerModularArmor tmp2 = new ContainerBasicArmor(aPlayer, new InventoryArmor(ModularArmor_Item.class, stack));
- ArmorCalculation.useFluid(tmp2.mInvArmor.parts, air);
- }
- }
- }
- // Fill Air Tank
- if (data.tooltipUpdate == 40 && data.mStat.get(StatType.PROCESSINGPOWER) > data.mStat.get(StatType.PROCESSINGPOWERUSED) && data.type == 0 && data.fluid != null
- && data.fluid.getUnlocalizedName().equals("oxygen") && data.fluid.amount < data.mStat.get(StatType.TANKCAP) && data.charge > data.mStat.get(StatType.ELECTROLYZEREUUSAGE)) {
- data.charge -= data.mStat.get(StatType.ELECTROLYZEREUUSAGE);
- ItemStack stack = aPlayer.getEquipmentInSlot(4);
- if (stack != null && stack.getItem() instanceof ModularArmor_Item) {
- ModularArmor_Item tmp = (ModularArmor_Item) stack.getItem();
- ContainerModularArmor tmp2 = new ContainerBasicArmor(aPlayer, new InventoryArmor(ModularArmor_Item.class, stack));
- ArmorCalculation.useFluid(tmp2.mInvArmor.parts, -Math.round(data.mStat.get(StatType.ELECTROLYZERPROD)));
- }
- }
-
- if (data.isTopItem) {
- if(IC2.keyboard.isModeSwitchKeyDown(aPlayer)&&!aWorld.isRemote){
- int typeMod=0;
- switch(data.type){
- case 0:
- typeMod=400;
- break;
- case 1:
- typeMod=300;
- break;
- case 2:
- typeMod=200;
- break;
- case 3:
- typeMod=100;
- break;
- }
- aPlayer.openGui(GT_Values.GT, openGuiNr+(typeMod), aWorld, (int) aPlayer.posX, (int) aPl