aboutsummaryrefslogtreecommitdiff
path: root/src/Java/miscutil
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-07-09 15:20:13 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-07-09 15:20:13 +1000
commitd5876aa359a86b5794653fd05721e43d59da670e (patch)
tree58af97186759d759a9593c182369830b78d1f003 /src/Java/miscutil
parent3c36dfcc0bb42b74ac918bb514e2cde9ff785a40 (diff)
downloadGT5-Unofficial-d5876aa359a86b5794653fd05721e43d59da670e.tar.gz
GT5-Unofficial-d5876aa359a86b5794653fd05721e43d59da670e.tar.bz2
GT5-Unofficial-d5876aa359a86b5794653fd05721e43d59da670e.zip
+ Added 4 Types of Kinetic Rotor for IC2
% Changed internal handling of Rotors to better support them.
Diffstat (limited to 'src/Java/miscutil')
-rw-r--r--src/Java/miscutil/core/xmod/ic2/item/IC2_Items.java29
-rw-r--r--src/Java/miscutil/core/xmod/ic2/item/RotorBase.java72
-rw-r--r--src/Java/miscutil/core/xmod/ic2/item/RotorCustom.java94
-rw-r--r--src/Java/miscutil/core/xmod/ic2/item/RotorIridium.java122
4 files changed, 173 insertions, 144 deletions
diff --git a/src/Java/miscutil/core/xmod/ic2/item/IC2_Items.java b/src/Java/miscutil/core/xmod/ic2/item/IC2_Items.java
index 7d3fd5506c..37bbdf5022 100644
--- a/src/Java/miscutil/core/xmod/ic2/item/IC2_Items.java
+++ b/src/Java/miscutil/core/xmod/ic2/item/IC2_Items.java
@@ -1,27 +1,28 @@
package miscutil.core.xmod.ic2.item;
+import ic2.core.IC2;
import ic2.core.init.InternalName;
import miscutil.core.creative.AddToCreativeTab;
-import miscutil.core.lib.CORE;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
public class IC2_Items {
- public static ItemStack woodrotor;
- public static ItemStack ironrotor;
- public static ItemStack steelrotor;
- public static ItemStack carbonrotor;
- public static ItemStack woodrotorblade;
- public static ItemStack ironrotorblade;
- public static ItemStack steelrotorblade;
- public static ItemStack carbonrotorblade;
+ public static ItemStack rotor_Material_1; //Energetic Alloy
+ public static ItemStack rotor_Material_2; //TungstenSteel
+ public static ItemStack rotor_Material_3; //Vibrant Alloy
+ public static ItemStack rotor_Material_4; //Iridium
+
+ public static ItemStack rotor_Blade_Material_1;
+ public static ItemStack rotor_Blade_Material_2;
+ public static ItemStack rotor_Blade_Material_3;
+ public static ItemStack rotor_Blade_Material_4;
public static void register(){
- //woodrotor = new ItemStack(new ItemWindRotor(InternalName.itemwoodrotor, 5, 10800, 0.25F, 10, 60, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorWoodmodel.png")));
- //ironrotor = new ItemStack(new ItemWindRotor(InternalName.itemironrotor, 7, 86400, 0.5F, 14, 75, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIronmodel.png")));
- steelrotor = new ItemStack(new RotorBase(InternalName.itemsteelrotor, 13, 172800, 1.5F, 15, 320, new ResourceLocation(CORE.MODID, "textures/items/rotorIridiumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("Kinetic Gearbox Rotor (Iridium)"));
- carbonrotor = new ItemStack(new RotorCustom("itemIridiumRotor", 13, 320000, 1.5F, 15, 320, new ResourceLocation(CORE.MODID, "textures/items/rotorIridiumModel.png")));
- }
+ rotor_Material_1 = new ItemStack(new RotorBase(InternalName.itemsteelrotor, 9, 512000, 0.9F, 12, 80, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemEnergeticRotor"));
+ rotor_Material_2 = new ItemStack(new RotorBase(InternalName.itemsteelrotor, 11, 809600, 1.0F, 14, 120, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemTungstenSteelRotor"));
+ rotor_Material_3 = new ItemStack(new RotorBase(InternalName.itemsteelrotor, 13, 1600000, 1.2F, 16, 160, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("ItemVibrantRotor"));
+ rotor_Material_4 = new ItemStack(new RotorBase(InternalName.itemsteelrotor, 15, 3200000, 1.5F, 18, 320, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemIridiumRotor"));
+ }
}
diff --git a/src/Java/miscutil/core/xmod/ic2/item/RotorBase.java b/src/Java/miscutil/core/xmod/ic2/item/RotorBase.java
index e49f3415c8..c2f31f27a2 100644
--- a/src/Java/miscutil/core/xmod/ic2/item/RotorBase.java
+++ b/src/Java/miscutil/core/xmod/ic2/item/RotorBase.java
@@ -27,8 +27,8 @@ public class RotorBase extends ItemWindRotor{
{
super(internalName, Radius, durability, efficiency, minWindStrength, maxWindStrength, RenderTexture);
-
-
+
+
setMaxStackSize(1);
setMaxDamage(Integer.MAX_VALUE);
@@ -57,43 +57,43 @@ public class RotorBase extends ItemWindRotor{
@Override
public String getTextureFolder()
- {
- return "rotors";
- }
-
- @Override
+ {
+ return "rotors";
+ }
+
+ @Override
public int getDiameter(ItemStack stack)
- {
- return this.radius;
- }
-
- @Override
+ {
+ return this.radius;
+ }
+
+ @Override
public ResourceLocation getRotorRenderTexture(ItemStack stack)
- {
- return this.renderTexture;
- }
-
- @Override
+ {
+ return this.renderTexture;
+ }
+
+ @Override
public float getEfficiency(ItemStack stack)
- {
- return this.efficiency;
- }
-
- @Override
+ {
+ return this.efficiency;
+ }
+
+ @Override
public int getMinWindStrength(ItemStack stack)
- {
- return this.minWindStrength;
- }
-
- @Override
+ {
+ return this.minWindStrength;
+ }
+
+ @Override
public int getMaxWindStrength(ItemStack stack)
- {
- return this.maxWindStrength;
- }
-
- public boolean isAcceptedType(ItemStack stack, IKineticRotor.GearboxType type)
- {
- return (type == IKineticRotor.GearboxType.WIND) || (this.water);
- }
+ {
+ return this.maxWindStrength;
+ }
+
+ public boolean isAcceptedType(ItemStack stack, IKineticRotor.GearboxType type)
+ {
+ return (type == IKineticRotor.GearboxType.WIND) || (this.water);
}
-
+}
+
diff --git a/src/Java/miscutil/core/xmod/ic2/item/RotorCustom.java b/src/Java/miscutil/core/xmod/ic2/item/RotorCustom.java
deleted file mode 100644
index f29efbd024..0000000000
--- a/src/Java/miscutil/core/xmod/ic2/item/RotorCustom.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package miscutil.core.xmod.ic2.item;
-
-import ic2.api.item.IKineticRotor;
-
-import java.util.List;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.StatCollector;
-
-public class RotorCustom extends IC2_ItemGradualInteger implements IKineticRotor
-{
- private final int maxWindStrength;
- private final int minWindStrength;
- private final int radius;
- private final float efficiency;
- private final ResourceLocation renderTexture;
- private final boolean water;
- private final int durability;
-
- public RotorCustom(String internalName, int Radius, int durability, float efficiency, int minWindStrength, int maxWindStrength, ResourceLocation RenderTexture)
- {
- super(internalName, durability);
-
- setMaxStackSize(1);
- setMaxDamage(durability);
-
- this.radius = Radius;
- this.efficiency = efficiency;
- this.renderTexture = RenderTexture;
- this.minWindStrength = minWindStrength;
- this.maxWindStrength = maxWindStrength;
- this.durability = durability;
- this.water = (internalName != "itemwoodrotor");
- }
-
- @Override
- public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean b)
- {
- info.add(StatCollector.translateToLocalFormatted("ic2.itemrotor.wind.info", new Object[] { Integer.valueOf(this.minWindStrength), Integer.valueOf(this.maxWindStrength) }));
-
- /*IKineticRotor.GearboxType type = null;
- if ((Minecraft.getMinecraft().currentScreen != null) && ((Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator))) {
- type = IKineticRotor.GearboxType.WATER;
- } else if ((Minecraft.getMinecraft().currentScreen != null) && ((Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator))) {
- type = IKineticRotor.GearboxType.WIND;
- }
- if (type != null) {
- info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." + isAcceptedType(itemStack, type)));
- }*/
- }
-
- public String getTextureFolder()
- {
- return "rotors";
- }
-
- @Override
- public int getDiameter(ItemStack stack)
- {
- return this.radius;
- }
-
- @Override
- public ResourceLocation getRotorRenderTexture(ItemStack stack)
- {
- return this.renderTexture;
- }
-
- @Override
- public float getEfficiency(ItemStack stack)
- {
- return this.efficiency;
- }
-
- @Override
- public int getMinWindStrength(ItemStack stack)
- {
- return this.minWindStrength;
- }
-
- @Override
- public int getMaxWindStrength(ItemStack stack)
- {
- return this.maxWindStrength;
- }
-
- @Override
- public boolean isAcceptedType(ItemStack stack, IKineticRotor.GearboxType type)
- {
- return true;
- }
-}
diff --git a/src/Java/miscutil/core/xmod/ic2/item/RotorIridium.java b/src/Java/miscutil/core/xmod/ic2/item/RotorIridium.java
new file mode 100644
index 0000000000..656d700ff9
--- /dev/null
+++ b/src/Java/miscutil/core/xmod/ic2/item/RotorIridium.java
@@ -0,0 +1,122 @@
+package miscutil.core.xmod.ic2.item;
+
+import ic2.api.item.IKineticRotor;
+import ic2.core.block.kineticgenerator.gui.GuiWaterKineticGenerator;
+import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator;
+import ic2.core.init.InternalName;
+import ic2.core.item.resources.ItemWindRotor;
+import ic2.core.util.StackUtil;
+
+import java.util.List;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.StatCollector;
+
+public class RotorIridium extends RotorBase{
+
+ private final int maxWindStrength;
+ private final int minWindStrength;
+ private final int radius;
+ private final float efficiency;
+ private final ResourceLocation renderTexture;
+ private final boolean water;
+
+ public RotorIridium(InternalName internalName, int Radius, int durability, float efficiency, int minWindStrength, int maxWindStrength, ResourceLocation RenderTexture)
+ {
+ super(internalName, Radius, durability, efficiency, minWindStrength, maxWindStrength, RenderTexture);
+
+
+
+ setMaxStackSize(1);
+ setMaxDamage(Integer.MAX_VALUE);
+
+ this.radius = Radius;
+ this.efficiency = efficiency;
+ this.renderTexture = RenderTexture;
+ this.minWindStrength = minWindStrength;
+ this.maxWindStrength = maxWindStrength;
+ this.water = (internalName != InternalName.itemwoodrotor);
+ }
+
+ @Override
+ public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean b)
+ {
+ info.add(StatCollector.translateToLocalFormatted("ic2.itemrotor.wind.info", new Object[] { Integer.valueOf(this.minWindStrength), Integer.valueOf(this.maxWindStrength) }));
+ IKineticRotor.GearboxType type = null;
+ if ((Minecraft.getMinecraft().currentScreen != null) && ((Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator))) {
+ type = IKineticRotor.GearboxType.WATER;
+ } else if ((Minecraft.getMinecraft().currentScreen != null) && ((Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator))) {
+ type = IKineticRotor.GearboxType.WIND;
+ }
+ if (type != null) {
+ info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." + isAcceptedType(itemStack, type)));
+ }
+ }
+
+ @Override
+ public String getTextureFolder()
+ {
+ return "rotors";
+ }
+
+ @Override
+ public int getDiameter(ItemStack stack)
+ {
+ return this.radius;
+ }
+
+ @Override
+ public ResourceLocation getRotorRenderTexture(ItemStack stack)
+ {
+ return this.renderTexture;
+ }
+
+ @Override
+ public float getEfficiency(ItemStack stack)
+ {
+ return this.efficiency;
+ }
+
+ @Override
+ public int getMinWindStrength(ItemStack stack)
+ {
+ return this.minWindStrength;
+ }
+
+ @Override
+ public int getMaxWindStrength(ItemStack stack)
+ {
+ return this.maxWindStrength;
+ }
+
+ public boolean isAcceptedType(ItemStack stack, IKineticRotor.GearboxType type)
+ {
+ return (type == IKineticRotor.GearboxType.WIND) || (this.water);
+ }
+
+
+ @Override
+ public void setCustomDamage(ItemStack stack, int damage)
+ {
+ NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack);
+ nbt.setInteger("advDmg", 0);
+
+ int maxStackDamage = stack.getMaxDamage();
+ if (maxStackDamage > 2) {
+ //stack.setItemDamage(1 + (int)Util.map(damage, this.maxDmg, maxStackDamage - 2));
+ }
+ }
+
+ @Override
+ public boolean applyCustomDamage(ItemStack stack, int damage, EntityLivingBase src)
+ {
+ setCustomDamage(stack, getCustomDamage(stack) + damage);
+ return true;
+ }
+ }
+