diff options
13 files changed, 178 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; + } + } + diff --git a/src/resources/assets/ic2/lang/en_US.lang b/src/resources/assets/ic2/lang/en_US.lang new file mode 100644 index 0000000000..742fd3275e --- /dev/null +++ b/src/resources/assets/ic2/lang/en_US.lang @@ -0,0 +1,5 @@ +ic2.itemEnergeticRotor=Kinetic Gearbox Rotor (Energetic Alloy) +ic2.itemTungstenSteelRotor=Kinetic Gearbox Rotor (TungstenSteel) +ic2.ItemVibrantRotor=Kinetic Gearbox Rotor (Vibrant Alloy) +ic2.itemIridiumRotor=Kinetic Gearbox Rotor (Iridium) + diff --git a/src/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png Binary files differnew file mode 100644 index 0000000000..1974a4ca81 --- /dev/null +++ b/src/resources/assets/ic2/textures/items/rotors/itemEnergeticRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png Binary files differnew file mode 100644 index 0000000000..4e1c2d3182 --- /dev/null +++ b/src/resources/assets/ic2/textures/items/rotors/itemIridiumRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png Binary files differnew file mode 100644 index 0000000000..71e00f920c --- /dev/null +++ b/src/resources/assets/ic2/textures/items/rotors/itemTungstenSteelRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png b/src/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png Binary files differnew file mode 100644 index 0000000000..a478b2320e --- /dev/null +++ b/src/resources/assets/ic2/textures/items/rotors/itemVibrantRotor.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png Binary files differnew file mode 100644 index 0000000000..9d2dc68ebc --- /dev/null +++ b/src/resources/assets/ic2/textures/items/rotors/rotorEnergeticModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png Binary files differnew file mode 100644 index 0000000000..68cbcd4e69 --- /dev/null +++ b/src/resources/assets/ic2/textures/items/rotors/rotorIridiumModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png Binary files differnew file mode 100644 index 0000000000..56e00a2851 --- /dev/null +++ b/src/resources/assets/ic2/textures/items/rotors/rotorTungstenSteelModel.png diff --git a/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png b/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png Binary files differnew file mode 100644 index 0000000000..af6619c9fe --- /dev/null +++ b/src/resources/assets/ic2/textures/items/rotors/rotorVibrantModel.png |