aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/item
diff options
context:
space:
mode:
author‭huajijam <strhuaji@gmail.com>2019-04-19 18:29:22 +0800
committer‭huajijam <strhuaji@gmail.com>2019-04-19 18:29:22 +0800
commit399674bb9946664a880ee5e26690eb98f9aa7170 (patch)
tree7da9495cfd23b3582896428e2481afdddceb0e1b /src/Java/gtPlusPlus/core/item
parent98649eab067e2ffd4c6983fe44f75b65ffb0954b (diff)
parent7f7eecf6a84264ca229f6b8d6759004a9a21ae5d (diff)
downloadGT5-Unofficial-399674bb9946664a880ee5e26690eb98f9aa7170.tar.gz
GT5-Unofficial-399674bb9946664a880ee5e26690eb98f9aa7170.tar.bz2
GT5-Unofficial-399674bb9946664a880ee5e26690eb98f9aa7170.zip
Automatic synchronization
Diffstat (limited to 'src/Java/gtPlusPlus/core/item')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java31
-rw-r--r--src/Java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java123
-rw-r--r--src/Java/gtPlusPlus/core/item/bauble/ElectricBaseBauble.java199
-rw-r--r--src/Java/gtPlusPlus/core/item/bauble/MonsterKillerBaseBauble.java175
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java28
-rw-r--r--src/Java/gtPlusPlus/core/item/wearable/armour/hazmat/ArmourHazmat.java117
6 files changed, 555 insertions, 118 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index e8f0e31458..68aacd6943 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -32,6 +32,7 @@ import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble;
import gtPlusPlus.core.item.bauble.BatteryPackBaseBauble;
import gtPlusPlus.core.item.bauble.HealthBoostBauble;
import gtPlusPlus.core.item.bauble.ModularBauble;
+import gtPlusPlus.core.item.bauble.MonsterKillerBaseBauble;
import gtPlusPlus.core.item.chemistry.AgriculturalChem;
import gtPlusPlus.core.item.chemistry.CoalTar;
import gtPlusPlus.core.item.chemistry.GenericChem;
@@ -345,6 +346,15 @@ public final class ModItems {
public static CoreItem itemDetCable;
public static ItemThrowableBomb itemBomb;
+ public static MonsterKillerBaseBauble itemAmuletMonsterKiller_Zombie;
+ public static MonsterKillerBaseBauble itemAmuletMonsterKiller_Skeleton;
+ public static MonsterKillerBaseBauble itemAmuletMonsterKiller_Spider;
+ public static MonsterKillerBaseBauble itemAmuletMonsterKiller_Creeper;
+ public static MonsterKillerBaseBauble itemAmuletMonsterKiller_Enderman;
+
+ public static MonsterKillerBaseBauble itemAmuletMonsterKiller_Nether;
+ public static MonsterKillerBaseBauble itemAmuletMonsterKiller_Infernal;
+
static {
Logger.INFO("Items!");
//Default item used when recipes fail, handy for debugging. Let's make sure they exist when this class is called upon.
@@ -522,7 +532,13 @@ public final class ModItems {
MaterialGenerator.generate(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN);
MaterialGenerator.generate(ELEMENT.STANDALONE.HYPOGEN);
MaterialGenerator.generate(ELEMENT.STANDALONE.CHRONOMATIC_GLASS);
-
+
+ //Custom Materials that are from Runescape
+ MaterialGenerator.generate(ELEMENT.STANDALONE.BLACK_METAL);
+ MaterialGenerator.generate(ELEMENT.STANDALONE.WHITE_METAL);
+ MaterialGenerator.generate(ELEMENT.STANDALONE.GRANITE, false, false);
+ MaterialGenerator.generate(ELEMENT.STANDALONE.RUNITE, false);
+ MaterialGenerator.generate(ELEMENT.STANDALONE.DRAGON_METAL, false);
//Carbides - Tungsten Carbide exists in .09 so don't generate it. - Should still come before alloys though
if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK){
@@ -634,6 +650,17 @@ public final class ModItems {
MaterialGenerator.generate(ALLOY.TITANSTEEL);
MaterialGenerator.generate(ALLOY.ARCANITE);
MaterialGenerator.generate(ALLOY.OCTIRON);
+
+ MaterialGenerator.generate(ALLOY.BABBIT_ALLOY, false);
+ MaterialGenerator.generate(ALLOY.BLACK_TITANIUM, false);
+
+
+
+
+
+
+
+
//Must be the final Alloy to Generate
MaterialGenerator.generate(ALLOY.QUANTUM);
@@ -812,7 +839,7 @@ public final class ModItems {
else {
itemHotTitaniumIngot = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("ingotHotTitanium", 1);
}
- GT_Values.RA.addBlastRecipe(ELEMENT.getInstance().TITANIUM.getIngot(1), null, itemHotTitaniumIngot, null, 10 * 20, 512, Materials.Titanium.mBlastFurnaceTemp);
+ GT_Values.RA.addBlastRecipe(ELEMENT.getInstance().TITANIUM.getIngot(1), CI.getNumberedCircuit(16), itemHotTitaniumIngot, null, 10 * 20, 500, Materials.Titanium.mBlastFurnaceTemp);
//Special Sillyness
if (true) {
diff --git a/src/Java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java b/src/Java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java
index cc7979825a..2d9b35ac63 100644
--- a/src/Java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java
+++ b/src/Java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java
@@ -3,20 +3,16 @@ package gtPlusPlus.core.item.bauble;
import java.util.List;
import baubles.api.BaubleType;
-import baubles.api.IBauble;
-import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.GT_Values;
-import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.xmod.gregtech.common.helpers.ChargingHelper;
import ic2.api.item.ElectricItem;
import ic2.api.item.IElectricItem;
-import ic2.api.item.IElectricItemManager;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
@@ -28,23 +24,12 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
-@Optional.InterfaceList(value = { @Optional.Interface(iface = "baubles.api.IBauble", modid = "Baubles"),
- @Optional.Interface(iface = "baubles.api.BaubleType", modid = "Baubles") })
-public class BatteryPackBaseBauble extends BaseBauble implements IElectricItem, IElectricItemManager, IBauble {
+public class BatteryPackBaseBauble extends ElectricBaseBauble {
- final int mTier;
- private final double maxValueEU;
public BatteryPackBaseBauble(int tier) {
- super(BaubleType.BELT, "GTPP.BattPack.0" + tier + ".name", 0);
- mTier = tier;
- maxValueEU = GT_Values.V[mTier] * 20 * 300;
- String aUnlocalName = "GTPP.BattPack.0" + mTier + ".name";
- this.setUnlocalizedName(aUnlocalName);
- this.setTextureName(CORE.MODID + ":" + "chargepack/"+tier);
- this.setMaxDamage(27);
- this.setMaxStackSize(1);
- this.setNoRepair();
+ super(BaubleType.BELT, tier, GT_Values.V[tier] * 20 * 300, "GTPP.BattPack.0" + tier + ".name");
+ String aUnlocalName = "GTPP.BattPack.0" + tier + ".name";
this.setCreativeTab(AddToCreativeTab.tabMachines);
if (GameRegistry.findItem(CORE.MODID, aUnlocalName) == null) {
GameRegistry.registerItem(this, aUnlocalName);
@@ -82,46 +67,11 @@ public class BatteryPackBaseBauble extends BaseBauble implements IElectricItem,
}
@Override
- public Item getChargedItem(final ItemStack itemStack) {
- final ItemStack x = itemStack.copy();
- x.setItemDamage(27);
- return x.getItem();
- }
-
- @Override
- public Item getEmptyItem(final ItemStack itemStack) {
- final ItemStack x = itemStack.copy();
- x.setItemDamage(0);
- return x.getItem();
- }
-
- @Override
- public double getMaxCharge(final ItemStack itemStack) {
- return maxValueEU;
- }
-
- @Override
- public int getTier(final ItemStack itemStack) {
- return mTier;
- }
-
- @Override
- public double getTransferLimit(final ItemStack itemStack) {
- return GT_Values.V[mTier];
- }
-
- @Override
public String getItemStackDisplayName(final ItemStack p_77653_1_) {
return (EnumChatFormatting.BLUE + super.getItemStackDisplayName(p_77653_1_) + EnumChatFormatting.GRAY);
}
@Override
- public double getDurabilityForDisplay(final ItemStack stack) {
- // return 1.0D - getEnergyStored(stack) / this.capacity;
- return 1.0D - (this.getCharge(stack) / this.getMaxCharge(stack));
- }
-
- @Override
public boolean showDurabilityBar(final ItemStack stack) {
return true;
}
@@ -140,71 +90,17 @@ public class BatteryPackBaseBauble extends BaseBauble implements IElectricItem,
String aString2 = StatCollector.translateToLocal("GTPP.battpack.tooltip.2");
String aString3 = StatCollector.translateToLocal("GTPP.battpack.tooltip.3");
String aString4 = StatCollector.translateToLocal("GTPP.battpack.tooltip.4");
-
- String aEuInfo = StatCollector.translateToLocal("GTPP.info.euInfo");
- String aTier = StatCollector.translateToLocal("GTPP.machines.tier");
- String aInputLimit = StatCollector.translateToLocal("GTPP.info.inputLimit");
- String aCurrentPower = StatCollector.translateToLocal("GTPP.info.currentPower");
+
String aEU = StatCollector.translateToLocal("GTPP.info.eu");
String aEUT = aEU+"/t";
list.add(EnumChatFormatting.GREEN + aString1 + EnumChatFormatting.GRAY);
list.add(EnumChatFormatting.GREEN + aString2+" " + (int) getTransferLimit(stack) + aEUT +" "+ aString3 + EnumChatFormatting.GRAY);
list.add(EnumChatFormatting.GREEN + aString4 + EnumChatFormatting.GRAY);
- list.add("");
- list.add(EnumChatFormatting.GOLD + aEuInfo + EnumChatFormatting.GRAY);
- list.add(EnumChatFormatting.GRAY + aTier+": [" + EnumChatFormatting.YELLOW + this.getTier(stack)
- + EnumChatFormatting.GRAY + "] "+aInputLimit+": [" + EnumChatFormatting.YELLOW
- + this.getTransferLimit(stack) + EnumChatFormatting.GRAY + aEUT);
- list.add(EnumChatFormatting.GRAY + aCurrentPower +": [" + EnumChatFormatting.YELLOW + (long) this.getCharge(stack)
- + EnumChatFormatting.GRAY + aEU +"] [" + EnumChatFormatting.YELLOW
- + MathUtils.findPercentage(this.getCharge(stack), this.getMaxCharge(stack)) + EnumChatFormatting.GRAY
- + "%]");
super.addInformation(stack, aPlayer, list, bool);
}
@Override
- public double charge(final ItemStack stack, final double amount, final int tier, final boolean ignoreTransferLimit,
- final boolean simulate) {
-
- if (!simulate) {
- ElectricItem.manager.charge(stack, amount, tier, true, simulate);
-
- }
- return ElectricItem.manager.charge(stack, amount, tier, true, simulate);
- }
-
- @Override
- public double discharge(final ItemStack stack, final double amount, final int tier,
- final boolean ignoreTransferLimit, final boolean externally, final boolean simulate) {
- if (!simulate) {
- ElectricItem.manager.discharge(stack, amount, tier, ignoreTransferLimit, externally, simulate);
- }
-
- return ElectricItem.manager.discharge(stack, amount, tier, ignoreTransferLimit, externally, simulate);
- }
-
- @Override
- public double getCharge(final ItemStack stack) {
- return ElectricItem.manager.getCharge(stack);
- }
-
- @Override
- public boolean canUse(final ItemStack stack, final double amount) {
- return ElectricItem.manager.canUse(stack, amount);
- }
-
- @Override
- public boolean use(final ItemStack stack, final double amount, final EntityLivingBase entity) {
- return ElectricItem.manager.use(stack, amount, entity);
- }
-
- @Override
- public void chargeFromArmor(final ItemStack stack, final EntityLivingBase entity) {
- ElectricItem.manager.chargeFromArmor(stack, entity);
- }
-
- @Override
public String getToolTip(final ItemStack stack) {
return ElectricItem.manager.getToolTip(stack);
}
@@ -219,11 +115,6 @@ public class BatteryPackBaseBauble extends BaseBauble implements IElectricItem,
return true;
}
- @Override
- public BaubleType getBaubleType(final ItemStack arg0) {
- return BaubleType.BELT;
- }
-
@Override // TODO
public void onEquipped(final ItemStack arg0, final EntityLivingBase arg1) {
@@ -349,4 +240,10 @@ public class BatteryPackBaseBauble extends BaseBauble implements IElectricItem,
}
}
+ @Override
+ public String getTextureNameForBauble() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/item/bauble/ElectricBaseBauble.java b/src/Java/gtPlusPlus/core/item/bauble/ElectricBaseBauble.java
new file mode 100644
index 0000000000..fb490285e9
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/bauble/ElectricBaseBauble.java
@@ -0,0 +1,199 @@
+package gtPlusPlus.core.item.bauble;
+
+import java.util.List;
+
+import baubles.api.BaubleType;
+import baubles.api.IBauble;
+import cpw.mods.fml.common.Optional;
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.GT_Values;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.xmod.gregtech.common.helpers.ChargingHelper;
+import ic2.api.item.ElectricItem;
+import ic2.api.item.IElectricItem;
+import ic2.api.item.IElectricItemManager;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+
+@Optional.InterfaceList(value = { @Optional.Interface(iface = "baubles.api.IBauble", modid = "Baubles"),
+@Optional.Interface(iface = "baubles.api.BaubleType", modid = "Baubles") })
+public abstract class ElectricBaseBauble extends BaseBauble implements IElectricItem, IElectricItemManager, IBauble {
+
+ public final int mTier;
+ private final double maxValueEU;
+ private final BaubleType mType;
+
+ public ElectricBaseBauble(BaubleType aType, int aTier, double aMaxEU, String aUnlocalName) {
+ super(aType, aUnlocalName, 0);
+ mType = aType;
+ mTier = aTier;
+ maxValueEU = aMaxEU;
+ this.setUnlocalizedName(aUnlocalName);
+ this.setTextureName(getTextureNameForBauble());
+ this.setMaxDamage(27);
+ this.setMaxStackSize(1);
+ this.setNoRepair();
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
+ if (GameRegistry.findItem(CORE.MODID, aUnlocalName) == null) {
+ GameRegistry.registerItem(this, aUnlocalName);
+ }
+ }
+
+ public abstract String getTextureNameForBauble();
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) {
+ ItemStack itemStack = new ItemStack(this, 1);
+ ItemStack charged;
+ if (this.getEmptyItem(itemStack) == this) {
+ charged = new ItemStack(this, 1);
+ ElectricItem.manager.charge(charged, 0.0D, Integer.MAX_VALUE, true, false);
+ itemList.add(charged);
+ }
+ if (this.getChargedItem(itemStack) == this) {
+ charged = new ItemStack(this, 1);
+ ElectricItem.manager.charge(charged, Double.POSITIVE_INFINITY, Integer.MAX_VALUE, true, false);
+ itemList.add(charged);
+ }
+
+ }
+
+ @Override
+ public void onUpdate(final ItemStack itemStack, final World worldObj, final Entity player, final int p_77663_4_,
+ final boolean p_77663_5_) {
+ super.onUpdate(itemStack, worldObj, player, p_77663_4_, p_77663_5_);
+ }
+
+ @Override
+ public boolean canProvideEnergy(final ItemStack itemStack) {
+ double aItemCharge = ElectricItem.manager.getCharge(itemStack);
+ return aItemCharge > 0;
+ }
+
+ @Override
+ public final Item getChargedItem(final ItemStack itemStack) {
+ final ItemStack x = itemStack.copy();
+ x.setItemDamage(27);
+ return x.getItem();
+ }
+
+ @Override
+ public final Item getEmptyItem(final ItemStack itemStack) {
+ final ItemStack x = itemStack.copy();
+ x.setItemDamage(0);
+ return x.getItem();
+ }
+
+ @Override
+ public final double getMaxCharge(final ItemStack itemStack) {
+ return maxValueEU;
+ }
+
+ @Override
+ public final int getTier(final ItemStack itemStack) {
+ return mTier;
+ }
+
+ @Override
+ public final double getTransferLimit(final ItemStack itemStack) {
+ return GT_Values.V[mTier];
+ }
+
+ @Override
+ public final double getDurabilityForDisplay(final ItemStack stack) {
+ return 1.0D - (this.getCharge(stack) / this.getMaxCharge(stack));
+ }
+
+ @Override
+ public boolean showDurabilityBar(final ItemStack stack) {
+ return true;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
+ list.add("");
+ String aEuInfo = StatCollector.translateToLocal("GTPP.info.euInfo");
+ String aTier = StatCollector.translateToLocal("GTPP.machines.tier");
+ String aInputLimit = StatCollector.translateToLocal("GTPP.info.inputLimit");
+ String aCurrentPower = StatCollector.translateToLocal("GTPP.info.currentPower");
+ String aEU = StatCollector.translateToLocal("GTPP.info.eu");
+ String aEUT = aEU+"/t";
+
+ list.add(EnumChatFormatting.GOLD + aEuInfo + EnumChatFormatting.GRAY);
+ list.add(EnumChatFormatting.GRAY + aTier+": [" + EnumChatFormatting.YELLOW + this.getTier(stack)
+ + EnumChatFormatting.GRAY + "] "+aInputLimit+": [" + EnumChatFormatting.YELLOW
+ + this.getTransferLimit(stack) + EnumChatFormatting.GRAY + aEUT);
+ list.add(EnumChatFormatting.GRAY + aCurrentPower +": [" + EnumChatFormatting.YELLOW + (long) this.getCharge(stack)
+ + EnumChatFormatting.GRAY + aEU +"] [" + EnumChatFormatting.YELLOW
+ + MathUtils.findPercentage(this.getCharge(stack), this.getMaxCharge(stack)) + EnumChatFormatting.GRAY
+ + "%]");
+ super.addInformation(stack, aPlayer, list, bool);
+ }
+
+ @Override
+ public final double charge(final ItemStack stack, final double amount, final int tier, final boolean ignoreTransferLimit,
+ final boolean simulate) {
+ /*if (!simulate) {
+ ElectricItem.manager.charge(stack, amount, tier, true, simulate);
+ }*/
+
+ return ElectricItem.manager.charge(stack, amount, tier, true, simulate);
+ }
+
+ @Override
+ public final double discharge(final ItemStack stack, final double amount, final int tier,
+ final boolean ignoreTransferLimit, final boolean externally, final boolean simulate) {
+ /*if (!simulate) {
+ ElectricItem.manager.discharge(stack, amount, tier, ignoreTransferLimit, externally, simulate);
+ }*/
+
+ return ElectricItem.manager.discharge(stack, amount, tier, ignoreTransferLimit, externally, simulate);
+ }
+
+ @Override
+ public final double getCharge(final ItemStack stack) {
+ return ElectricItem.manager.getCharge(stack);
+ }
+
+ @Override
+ public final boolean canUse(final ItemStack stack, final double amount) {
+ return ElectricItem.manager.canUse(stack, amount);
+ }
+
+ @Override
+ public final boolean use(final ItemStack stack, final double amount, final EntityLivingBase entity) {
+ return ElectricItem.manager.use(stack, amount, entity);
+ }
+
+ @Override
+ public final void chargeFromArmor(final ItemStack stack, final EntityLivingBase entity) {
+ ElectricItem.manager.chargeFromArmor(stack, entity);
+ }
+
+ @Override
+ public String getToolTip(final ItemStack stack) {
+ //return ElectricItem.manager.getToolTip(stack);
+ return null;
+ }
+
+ @Override
+ public final BaubleType getBaubleType(final ItemStack arg0) {
+ return mType;
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/item/bauble/MonsterKillerBaseBauble.java b/src/Java/gtPlusPlus/core/item/bauble/MonsterKillerBaseBauble.java
new file mode 100644
index 0000000000..aa89ff1627
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/bauble/MonsterKillerBaseBauble.java
@@ -0,0 +1,175 @@
+package gtPlusPlus.core.item.bauble;
+
+import java.util.List;
+
+import baubles.api.BaubleType;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.enums.GT_Values;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.api.objects.minecraft.AABB;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
+import gtPlusPlus.core.util.minecraft.EntityUtils;
+import gtPlusPlus.core.util.minecraft.PlayerUtils;
+import ic2.api.item.ElectricItem;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+
+public class MonsterKillerBaseBauble extends ElectricBaseBauble {
+
+ private final Class[] mTargets;
+
+ public MonsterKillerBaseBauble(Class[] aMonsterBaseClassArray, String aMonsterTypeName, int aPowerTier) {
+ super(BaubleType.AMULET, aPowerTier, GT_Values.V[aPowerTier] * 20 * 300,
+ "GTPP.MonsterKiller." + aMonsterTypeName + ".name");
+ mTargets = aMonsterBaseClassArray;
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) {
+ ItemStack itemStack = new ItemStack(this, 1);
+ ItemStack charged;
+ if (this.getEmptyItem(itemStack) == this) {
+ charged = new ItemStack(this, 1);
+ ElectricItem.manager.charge(charged, 0.0D, Integer.MAX_VALUE, true, false);
+ itemList.add(charged);
+ }
+ if (this.getChargedItem(itemStack) == this) {
+ charged = new ItemStack(this, 1);
+ ElectricItem.manager.charge(charged, Double.POSITIVE_INFINITY, Integer.MAX_VALUE, true, false);
+ itemList.add(charged);
+ }
+
+ }
+
+ @Override
+ public void onUpdate(final ItemStack itemStack, final World worldObj, final Entity player, final int p_77663_4_,
+ final boolean p_77663_5_) {
+ super.onUpdate(itemStack, worldObj, player, p_77663_4_, p_77663_5_);
+ }
+
+ @Override
+ public boolean canProvideEnergy(final ItemStack itemStack) {
+ double aItemCharge = ElectricItem.manager.getCharge(itemStack);
+ return aItemCharge > 0;
+ }
+
+ @Override
+ public String getItemStackDisplayName(final ItemStack p_77653_1_) {
+ return (EnumChatFormatting.WHITE + super.getItemStackDisplayName(p_77653_1_) + EnumChatFormatting.GRAY);
+ }
+
+ @Override
+ public boolean showDurabilityBar(final ItemStack stack) {
+ return true;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
+ list.add("");
+ String aString1 = StatCollector.translateToLocal("GTPP.monsterkiller.tooltip.1");
+ String aString2 = StatCollector.translateToLocal("GTPP.monsterkiller.tooltip.2");
+ String aString3 = StatCollector.translateToLocal("GTPP.monsterkiller.tooltip.3");
+ String aString4 = StatCollector.translateToLocal("GTPP.monsterkiller.tooltip.4");
+ String aEU = StatCollector.translateToLocal("GTPP.info.eu");
+ String aEUT = aEU + "/t";
+
+ list.add(EnumChatFormatting.GREEN + aString1 + EnumChatFormatting.GRAY);
+ list.add(EnumChatFormatting.GREEN + aString2 + " " + (int) getTransferLimit(stack) + aEUT + " " + aString3
+ + EnumChatFormatting.GRAY);
+ list.add("");
+ list.add("" + EnumChatFormatting.GREEN + aString4 + " " + EnumChatFormatting.GRAY);
+ for (Class cz : mTargets) {
+ list.add("- " + EnumChatFormatting.DARK_GREEN + cz.getSimpleName().replace("Entity", "") + EnumChatFormatting.GRAY);
+ }
+
+ super.addInformation(stack, aPlayer, list, bool);
+ }
+
+ @Override
+ public boolean canEquip(final ItemStack arg0, final EntityLivingBase arg1) {
+ return true;
+ }
+
+ @Override
+ public boolean canUnequip(final ItemStack arg0, final EntityLivingBase arg1) {
+ return true;
+ }
+
+ @Override
+ public void onEquipped(final ItemStack arg0, final EntityLivingBase arg1) {
+
+ }
+
+ @Override
+ public void onUnequipped(final ItemStack arg0, final EntityLivingBase arg1) {
+
+ }
+
+ @Override // TODO
+ public void onWornTick(final ItemStack aBaubleStack, final EntityLivingBase aPlayerEntity) {
+ if (aPlayerEntity == null) {
+ return;
+ }
+ EntityPlayer aPlayer = (EntityPlayer) aPlayerEntity;
+ if (!aPlayer.worldObj.isRemote) {
+ if (this.getCharge(aBaubleStack) >= getTransferLimit(aBaubleStack)) {
+ AABB aPlayerBox = new AABB(aPlayerEntity, 5, 5, 5);
+ if (this.mTargets != null && this.mTargets.length > 0) {
+ for (Class clazz : mTargets) {
+ AutoMap<?> aEnts = EntityUtils.getEntitiesWithinBoundingBox(clazz, aPlayerBox);
+ if (aEnts.isEmpty()) {
+ continue;
+ } else {
+ EntityLiving aClosest = null;
+ double aEntityDistance = Short.MIN_VALUE;
+ for (Object ent : aEnts) {
+ if (!EntityLiving.class.isInstance(ent)) {
+ continue;
+ } else {
+ double aCurEntDis = EntityUtils.getDistance(aPlayerEntity, (Entity) ent);
+ if (aEntityDistance == Short.MIN_VALUE || aCurEntDis < aEntityDistance) {
+ aEntityDistance = aCurEntDis;
+ aClosest = (EntityLiving) ent;
+ }
+ }
+ }
+ if (aClosest != null) {
+ float aEntHealth = aClosest.getHealth();
+ float aEntMaxHealth = aClosest.getMaxHealth();
+ double aEntHealthPerc = MathUtils.findPercentage(aEntHealth, aEntMaxHealth);
+ long aEuUsage = (long) (aEntHealthPerc * 50 * aEntMaxHealth);
+ if (this.discharge(aBaubleStack, aEuUsage, mTier, true, false, false) > 0) {
+ aClosest.setDead();
+ PlayerUtils.messagePlayer(aPlayer, "Removed 1x "+aClosest.getCommandSenderName());
+ break;
+ }
+ } else {
+ continue;
+ }
+ }
+ }
+ }
+ } else {
+ return;
+ }
+ }
+ }
+
+ @Override
+ public String getTextureNameForBauble() {
+ return CORE.MODID + ":" + "baubles/itemAmulet";
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
index 02afada849..ec1d51b502 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
@@ -2,8 +2,11 @@ package gtPlusPlus.core.item.chemistry;
import gregtech.api.enums.TextureSet;
import gtPlusPlus.api.objects.minecraft.ItemPackage;
+import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.material.MaterialGenerator;
+import gtPlusPlus.core.material.MaterialStack;
+import gtPlusPlus.core.material.NONMATERIAL;
import gtPlusPlus.core.material.state.MaterialState;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
@@ -18,9 +21,28 @@ public class GenericChem extends ItemPackage {
* Materials
*/
- public static final Material BAKELITE = new Material("Bakelite", MaterialState.SOLID, TextureSet.SET_DULL, new short[]{90, 140, 140}, 120, 240, 23, 24, true, "", 0);//Not a GT Inherited Material
- public static final Material NYLON = new Material("Nylon", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{45, 45, 45}, 300, 600, 44, 48, true, "", 0);//Not a GT Inherited Material
- public static final Material TEFLON = new Material("Teflon", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{75, 45, 75}, 300, 600, 44, 48, true, "", 0);//Not a GT Inherited Material
+ public static final Material BAKELITE = new Material("Bakelite", MaterialState.SOLID, TextureSet.SET_DULL, new short[]{90, 140, 140}, 120, 240, 23, 24, true, null, 0);//Not a GT Inherited Material
+ public static final Material NYLON = new Material("Nylon", MaterialState.SOLID, TextureSet.SET_SHINY, new short[]{45, 45, 45}, 300, 600, 44, 48, true, null, 0);//Not a GT Inherited Material
+
+ //Refined PTFE
+ public static final Material TEFLON = new Material(
+ "Teflon",
+ MaterialState.SOLID,
+ TextureSet.SET_SHINY,
+ new short[] { 75, 45, 75 },
+ 330, 640,
+ -1, -1,
+ false,
+ null,
+ 0,
+ new MaterialStack[] {
+ new MaterialStack(NONMATERIAL.PTFE, 75),
+ new MaterialStack(NONMATERIAL.PLASTIC, 15),
+ new MaterialStack(ELEMENT.getInstance().CARBON, 5),
+ new MaterialStack(ELEMENT.getInstance().SODIUM, 5)
+ });// Not a GT
+ // Inherited
+ // Material
//public static final Material HYPOGEN = new Material("Hypogen", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{220, 120, 75}, 12255, 19377, 240, 251, true, "Hy⚶", 0);//Not a GT Inherited Material
//public static final Material HYPOGEN = new Material("Hypogen", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{220, 120, 75}, 12255, 19377, 240, 251, true, "Hy⚶", 0);//Not a GT Inherited Material
diff --git a/src/Java/gtPlusPlus/core/item/wearable/armour/hazmat/ArmourHazmat.java b/src/Java/gtPlusPlus/core/item/wearable/armour/hazmat/ArmourHazmat.java
new file mode 100644
index 0000000000..9fd7bf7020
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/wearable/armour/hazmat/ArmourHazmat.java
@@ -0,0 +1,117 @@
+package gtPlusPlus.core.item.wearable.armour.hazmat;
+
+import java.util.List;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.core.item.wearable.armour.ArmourLoader;
+import gtPlusPlus.core.item.wearable.armour.base.BaseArmourHelm;
+import gtPlusPlus.core.lib.CORE;
+import net.minecraft.client.renderer.texture.IIconRegister;
+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.item.EnumRarity;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+public class ArmourHazmat extends BaseArmourHelm {
+
+ public IIcon iconHelm;
+
+ public ArmourHazmat() {
+ super(ArmourLoader.TinFoilArmour, 0);
+ }
+
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(IIconRegister ir) {
+ this.iconHelm = ir.registerIcon(CORE.MODID + ":itemHatTinFoil");
+ }
+
+ @Override
+ public int getRenderIndex() {
+ return 0;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamage(int par1) {
+ return this.iconHelm;
+ }
+
+ public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) {
+ return CORE.MODID + ":textures/models/TinFoil.png";
+ }
+
+ public EnumRarity getRarity(ItemStack itemstack) {
+ return EnumRarity.rare;
+ }
+
+ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) {
+ return false;
+ }
+
+ @Override
+ public int getArmorDisplay(EntityPlayer player, ItemStack armor, int slot) {
+ return super.getArmorDisplay(player, armor, slot);
+ }
+
+ @Override
+ public void damageArmor(EntityLivingBase entity, ItemStack stack, DamageSource source, int damage, int slot) {
+
+ }
+
+ @SuppressWarnings({ "unchecked" })
+ @Override
+ public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_, List aList, boolean p_77624_4_) {
+ aList.add("DoomSquirter's protection against cosmic radiation!");
+ aList.add("General paranoia makes the wearer unable to collect xp");
+ aList.add("Movement speed is also reduced, to keep you safe");
+ aList.add("This hat may also have other strange powers");
+ }
+
+ @Override
+ public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage,
+ int slot) {
+ return new ArmorProperties(0, 0, 0);
+ }
+
+ @Override
+ public boolean isDamageable() {
+ return false;
+ }
+
+ @Override
+ public boolean itemInteractionForEntity(ItemStack p_111207_1_, EntityPlayer p_111207_2_,
+ EntityLivingBase p_111207_3_) {
+ return super.itemInteractionForEntity(p_111207_1_, p_111207_2_, p_111207_3_);
+ }
+
+ @Override
+ public void onUpdate(ItemStack aStack, World aWorld, Entity aEntity, int p_77663_4_, boolean p_77663_5_) {
+ super.onUpdate(aStack, aWorld, aEntity, p_77663_4_, p_77663_5_);
+ }
+
+ @Override
+ public boolean onEntityItemUpdate(EntityItem entityItem) {
+ return super.onEntityItemUpdate(entityItem);
+ }
+
+ @Override
+ public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
+ if (itemStack != null && player != null && world != null && !world.isRemote) {
+ if (player instanceof EntityPlayer) {
+
+ }
+ }
+ super.onArmorTick(world, player, itemStack);
+ }
+
+ @Override
+ public boolean showDurabilityBar(ItemStack stack) {
+ return false;
+ }
+
+}