From 60ae47c499a2f994f22d2a242a4b970b570d550a Mon Sep 17 00:00:00 2001 From: WayofTime Date: Sat, 21 Mar 2015 10:10:25 -0400 Subject: [PATCH] Fixed Ghast Tear simple spell. The issue was "!" funny! --- .../AlchemicalWizardry.java | 3 + .../alchemicalWizardry/ModItems.java | 16 + .../common/AlchemicalWizardryEventHooks.java | 2 +- .../common/items/armour/OmegaArmourFire.java | 77 ++++ .../common/omega/OmegaParadigmFire.java | 46 ++ .../common/renderer/model/ModelOmegaFire.java | 434 ++++++++++++++++++ .../common/spell/simple/SpellWindGust.java | 10 +- .../models/armor/OmegaFire.png | Bin 0 -> 10218 bytes 8 files changed, 582 insertions(+), 6 deletions(-) create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourFire.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigmFire.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaFire.java create mode 100644 src/main/resources/assets/alchemicalwizardry/models/armor/OmegaFire.png diff --git a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 979de5f3..96842a23 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -113,6 +113,7 @@ import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmour; import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; import WayofTime.alchemicalWizardry.common.items.thaumcraft.ItemSanguineArmour; import WayofTime.alchemicalWizardry.common.omega.OmegaParadigmEarth; +import WayofTime.alchemicalWizardry.common.omega.OmegaParadigmFire; import WayofTime.alchemicalWizardry.common.omega.OmegaParadigmWater; import WayofTime.alchemicalWizardry.common.omega.OmegaParadigmWind; import WayofTime.alchemicalWizardry.common.omega.OmegaRegistry; @@ -1419,6 +1420,8 @@ public class AlchemicalWizardry OmegaRegistry.registerParadigm(ReagentRegistry.aquasalusReagent, new OmegaParadigmWater((OmegaArmour)ModItems.boundHelmetWater, (OmegaArmour)ModItems.boundPlateWater, (OmegaArmour)ModItems.boundLeggingsWater, (OmegaArmour)ModItems.boundBootsWater)); OmegaRegistry.registerParadigm(ReagentRegistry.terraeReagent, new OmegaParadigmEarth((OmegaArmour)ModItems.boundHelmetEarth, (OmegaArmour)ModItems.boundPlateEarth, (OmegaArmour)ModItems.boundLeggingsEarth, (OmegaArmour)ModItems.boundBootsEarth)); OmegaRegistry.registerParadigm(ReagentRegistry.aetherReagent, new OmegaParadigmWind((OmegaArmour)ModItems.boundHelmetWind, (OmegaArmour)ModItems.boundPlateWind, (OmegaArmour)ModItems.boundLeggingsWind, (OmegaArmour)ModItems.boundBootsWind)); + OmegaRegistry.registerParadigm(ReagentRegistry.incendiumReagent, new OmegaParadigmFire((OmegaArmour)ModItems.boundHelmetFire, (OmegaArmour)ModItems.boundPlateFire, (OmegaArmour)ModItems.boundLeggingsFire, (OmegaArmour)ModItems.boundBootsFire)); + } public static void initDemonPacketRegistiry() diff --git a/src/main/java/WayofTime/alchemicalWizardry/ModItems.java b/src/main/java/WayofTime/alchemicalWizardry/ModItems.java index 7f4a0b19..9f3b3e94 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/ModItems.java +++ b/src/main/java/WayofTime/alchemicalWizardry/ModItems.java @@ -48,6 +48,7 @@ import WayofTime.alchemicalWizardry.common.items.TranscendentBloodOrb; import WayofTime.alchemicalWizardry.common.items.WaterScribeTool; import WayofTime.alchemicalWizardry.common.items.armour.BoundArmour; import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmourEarth; +import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmourFire; import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmourWater; import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmourWind; import WayofTime.alchemicalWizardry.common.items.energy.ItemAttunedCrystal; @@ -228,6 +229,11 @@ public class ModItems public static Item boundLeggingsWind; public static Item boundBootsWind; + public static Item boundHelmetFire; + public static Item boundPlateFire; + public static Item boundLeggingsFire; + public static Item boundBootsFire; + public static Item inputRoutingFocus; public static Item outputRoutingFocus; @@ -351,6 +357,11 @@ public class ModItems boundLeggingsWind = new OmegaArmourWind(2).setUnlocalizedName("boundLeggingsWind"); boundBootsWind = new OmegaArmourWind(3).setUnlocalizedName("boundBootsWind"); + boundHelmetFire = new OmegaArmourFire(0).setUnlocalizedName("boundHelmetFire"); + boundPlateFire = new OmegaArmourFire(1).setUnlocalizedName("boundPlateFire"); + boundLeggingsFire = new OmegaArmourFire(2).setUnlocalizedName("boundLeggingsFire"); + boundBootsFire = new OmegaArmourFire(3).setUnlocalizedName("boundBootsFire"); + inputRoutingFocus = new InputRoutingFocus().setUnlocalizedName("inputRoutingFocus"); outputRoutingFocus = new OutputRoutingFocus().setUnlocalizedName("outputRoutingFocus"); @@ -479,6 +490,11 @@ public class ModItems GameRegistry.registerItem(ModItems.boundLeggingsWind, "boundLeggingsWind"); GameRegistry.registerItem(ModItems.boundBootsWind, "boundBootsWind"); + GameRegistry.registerItem(ModItems.boundHelmetFire, "boundHelmetFire"); + GameRegistry.registerItem(ModItems.boundPlateFire, "boundPlateFire"); + GameRegistry.registerItem(ModItems.boundLeggingsFire, "boundLeggingsFire"); + GameRegistry.registerItem(ModItems.boundBootsFire, "boundBootsFire"); + GameRegistry.registerItem(ModItems.inputRoutingFocus, "inputRoutingFocus"); GameRegistry.registerItem(ModItems.outputRoutingFocus, "outputRoutingFocus"); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java index 1b308e1d..966c7648 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java @@ -127,7 +127,7 @@ public class AlchemicalWizardryEventHooks event.ammount = 0; }else { - event.ammount += hp / ratio; + event.ammount -= hp / ratio; Reagent reagent = APISpellHelper.getPlayerReagentType(player); OmegaParadigm paradigm = OmegaRegistry.getParadigmForReagent(reagent); if(paradigm != null) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourFire.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourFire.java new file mode 100644 index 00000000..8ac403d8 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourFire.java @@ -0,0 +1,77 @@ +package WayofTime.alchemicalWizardry.common.items.armour; + +import java.util.UUID; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.attributes.AttributeModifier; +import net.minecraft.item.ItemStack; +import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaFire; + +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Multimap; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public class OmegaArmourFire extends OmegaArmour +{ + public OmegaArmourFire(int armorType) + { + super(armorType); + this.storeYLevel = true; + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) + { + return "alchemicalwizardry:models/armor/OmegaFire.png"; + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getChestModel() + { + return new ModelOmegaFire(1.0f, true, true, false, true); + } + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getLegsModel() + { + return new ModelOmegaFire(0.5f, false, false, true, false); + } + + @Override + public Multimap getAttributeModifiers(ItemStack stack) + { + Multimap map = HashMultimap.create(); + int yLevel = this.getYLevelStored(stack); + + map.put(SharedMonsterAttributes.maxHealth.getAttributeUnlocalizedName(), new AttributeModifier(new UUID(85212 /** Random number **/, armorType), "Armor modifier" + armorType, getDefaultHealthBoost()*getHealthBoostModifierForLevel(yLevel), 0)); + + return map; + } + + public float getDefaultHealthBoost() + { + switch(this.armorType) + { + case 0: + return 2.5f; + case 1: + return 4; + case 2: + return 3.5f; + case 3: + return 2; + } + return 0.25f; + } + + public float getHealthBoostModifierForLevel(int yLevel) + { + return (float)Math.sqrt(((float)yLevel)/64f) * 1.5f - 1; + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigmFire.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigmFire.java new file mode 100644 index 00000000..097f38b3 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigmFire.java @@ -0,0 +1,46 @@ +package WayofTime.alchemicalWizardry.common.omega; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; +import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmour; + +public class OmegaParadigmFire extends OmegaParadigm +{ + public OmegaParadigmFire(OmegaArmour helmet, OmegaArmour chestPiece, OmegaArmour leggings, OmegaArmour boots) + { + super(ReagentRegistry.incendiumReagent, helmet, chestPiece, leggings, boots, new ReagentRegenConfiguration(50, 10, 100)); + } + + @Override + public float getCostPerTickOfUse(EntityPlayer player) + { + if(player.isAirBorne) + { + return 0.5f; + }else + { + return 1; + } + } + + @Override + public void onUpdate(World world, EntityPlayer player, ItemStack stack) + { + + } + + @Override + public boolean getBlockEffectWhileInside(Entity entity, int x, int y, int z) + { + return true; + } + + @Override + public void onOmegaKeyPressed(EntityPlayer player, ItemStack stack) + { + + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaFire.java b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaFire.java new file mode 100644 index 00000000..2d8a2c79 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaFire.java @@ -0,0 +1,434 @@ +package WayofTime.alchemicalWizardry.common.renderer.model; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * OmegaFire - WayofTime + * Created using Tabula 4.1.0 + */ +public class ModelOmegaFire extends ModelBiped +{ + public ModelRenderer facePlate1; + public ModelRenderer facePlate2; + public ModelRenderer facePlate3; + public ModelRenderer facePlate4; + public ModelRenderer facePlate5; + public ModelRenderer facePlate6; + public ModelRenderer facePlate7; + public ModelRenderer topPlate; + public ModelRenderer facePlate8; + public ModelRenderer backPlate; + public ModelRenderer chestMain; + public ModelRenderer bodyPlate1; + public ModelRenderer bodyPlate2; + public ModelRenderer bodyPlate3; + public ModelRenderer bodyPlate5; + public ModelRenderer bodyPlate4; + public ModelRenderer belt; + public ModelRenderer bodyPlate6; + public ModelRenderer omegaPlate; + public ModelRenderer rightSpacer1; + public ModelRenderer leftSpacer1; + public ModelRenderer rightShoulder; + public ModelRenderer rightArm; + public ModelRenderer rightArmPlate7; + public ModelRenderer rightArmPlate1; + public ModelRenderer rightArmPlate2; + public ModelRenderer rightArmPlate3; + public ModelRenderer rightArmPlate4; + public ModelRenderer rightArmPlate5; + public ModelRenderer rightArmPlate6; + public ModelRenderer leftShoulder; + public ModelRenderer leftArm; + public ModelRenderer leftArmPlate1; + public ModelRenderer leftArmPlate2; + public ModelRenderer leftArmPlate3; + public ModelRenderer leftArmPlate5; + public ModelRenderer leftArmPlate4; + public ModelRenderer leftArmPlate6; + public ModelRenderer leftArmPlate7; + public ModelRenderer leftLeg; + public ModelRenderer leftLegPlate1; + public ModelRenderer leftLegPlate2; + public ModelRenderer leftLegPlate3; + public ModelRenderer leftLegPlate4; + public ModelRenderer leftLegPlate5; + public ModelRenderer leftLegPlate6; + public ModelRenderer leftLegPlate7; + public ModelRenderer leftBoot1; + public ModelRenderer leftBoot2; + public ModelRenderer leftBoot3; + public ModelRenderer rightLeg; + public ModelRenderer rightLegPlate1; + public ModelRenderer rightLegPlate1_1; + public ModelRenderer rightLegPlate3; + public ModelRenderer rightLegPlate4; + public ModelRenderer rightLegPlate5; + public ModelRenderer rightLegPlate6; + public ModelRenderer rightLegPlate7; + public ModelRenderer rightBoot1; + public ModelRenderer rightBoot2; + public ModelRenderer rightBoot3; + + public ModelOmegaFire(float f, boolean addHelmet, boolean addChestPiece, boolean addLeggings, boolean addBoots) + { + super(f, 0.0f, 128, 128); + this.textureWidth = 128; + this.textureHeight = 128; + this.bodyPlate5 = new ModelRenderer(this, 29, 33); + this.bodyPlate5.setRotationPoint(0.0F, 3.0F, 0.0F); + this.bodyPlate5.addBox(-0.9F, 1.4F, -3.3F, 5, 2, 1, 0.0F); + this.setRotateAngle(bodyPlate5, -0.3490658503988659F, -0.22689280275926282F, 0.0F); + this.facePlate2 = new ModelRenderer(this, 24, 89); + this.facePlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate2.addBox(-1.0F, -4.5F, -5.0F, 2, 2, 1, 0.0F); + this.leftArmPlate5 = new ModelRenderer(this, 16, 54); + this.leftArmPlate5.setRotationPoint(0.0F, 3.4F, 0.0F); + this.leftArmPlate5.addBox(5.3F, -2.0F, -2.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(leftArmPlate5, 0.0F, 0.22689280275926282F, -0.3490658503988659F); + this.leftArmPlate6 = new ModelRenderer(this, 16, 62); + this.leftArmPlate6.setRotationPoint(0.0F, 3.4F, 0.0F); + this.leftArmPlate6.addBox(5.3F, -2.0F, -1.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(leftArmPlate6, 0.0F, -0.22689280275926282F, -0.3490658503988659F); + this.facePlate8 = new ModelRenderer(this, 27, 104); + this.facePlate8.mirror = true; + this.facePlate8.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate8.addBox(-4.4F, -8.0F, -3.6F, 1, 8, 9, 0.0F); + this.setRotateAngle(facePlate8, 0.0F, -0.10471975511965977F, 0.0F); + this.leftArmPlate7 = new ModelRenderer(this, 29, 73); + this.leftArmPlate7.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate7.addBox(0.0F, -3.5F, -3.5F, 3, 4, 7, 0.0F); + this.leftArm = new ModelRenderer(this, 29, 49); + this.leftArm.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArm.addBox(-1.0F, 2.0F, -2.5F, 5, 9, 5, 0.0F); + this.rightShoulder = new ModelRenderer(this, 29, 37); + this.rightShoulder.mirror = true; + this.rightShoulder.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightShoulder.addBox(-5.0F, -3.0F, -3.0F, 6, 5, 6, 0.0F); + this.rightArmPlate6 = new ModelRenderer(this, 16, 62); + this.rightArmPlate6.setRotationPoint(0.0F, 3.4F, 0.0F); + this.rightArmPlate6.addBox(-6.3F, -2.0F, -1.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(rightArmPlate6, 0.0F, 0.22689280275926282F, 0.3490658503988659F); + this.leftSpacer1 = new ModelRenderer(this, 11, 54); + this.leftSpacer1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftSpacer1.addBox(2.5F, 6.3F, -3.0F, 1, 4, 1, 0.0F); + this.omegaPlate = new ModelRenderer(this, 0, 54); + this.omegaPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.omegaPlate.addBox(-2.0F, 5.3F, -3.5F, 4, 4, 1, 0.0F); + this.bodyPlate2 = new ModelRenderer(this, 29, 33); + this.bodyPlate2.setRotationPoint(0.0F, 1.5F, 0.0F); + this.bodyPlate2.addBox(-0.9F, 1.4F, -3.5F, 5, 2, 1, 0.0F); + this.setRotateAngle(bodyPlate2, -0.3490658503988659F, -0.22689280275926282F, 0.0F); + this.rightLeg = new ModelRenderer(this, 0, 70); + this.rightLeg.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightLeg.addBox(-2.5F, 0.0F, -2.5F, 5, 10, 5, 0.0F); + this.leftArmPlate2 = new ModelRenderer(this, 16, 62); + this.leftArmPlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate2.addBox(5.3F, -2.0F, -1.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(leftArmPlate2, 0.0F, -0.22689280275926282F, -0.3490658503988659F); + this.rightLegPlate3 = new ModelRenderer(this, 0, 86); + this.rightLegPlate3.mirror = true; + this.rightLegPlate3.setRotationPoint(0.0F, 4.6F, 0.0F); + this.rightLegPlate3.addBox(-2.4F, 1.6F, -2.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate3, -0.20943951023931953F, 0.1832595714594046F, 0.0F); + this.leftLegPlate5 = new ModelRenderer(this, 0, 91); + this.leftLegPlate5.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftLegPlate5.addBox(-2.6F, 1.6F, 1.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate5, 0.20943951023931953F, 0.1832595714594046F, 0.0F); + this.leftLegPlate2 = new ModelRenderer(this, 0, 86); + this.leftLegPlate2.setRotationPoint(0.0F, 2.3F, 0.0F); + this.leftLegPlate2.addBox(-2.6F, 1.6F, -2.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate2, -0.20943951023931953F, -0.1832595714594046F, 0.0F); + this.rightSpacer1 = new ModelRenderer(this, 11, 54); + this.rightSpacer1.mirror = true; + this.rightSpacer1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightSpacer1.addBox(-3.5F, 6.3F, -3.0F, 1, 4, 1, 0.0F); + this.rightArmPlate2 = new ModelRenderer(this, 16, 62); + this.rightArmPlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArmPlate2.addBox(-6.3F, -2.0F, -1.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(rightArmPlate2, 0.0F, 0.22689280275926282F, 0.3490658503988659F); + this.rightArmPlate3 = new ModelRenderer(this, 16, 54); + this.rightArmPlate3.setRotationPoint(0.0F, 1.7F, 0.0F); + this.rightArmPlate3.addBox(-6.3F, -2.0F, -2.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(rightArmPlate3, 0.0F, -0.22689280275926282F, 0.3490658503988659F); + this.topPlate = new ModelRenderer(this, 37, 89); + this.topPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.topPlate.addBox(-4.0F, -8.2F, -3.6F, 8, 1, 8, 0.0F); + this.setRotateAngle(topPlate, 0.05235987755982988F, -0.0F, 0.0F); + this.leftBoot1 = new ModelRenderer(this, 0, 99); + this.leftBoot1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftBoot1.addBox(-2.0F, 9.5F, -5.0F, 5, 3, 8, 0.0F); + this.leftArmPlate1 = new ModelRenderer(this, 16, 54); + this.leftArmPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate1.addBox(5.3F, -2.0F, -2.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(leftArmPlate1, 0.0F, 0.22689280275926282F, -0.3490658503988659F); + this.rightLegPlate1_1 = new ModelRenderer(this, 0, 86); + this.rightLegPlate1_1.mirror = true; + this.rightLegPlate1_1.setRotationPoint(0.0F, 2.3F, 0.0F); + this.rightLegPlate1_1.addBox(-2.4F, 1.6F, -2.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate1_1, -0.20943951023931953F, 0.1832595714594046F, 0.0F); + this.bodyPlate4 = new ModelRenderer(this, 29, 33); + this.bodyPlate4.mirror = true; + this.bodyPlate4.setRotationPoint(0.0F, 1.5F, 0.0F); + this.bodyPlate4.addBox(-4.1F, 1.4F, -3.5F, 5, 2, 1, 0.0F); + this.setRotateAngle(bodyPlate4, -0.3490658503988659F, 0.22689280275926282F, 0.0F); + this.leftLegPlate3 = new ModelRenderer(this, 0, 86); + this.leftLegPlate3.setRotationPoint(0.0F, 4.6F, 0.0F); + this.leftLegPlate3.addBox(-2.6F, 1.6F, -2.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate3, -0.20943951023931953F, -0.1832595714594046F, 0.0F); + this.chestMain = new ModelRenderer(this, 0, 33); + this.chestMain.setRotationPoint(0.0F, 0.0F, 0.0F); + this.chestMain.addBox(-4.5F, -0.01F, -2.5F, 9, 13, 5, 0.0F); + this.rightArmPlate5 = new ModelRenderer(this, 16, 54); + this.rightArmPlate5.setRotationPoint(0.0F, 3.4F, 0.0F); + this.rightArmPlate5.addBox(-6.3F, -2.0F, -2.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(rightArmPlate5, 0.0F, -0.22689280275926282F, 0.3490658503988659F); + this.rightArm = new ModelRenderer(this, 29, 49); + this.rightArm.mirror = true; + this.rightArm.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArm.addBox(-4.0F, 2.0F, -2.5F, 5, 9, 5, 0.0F); + this.bodyPlate1 = new ModelRenderer(this, 29, 33); + this.bodyPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.bodyPlate1.addBox(-0.9F, 1.4F, -3.7F, 5, 2, 1, 0.0F); + this.setRotateAngle(bodyPlate1, -0.3490658503988659F, -0.22689280275926282F, 0.0F); + this.facePlate3 = new ModelRenderer(this, 24, 93); + this.facePlate3.setRotationPoint(0.0F, 0.5F, 0.0F); + this.facePlate3.addBox(-2.0F, -3.5F, -5.5F, 5, 3, 1, 0.0F); + this.setRotateAngle(facePlate3, 0.05235987755982988F, -0.3490658503988659F, 0.0F); + this.facePlate1 = new ModelRenderer(this, 24, 85); + this.facePlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate1.addBox(-4.0F, -4.5F, -4.5F, 8, 2, 1, 0.0F); + this.facePlate6 = new ModelRenderer(this, 24, 98); + this.facePlate6.mirror = true; + this.facePlate6.setRotationPoint(0.0F, 0.5F, 0.0F); + this.facePlate6.addBox(-2.9F, -8.7F, -6.0F, 5, 4, 1, 0.0F); + this.setRotateAngle(facePlate6, -0.05235987755982988F, 0.3490658503988659F, 0.0F); + this.rightLegPlate6 = new ModelRenderer(this, 0, 91); + this.rightLegPlate6.mirror = true; + this.rightLegPlate6.setRotationPoint(0.0F, 2.3F, 0.0F); + this.rightLegPlate6.addBox(-2.4F, 1.6F, 1.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate6, 0.20943951023931953F, -0.1832595714594046F, 0.0F); + this.leftShoulder = new ModelRenderer(this, 29, 37); + this.leftShoulder.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftShoulder.addBox(-1.0F, -3.0F, -3.0F, 6, 5, 6, 0.0F); + this.rightBoot1 = new ModelRenderer(this, 0, 99); + this.rightBoot1.mirror = true; + this.rightBoot1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightBoot1.addBox(-3.0F, 9.5F, -5.0F, 5, 3, 8, 0.0F); + this.leftLegPlate4 = new ModelRenderer(this, 13, 86); + this.leftLegPlate4.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftLegPlate4.addBox(2.0F, 1.1F, -2.0F, 1, 8, 4, 0.0F); + this.setRotateAngle(leftLegPlate4, 0.0F, 0.0F, -0.08726646259971647F); + this.rightBoot2 = new ModelRenderer(this, 0, 111); + this.rightBoot2.mirror = true; + this.rightBoot2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightBoot2.addBox(-3.0F, 8.5F, -3.0F, 5, 1, 6, 0.0F); + this.leftArmPlate3 = new ModelRenderer(this, 16, 54); + this.leftArmPlate3.setRotationPoint(0.0F, 1.7F, 0.0F); + this.leftArmPlate3.addBox(5.3F, -2.0F, -2.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(leftArmPlate3, 0.0F, 0.22689280275926282F, -0.3490658503988659F); + this.rightLegPlate4 = new ModelRenderer(this, 13, 86); + this.rightLegPlate4.mirror = true; + this.rightLegPlate4.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightLegPlate4.addBox(-3.0F, 1.1F, -2.0F, 1, 8, 4, 0.0F); + this.setRotateAngle(rightLegPlate4, 0.0F, 0.0F, 0.08726646259971647F); + this.leftLegPlate7 = new ModelRenderer(this, 0, 91); + this.leftLegPlate7.setRotationPoint(0.0F, 4.6F, 0.0F); + this.leftLegPlate7.addBox(-2.6F, 1.6F, 1.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate7, 0.20943951023931953F, 0.1832595714594046F, 0.0F); + this.bodyPlate6 = new ModelRenderer(this, 29, 33); + this.bodyPlate6.mirror = true; + this.bodyPlate6.setRotationPoint(0.0F, 3.0F, 0.0F); + this.bodyPlate6.addBox(-4.1F, 1.4F, -3.3F, 5, 2, 1, 0.0F); + this.setRotateAngle(bodyPlate6, -0.3490658503988659F, 0.22689280275926282F, 0.0F); + this.facePlate5 = new ModelRenderer(this, 24, 98); + this.facePlate5.setRotationPoint(0.0F, 0.5F, 0.0F); + this.facePlate5.addBox(-2.0F, -8.7F, -6.0F, 5, 4, 1, 0.0F); + this.setRotateAngle(facePlate5, -0.05235987755982988F, -0.3490658503988659F, 0.0F); + this.backPlate = new ModelRenderer(this, 48, 99); + this.backPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.backPlate.addBox(-4.0F, -7.8F, 3.6F, 8, 8, 1, 0.0F); + this.setRotateAngle(backPlate, 0.05235987755982988F, -0.0F, 0.0F); + this.rightBoot3 = new ModelRenderer(this, 0, 119); + this.rightBoot3.mirror = true; + this.rightBoot3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightBoot3.addBox(-3.0F, 9.0F, -2.5F, 1, 2, 7, 0.0F); + this.setRotateAngle(rightBoot3, 0.0F, 0.0F, 0.08726646259971647F); + this.leftLeg = new ModelRenderer(this, 0, 70); + this.leftLeg.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftLeg.addBox(-2.5F, 0.0F, -2.5F, 5, 10, 5, 0.0F); + this.bodyPlate3 = new ModelRenderer(this, 29, 33); + this.bodyPlate3.mirror = true; + this.bodyPlate3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.bodyPlate3.addBox(-4.1F, 1.4F, -3.7F, 5, 2, 1, 0.0F); + this.setRotateAngle(bodyPlate3, -0.3490658503988659F, 0.22689280275926282F, 0.0F); + this.facePlate4 = new ModelRenderer(this, 24, 93); + this.facePlate4.mirror = true; + this.facePlate4.setRotationPoint(0.0F, 0.5F, 0.0F); + this.facePlate4.addBox(-3.0F, -3.5F, -5.5F, 5, 3, 1, 0.0F); + this.setRotateAngle(facePlate4, 0.05235987755982988F, 0.3490658503988659F, 0.0F); + this.rightArmPlate4 = new ModelRenderer(this, 16, 62); + this.rightArmPlate4.setRotationPoint(0.0F, 1.7F, 0.0F); + this.rightArmPlate4.addBox(-6.3F, -2.0F, -1.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(rightArmPlate4, 0.0F, 0.22689280275926282F, 0.3490658503988659F); + this.leftLegPlate1 = new ModelRenderer(this, 0, 86); + this.leftLegPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftLegPlate1.addBox(-2.6F, 1.6F, -2.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate1, -0.20943951023931953F, -0.1832595714594046F, 0.0F); + this.rightLegPlate7 = new ModelRenderer(this, 0, 91); + this.rightLegPlate7.mirror = true; + this.rightLegPlate7.setRotationPoint(0.0F, 4.6F, 0.0F); + this.rightLegPlate7.addBox(-2.4F, 1.6F, 1.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate7, 0.20943951023931953F, -0.1832595714594046F, 0.0F); + this.rightLegPlate1 = new ModelRenderer(this, 0, 86); + this.rightLegPlate1.mirror = true; + this.rightLegPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightLegPlate1.addBox(-2.4F, 1.6F, -2.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate1, -0.20943951023931953F, 0.1832595714594046F, 0.0F); + this.belt = new ModelRenderer(this, 29, 64); + this.belt.setRotationPoint(0.0F, 0.0F, 0.0F); + this.belt.addBox(-5.0F, 11.0F, -3.0F, 10, 2, 6, 0.0F); + this.rightLegPlate5 = new ModelRenderer(this, 0, 91); + this.rightLegPlate5.mirror = true; + this.rightLegPlate5.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightLegPlate5.addBox(-2.4F, 1.6F, 1.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate5, 0.20943951023931953F, -0.1832595714594046F, 0.0F); + this.leftBoot3 = new ModelRenderer(this, 0, 119); + this.leftBoot3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftBoot3.addBox(2.0F, 9.0F, -2.5F, 1, 2, 7, 0.0F); + this.setRotateAngle(leftBoot3, 0.0F, 0.0F, -0.08726646259971647F); + this.leftBoot2 = new ModelRenderer(this, 0, 111); + this.leftBoot2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftBoot2.addBox(-2.0F, 8.5F, -3.0F, 5, 1, 6, 0.0F); + this.leftLegPlate6 = new ModelRenderer(this, 0, 91); + this.leftLegPlate6.setRotationPoint(0.0F, 2.3F, 0.0F); + this.leftLegPlate6.addBox(-2.6F, 1.6F, 1.7F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate6, 0.20943951023931953F, 0.1832595714594046F, 0.0F); + this.rightArmPlate7 = new ModelRenderer(this, 29, 73); + this.rightArmPlate7.mirror = true; + this.rightArmPlate7.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArmPlate7.addBox(-3.0F, -3.5F, -3.5F, 3, 4, 7, 0.0F); + this.rightArmPlate1 = new ModelRenderer(this, 16, 54); + this.rightArmPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArmPlate1.addBox(-6.3F, -2.0F, -2.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(rightArmPlate1, 0.0F, -0.22689280275926282F, 0.3490658503988659F); + this.leftArmPlate4 = new ModelRenderer(this, 16, 62); + this.leftArmPlate4.setRotationPoint(0.0F, 1.7F, 0.0F); + this.leftArmPlate4.addBox(5.3F, -2.0F, -1.5F, 1, 3, 4, 0.0F); + this.setRotateAngle(leftArmPlate4, 0.0F, -0.22689280275926282F, -0.3490658503988659F); + this.facePlate7 = new ModelRenderer(this, 27, 104); + this.facePlate7.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate7.addBox(3.4F, -8.0F, -3.6F, 1, 8, 9, 0.0F); + this.setRotateAngle(facePlate7, 0.0F, 0.10471975511965977F, 0.0F); + + this.bipedBody.cubeList.clear(); + this.bipedHead.cubeList.clear(); + this.bipedHeadwear.cubeList.clear(); + this.bipedLeftArm.cubeList.clear(); + this.bipedLeftLeg.cubeList.clear(); + this.bipedRightArm.cubeList.clear(); + this.bipedRightLeg.cubeList.clear(); + + if(addChestPiece) + { + this.bipedBody.addChild(this.bodyPlate5); + this.bipedBody.addChild(this.leftSpacer1); + this.bipedBody.addChild(this.bodyPlate2); + this.bipedBody.addChild(this.omegaPlate); + this.bipedLeftArm.addChild(this.leftArmPlate5); + this.bipedLeftArm.addChild(this.leftArmPlate6); + this.bipedLeftArm.addChild(this.leftArmPlate7); + this.bipedLeftArm.addChild(this.leftArm); + this.bipedRightArm.addChild(this.rightShoulder); + this.bipedRightArm.addChild(this.rightArmPlate6); + this.bipedLeftArm.addChild(this.leftArmPlate2); + this.bipedLeftArm.addChild(this.leftArmPlate1); + this.bipedRightArm.addChild(this.rightArmPlate2); + this.bipedRightArm.addChild(this.rightArmPlate3); + this.bipedRightArm.addChild(this.rightArmPlate5); + this.bipedRightArm.addChild(this.rightArm); + this.bipedLeftArm.addChild(this.leftShoulder); + this.bipedLeftArm.addChild(this.leftArmPlate3); + this.bipedRightArm.addChild(this.rightArmPlate5); + this.bipedRightArm.addChild(this.rightArmPlate7); + this.bipedRightArm.addChild(this.rightArmPlate1); + this.bipedLeftArm.addChild(this.leftArmPlate4); + this.bipedRightArm.addChild(this.rightArmPlate4); + this.bipedBody.addChild(this.bodyPlate6); + this.bipedBody.addChild(this.rightSpacer1); + this.bipedBody.addChild(this.bodyPlate1); + this.bipedBody.addChild(this.bodyPlate4); + this.bipedBody.addChild(this.bodyPlate3); + this.bipedBody.addChild(this.chestMain); + } + + if(addLeggings) + { + this.bipedBody.addChild(this.belt); + this.bipedRightLeg.addChild(this.rightLeg); + this.bipedRightLeg.addChild(this.rightLegPlate3); + this.bipedLeftLeg.addChild(this.leftLegPlate5); + this.bipedLeftLeg.addChild(this.leftLegPlate2); + this.bipedRightLeg.addChild(this.rightLegPlate6); + this.bipedLeftLeg.addChild(this.leftLegPlate4); + this.bipedLeftLeg.addChild(this.leftLegPlate7); + this.bipedRightLeg.addChild(this.rightLegPlate4); + this.bipedRightLeg.addChild(this.rightLegPlate1_1); + this.bipedLeftLeg.addChild(this.leftLegPlate6); + this.bipedLeftLeg.addChild(this.leftLegPlate3); + this.bipedLeftLeg.addChild(this.leftLeg); + this.bipedRightLeg.addChild(this.rightLegPlate7); + this.bipedRightLeg.addChild(this.rightLegPlate1); + this.bipedRightLeg.addChild(this.rightLegPlate5); + this.bipedLeftLeg.addChild(this.leftLegPlate1); + } + + if(addBoots) + { + this.bipedLeftLeg.addChild(this.leftBoot1); + this.bipedRightLeg.addChild(this.rightBoot1); + this.bipedRightLeg.addChild(this.rightBoot2); + this.bipedLeftLeg.addChild(this.leftBoot3); + this.bipedLeftLeg.addChild(this.leftBoot2); + this.bipedRightLeg.addChild(this.rightBoot3); + } + + if(addHelmet) + { + this.bipedHead.addChild(this.facePlate3); + this.bipedHead.addChild(this.facePlate1); + this.bipedHead.addChild(this.facePlate6); + this.bipedHead.addChild(this.facePlate2); + this.bipedHead.addChild(this.facePlate8); + this.bipedHead.addChild(this.topPlate); + this.bipedHead.addChild(this.facePlate5); + this.bipedHead.addChild(this.backPlate); + this.bipedHead.addChild(this.facePlate4); + this.bipedHead.addChild(this.facePlate7); + } + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + this.bipedRightLeg.render(f5); + this.bipedRightArm.render(f5); + this.bipedLeftArm.render(f5); + this.bipedBody.render(f5); + this.bipedHead.render(f5); + this.bipedLeftLeg.render(f5); + } + + /** + * This is a helper function from Tabula to set the rotation of model parts + */ + public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) + { + modelRenderer.rotateAngleX = x; + modelRenderer.rotateAngleY = y; + modelRenderer.rotateAngleZ = z; + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWindGust.java b/src/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWindGust.java index 506ffc74..185d16d9 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWindGust.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/spell/simple/SpellWindGust.java @@ -27,7 +27,7 @@ public class SpellWindGust extends HomSpell @Override public ItemStack onOffensiveRangedRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking()) + if (!EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking()) { return par1ItemStack; } @@ -50,7 +50,7 @@ public class SpellWindGust extends HomSpell @Override public ItemStack onOffensiveMeleeRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking()) + if (!EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking()) { return par1ItemStack; } @@ -97,7 +97,7 @@ public class SpellWindGust extends HomSpell @Override public ItemStack onDefensiveRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking()) + if (!EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking()) { return par1ItemStack; } @@ -106,7 +106,7 @@ public class SpellWindGust extends HomSpell { EnergyItems.syphonAndDamageWhileInContainer(par1ItemStack, par3EntityPlayer, this.getDefensiveEnergy()); } - + int distance = 3; double yaw = par3EntityPlayer.rotationYaw / 180 * Math.PI; double pitch = par3EntityPlayer.rotationPitch / 180 * Math.PI; @@ -136,7 +136,7 @@ public class SpellWindGust extends HomSpell @Override public ItemStack onEnvironmentalRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { - if (EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking()) + if (!EnergyItems.checkAndSetItemOwner(par1ItemStack, par3EntityPlayer) || par3EntityPlayer.isSneaking()) { return par1ItemStack; } diff --git a/src/main/resources/assets/alchemicalwizardry/models/armor/OmegaFire.png b/src/main/resources/assets/alchemicalwizardry/models/armor/OmegaFire.png new file mode 100644 index 0000000000000000000000000000000000000000..deb57fec35b8fc10c30de69b4dfc33cfb2555c81 GIT binary patch literal 10218 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