From fd437fb4cae1c353485b403374c2c0a2cfa310af Mon Sep 17 00:00:00 2001 From: WayofTime Date: Sat, 10 Jan 2015 12:23:41 -0500 Subject: [PATCH] Initiating Omega protocol. --- build.properties | 6 +- .../AlchemicalWizardry.java | 12 +- .../BloodMagicConfiguration.java | 2 +- .../alchemicalWizardry/ModItems.java | 51 +- .../api/alchemy/energy/ReagentRegistry.java | 2 +- .../book/registries/RevivingRegistry.java | 13 - .../client/renderer/RenderHelper.java | 21 +- .../common/AlchemicalWizardryEventHooks.java | 2 +- .../common/block/ArmourForge.java | 2 +- .../common/items/CheatyItem.java | 2 +- .../items/{ => armour}/BoundArmour.java | 4 +- .../common/items/armour/OmegaArmour.java | 206 +++++++ .../common/items/armour/OmegaArmourEarth.java | 32 ++ .../common/items/armour/OmegaArmourWater.java | 32 ++ .../common/items/armour/OmegaArmourWind.java | 32 ++ .../common/items/sigil/ItemHarvestSigil.java | 7 +- .../common/omega/OmegaParadigm.java | 50 ++ .../common/omega/OmegaRegistry.java | 6 + .../renderer/model/ModelOmegaEarth.java | 509 ++++++++++++++++++ .../renderer/model/ModelOmegaWater.java | 500 +++++++++++++++++ .../common/renderer/model/ModelOmegaWind.java | 405 ++++++++++++++ .../common/rituals/RitualEffectOmegaTest.java | 73 +++ .../common/rituals/RitualEffectUnbinding.java | 2 +- .../models/armor/OmegaEarth.png | Bin 0 -> 13327 bytes .../models/armor/OmegaWater.png | Bin 0 -> 10425 bytes .../models/armor/OmegaWind.png | Bin 0 -> 9019 bytes 26 files changed, 1934 insertions(+), 37 deletions(-) delete mode 100644 src/main/java/WayofTime/alchemicalWizardry/book/registries/RevivingRegistry.java rename src/main/java/WayofTime/alchemicalWizardry/common/items/{ => armour}/BoundArmour.java (99%) create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourEarth.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWater.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWind.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaRegistry.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaEarth.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaWater.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaWind.java create mode 100644 src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java create mode 100644 src/main/resources/assets/alchemicalwizardry/models/armor/OmegaEarth.png create mode 100644 src/main/resources/assets/alchemicalwizardry/models/armor/OmegaWater.png create mode 100644 src/main/resources/assets/alchemicalwizardry/models/armor/OmegaWind.png diff --git a/build.properties b/build.properties index 474dd599..d02972cc 100644 --- a/build.properties +++ b/build.properties @@ -1,12 +1,12 @@ # -#Mon Dec 29 16:19:15 EST 2014 +#Sat Jan 03 19:36:41 EST 2015 mod_name=BloodMagic forge_version=10.13.2.1232 ccc_version=1.0.4.29 nei_version=1.0.3.64 //=Dependency Information package_group=com.wayoftime.bloodmagic -mod_version=1.3.0a +mod_version=1.3.0b minetweaker_version=Dev-1.7.10-3.0.9B -build_number=2 mc_version=1.7.10 +build_number=2 diff --git a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 2e57a777..8276430f 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -72,6 +72,9 @@ import WayofTime.alchemicalWizardry.common.alchemy.CombinedPotionRegistry; import WayofTime.alchemicalWizardry.common.block.ArmourForge; import WayofTime.alchemicalWizardry.common.bloodAltarUpgrade.UpgradedAltars; import WayofTime.alchemicalWizardry.common.book.BUEntries; +import WayofTime.alchemicalWizardry.common.commands.CommandBind; +import WayofTime.alchemicalWizardry.common.commands.CommandSN; +import WayofTime.alchemicalWizardry.common.commands.CommandUnbind; import WayofTime.alchemicalWizardry.common.compress.AdvancedCompressionHandler; import WayofTime.alchemicalWizardry.common.compress.BaseCompressionHandler; import WayofTime.alchemicalWizardry.common.demonVillage.demonHoard.DemonPacketMinorGrunt; @@ -150,6 +153,7 @@ import WayofTime.alchemicalWizardry.common.rituals.RitualEffectLava; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectLeap; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectLifeConduit; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectMagnetic; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectOmegaTest; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSoulBound; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSpawnWard; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectSummonMeteor; @@ -255,9 +259,6 @@ import WayofTime.alchemicalWizardry.common.tileEntity.TESpellParadigmBlock; import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; import WayofTime.alchemicalWizardry.common.tileEntity.TEWritingTable; import WayofTime.alchemicalWizardry.common.tileEntity.gui.GuiHandler; -import WayofTime.alchemicalWizardry.common.commands.CommandBind; -import WayofTime.alchemicalWizardry.common.commands.CommandUnbind; -import WayofTime.alchemicalWizardry.common.commands.CommandSN; import WayofTime.alchemicalWizardry.common.tweaker.MineTweakerIntegration; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; @@ -275,7 +276,7 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.3.0a", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory") +@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.3.0b", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory") public class AlchemicalWizardry { @@ -1264,6 +1265,7 @@ public class AlchemicalWizardry Rituals.registerRitual("AW029VeilOfEvil", 1, 150000, new RitualEffectVeilOfEvil(), "Veil of Evil", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"), 0, 0, 0, 255, 0, 0.501, 0.501, 0, 1.5, false)); Rituals.registerRitual("AW030FullStomach", 1, 100000, new RitualEffectFullStomach(), "Requiem of the Satiated Stomach", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"), 0, 0, 0, 255, 0, 0.501, 0.501, 0, 1.5, false)); Rituals.registerRitual("AW031Convocation",isDemonRitualCreativeOnly ? 10 : 2, 15000000, new RitualEffectDemonPortal(), "Convocation of the Damned", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/TransCircleDemon.png"), 220, 22, 22, 255, 0, 0.501, 0.501, 0, 5, false)); + Rituals.registerRitual("AW032", 1, 100, new RitualEffectOmegaTest(), "Symmetry of the Omega"); //Rituals.registerRitual(1,100,new RitualEffectApiaryOverclock(),"Apiary Overclock")); } @@ -1523,7 +1525,7 @@ public class AlchemicalWizardry continue; } - strLine = strLine.replace('”', '"').replace('“','"'); + strLine = strLine.replace('”', '"').replace('“','"'); if(Minecraft.getMinecraft() != null && Minecraft.getMinecraft().fontRenderer != null) { diff --git a/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java b/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java index 31445c7e..20ecf663 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java +++ b/src/main/java/WayofTime/alchemicalWizardry/BloodMagicConfiguration.java @@ -14,7 +14,7 @@ import WayofTime.alchemicalWizardry.client.renderer.ColourThreshold; import WayofTime.alchemicalWizardry.client.renderer.RenderHelper; import WayofTime.alchemicalWizardry.common.demonVillage.DemonVillagePath; import WayofTime.alchemicalWizardry.common.demonVillage.tileEntity.TEDemonPortal; -import WayofTime.alchemicalWizardry.common.items.BoundArmour; +import WayofTime.alchemicalWizardry.common.items.armour.BoundArmour; import WayofTime.alchemicalWizardry.common.summoning.meteor.MeteorParadigm; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/WayofTime/alchemicalWizardry/ModItems.java b/src/main/java/WayofTime/alchemicalWizardry/ModItems.java index 7c5052aa..6595378b 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/ModItems.java +++ b/src/main/java/WayofTime/alchemicalWizardry/ModItems.java @@ -14,7 +14,6 @@ import WayofTime.alchemicalWizardry.common.items.ArchmageBloodOrb; import WayofTime.alchemicalWizardry.common.items.ArmourInhibitor; import WayofTime.alchemicalWizardry.common.items.BlankSpell; import WayofTime.alchemicalWizardry.common.items.BloodShard; -import WayofTime.alchemicalWizardry.common.items.BoundArmour; import WayofTime.alchemicalWizardry.common.items.BoundAxe; import WayofTime.alchemicalWizardry.common.items.BoundPickaxe; import WayofTime.alchemicalWizardry.common.items.BoundShovel; @@ -46,6 +45,11 @@ import WayofTime.alchemicalWizardry.common.items.SacrificialDagger; import WayofTime.alchemicalWizardry.common.items.TelepositionFocus; 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.OmegaArmour; +import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmourEarth; +import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmourWater; +import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmourWind; import WayofTime.alchemicalWizardry.common.items.energy.ItemAttunedCrystal; import WayofTime.alchemicalWizardry.common.items.energy.ItemDestinationClearer; import WayofTime.alchemicalWizardry.common.items.energy.ItemTankSegmenter; @@ -206,6 +210,21 @@ public class ModItems public static Item transcendentBloodOrb; public static Item itemAssassinSigil; + + public static OmegaArmour boundHelmetWater; + public static OmegaArmour boundPlateWater; + public static OmegaArmour boundLeggingsWater; + public static OmegaArmour boundBootsWater; + + public static OmegaArmour boundHelmetEarth; + public static OmegaArmour boundPlateEarth; + public static OmegaArmour boundLeggingsEarth; + public static OmegaArmour boundBootsEarth; + + public static OmegaArmour boundHelmetWind; + public static OmegaArmour boundPlateWind; + public static OmegaArmour boundLeggingsWind; + public static OmegaArmour boundBootsWind; public static void init() { @@ -309,6 +328,21 @@ public class ModItems itemHarvestSigil = new ItemHarvestSigil().setUnlocalizedName("itemHarvestSigil"); itemCompressionSigil = new ItemPackRatSigil().setUnlocalizedName("itemCompressionSigil"); itemAssassinSigil = new ItemSigilOfTheAssassin().setUnlocalizedName("itemAssassinSigil"); + + boundHelmetWater = (OmegaArmour) new OmegaArmourWater(0).setUnlocalizedName("boundHelmetWater"); + boundPlateWater = (OmegaArmour) new OmegaArmourWater(1).setUnlocalizedName("boundPlateWater"); + boundLeggingsWater = (OmegaArmour) new OmegaArmourWater(2).setUnlocalizedName("boundLeggingsWater"); + boundBootsWater = (OmegaArmour) new OmegaArmourWater(3).setUnlocalizedName("boundBootsWater"); + + boundHelmetEarth = (OmegaArmour) new OmegaArmourEarth(0).setUnlocalizedName("boundHelmetEarth"); + boundPlateEarth = (OmegaArmour) new OmegaArmourEarth(1).setUnlocalizedName("boundPlateEarth"); + boundLeggingsEarth = (OmegaArmour) new OmegaArmourEarth(2).setUnlocalizedName("boundLeggingsEarth"); + boundBootsEarth = (OmegaArmour) new OmegaArmourEarth(3).setUnlocalizedName("boundBootsEarth"); + + boundHelmetWind = (OmegaArmour) new OmegaArmourWind(0).setUnlocalizedName("boundHelmetWind"); + boundPlateWind = (OmegaArmour) new OmegaArmourWind(1).setUnlocalizedName("boundPlateWind"); + boundLeggingsWind = (OmegaArmour) new OmegaArmourWind(2).setUnlocalizedName("boundLeggingsWind"); + boundBootsWind = (OmegaArmour) new OmegaArmourWind(3).setUnlocalizedName("boundBootsWind"); } public static void registerItems() @@ -417,6 +451,21 @@ public class ModItems GameRegistry.registerItem(ModItems.itemHarvestSigil, "itemHarvestSigil"); GameRegistry.registerItem(ModItems.itemCompressionSigil, "itemCompressionSigil"); GameRegistry.registerItem(ModItems.itemAssassinSigil, "itemAssassinSigil"); + + GameRegistry.registerItem(ModItems.boundHelmetWater, "boundHelmetWater"); + GameRegistry.registerItem(ModItems.boundPlateWater, "boundPlateWater"); + GameRegistry.registerItem(ModItems.boundLeggingsWater, "boundLeggingsWater"); + GameRegistry.registerItem(ModItems.boundBootsWater, "boundBootsWater"); + + GameRegistry.registerItem(ModItems.boundHelmetEarth, "boundHelmetEarth"); + GameRegistry.registerItem(ModItems.boundPlateEarth, "boundPlateEarth"); + GameRegistry.registerItem(ModItems.boundLeggingsEarth, "boundLeggingsEarth"); + GameRegistry.registerItem(ModItems.boundBootsEarth, "boundBootsEarth"); + + GameRegistry.registerItem(ModItems.boundHelmetWind, "boundHelmetWind"); + GameRegistry.registerItem(ModItems.boundPlateWind, "boundPlateWind"); + GameRegistry.registerItem(ModItems.boundLeggingsWind, "boundLeggingsWind"); + GameRegistry.registerItem(ModItems.boundBootsWind, "boundBootsWind"); //GameRegistry.registerItem(ModItems.itemBloodFrame, "itemBloodFrame"); } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentRegistry.java b/src/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentRegistry.java index 16306ef4..20b43931 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentRegistry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/api/alchemy/energy/ReagentRegistry.java @@ -49,7 +49,7 @@ public class ReagentRegistry sanctusReagent.setColour(255, 255, 0, 255); incendiumReagent.setColour(255, 0, 0, 255); - aquasalusReagent.setColour(47, 0, 196, 255); + aquasalusReagent.setColour(0, 0, 255, 255); magicalesReagent.setColour(150, 0, 146, 255); aetherReagent.setColour(105, 223, 86, 255); crepitousReagent.setColour(145, 145, 145, 255); diff --git a/src/main/java/WayofTime/alchemicalWizardry/book/registries/RevivingRegistry.java b/src/main/java/WayofTime/alchemicalWizardry/book/registries/RevivingRegistry.java deleted file mode 100644 index 648d288c..00000000 --- a/src/main/java/WayofTime/alchemicalWizardry/book/registries/RevivingRegistry.java +++ /dev/null @@ -1,13 +0,0 @@ -package WayofTime.alchemicalWizardry.book.registries; - -import java.util.HashMap; - -import WayofTime.alchemicalWizardry.book.compact.CompactItem; -import WayofTime.alchemicalWizardry.book.interfaces.IReviving; - -public class RevivingRegistry { - public static void registerReviving(CompactItem ingredients, IReviving reviving){ - recipes.put(ingredients, reviving); - } - public static HashMap recipes = new HashMap(); -} \ No newline at end of file diff --git a/src/main/java/WayofTime/alchemicalWizardry/client/renderer/RenderHelper.java b/src/main/java/WayofTime/alchemicalWizardry/client/renderer/RenderHelper.java index e743e12d..9071683d 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/client/renderer/RenderHelper.java +++ b/src/main/java/WayofTime/alchemicalWizardry/client/renderer/RenderHelper.java @@ -24,6 +24,7 @@ import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentContainerInfo; import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentStack; import WayofTime.alchemicalWizardry.api.spell.APISpellHelper; +import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmour; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; public class RenderHelper @@ -70,12 +71,18 @@ public class RenderHelper GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); } - ReagentStack reagentStack = new ReagentStack(ReagentRegistry.sanctusReagent, 1000); - int maxAmount = 3000; - - if(reagentStack != null && reagentStack.amount > 0) + ItemStack stack = player.inventory.armorItemInSlot(2); + if(stack != null && stack.getItem() instanceof OmegaArmour) { -// renderTestHUD(mc, reagentStack, maxAmount); + int duration = ((OmegaArmour)stack.getItem()).getDuration(stack); + ReagentStack reagentStack = new ReagentStack(ReagentRegistry.aquasalusReagent, duration); + int maxAmount = 100; + + if(reagentStack != null && reagentStack.amount > 0) + { + renderTestHUD(mc, reagentStack, maxAmount); + } + } if(SpellHelper.canPlayerSeeLPBar(player)) @@ -224,8 +231,8 @@ public class RenderHelper int amount = Math.max((int) (256 * ((double)(maxAmount - reagentStack.amount) / maxAmount)), 0); - int x = (16 - xSize) / 2 * 8; - int y = (150 - ySize) / 2 * 8; + int x = (lpBarX + 16 - xSize / 2) * 8; + int y = (lpBarY - ySize / 2) * 8; ResourceLocation test2 = new ResourceLocation("alchemicalwizardry", "textures/gui/container1.png"); GL11.glColor4f(reagent.getColourRed(), reagent.getColourGreen(), reagent.getColourBlue(), 1.0F); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java index 1078fc69..b826b7ac 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java @@ -33,7 +33,7 @@ import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.BloodMagicConfiguration; import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; import WayofTime.alchemicalWizardry.common.entity.projectile.EnergyBlastProjectile; -import WayofTime.alchemicalWizardry.common.items.BoundArmour; +import WayofTime.alchemicalWizardry.common.items.armour.BoundArmour; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.common.tileEntity.TEMasterStone; import cpw.mods.fml.client.event.ConfigChangedEvent; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java b/src/main/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java index df652209..1926e450 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/block/ArmourForge.java @@ -4,7 +4,7 @@ import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ModItems; import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.common.ArmourComponent; -import WayofTime.alchemicalWizardry.common.items.BoundArmour; +import WayofTime.alchemicalWizardry.common.items.armour.BoundArmour; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.common.tileEntity.TESocket; import cpw.mods.fml.relauncher.Side; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java index d4d9b19f..ebcea70a 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/CheatyItem.java @@ -67,7 +67,7 @@ public class CheatyItem extends Item implements IBindable SpellHelper.sendIndexedParticleToAllAround(world, posX, posY, posZ, 20, world.provider.dimensionId, 4, posX, posY, posZ); } - if (!par3EntityPlayer.worldObj.isRemote) + if (par3EntityPlayer.worldObj.isRemote) { return par1ItemStack; } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/BoundArmour.java similarity index 99% rename from src/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java rename to src/main/java/WayofTime/alchemicalWizardry/common/items/armour/BoundArmour.java index 68931543..06f628c5 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/BoundArmour.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.common.items; +package WayofTime.alchemicalWizardry.common.items.armour; import java.util.List; @@ -27,6 +27,8 @@ import WayofTime.alchemicalWizardry.ModItems; import WayofTime.alchemicalWizardry.api.alchemy.energy.IAlchemyGoggles; import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable; +import WayofTime.alchemicalWizardry.common.items.EnergyItems; +import WayofTime.alchemicalWizardry.common.items.ILPGauge; import WayofTime.alchemicalWizardry.common.items.sigil.DivinationSigil; import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaArmour; import cpw.mods.fml.common.Optional; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java new file mode 100644 index 00000000..df1c8b5b --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java @@ -0,0 +1,206 @@ +package WayofTime.alchemicalWizardry.common.items.armour; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.EnumAction; +import net.minecraft.item.ItemArmor; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; +import WayofTime.alchemicalWizardry.common.omega.OmegaParadigm; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +public abstract class OmegaArmour extends BoundArmour +{ + public OmegaParadigm paradigm; + + public OmegaArmour(int armorType) + { + super(armorType); + } + + public void setParadigm(OmegaParadigm paradigm) + { + this.paradigm = paradigm; + } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) + { + super.onArmorTick(world, player, itemStack); + if(!this.decrementDuration(itemStack)) + { + ItemStack stack = this.getContainedArmourStack(itemStack); + player.inventory.armorInventory[3-this.armorType] = stack; + } + } + + public ItemStack getSubstituteStack(ItemStack boundStack) + { + ItemStack omegaStack = new ItemStack(this); + this.setContainedArmourStack(omegaStack, boundStack); + SoulNetworkHandler.checkAndSetItemOwner(omegaStack, SoulNetworkHandler.getOwnerName(boundStack)); + this.setItemDuration(omegaStack, 100); + return omegaStack; + } + + public void setContainedArmourStack(ItemStack omegaStack, ItemStack boundStack) + { + if(omegaStack == null || boundStack == null) + { + return; + } + + NBTTagCompound tag = new NBTTagCompound(); + boundStack.writeToNBT(tag); + + NBTTagCompound omegaTag = omegaStack.getTagCompound(); + if(omegaTag == null) + { + omegaTag = new NBTTagCompound(); + omegaStack.setTagCompound(omegaTag); + } + + omegaTag.setTag("armour", tag); + } + + public ItemStack getContainedArmourStack(ItemStack omegaStack) + { + NBTTagCompound omegaTag = omegaStack.getTagCompound(); + if(omegaTag == null) + { + return null; + } + + NBTTagCompound tag = omegaTag.getCompoundTag("armour"); + ItemStack armourStack = ItemStack.loadItemStackFromNBT(tag); + + return armourStack; + } + + public void setItemDuration(ItemStack omegaStack, int duration) + { + NBTTagCompound tag = omegaStack.getTagCompound(); + if(tag == null) + { + tag = new NBTTagCompound(); + omegaStack.setTagCompound(tag); + } + + tag.setInteger("duration", duration); + } + + public int getDuration(ItemStack omegaStack) + { + if(omegaStack.hasTagCompound()) + { + return omegaStack.getTagCompound().getInteger("duration"); + }else + { + return 0; + } + } + + /** + * + * @param omegaStack + * @return true if there is duration left (duration > 0) + */ + public boolean decrementDuration(ItemStack omegaStack) + { + int duration = this.getDuration(omegaStack); + + if(duration > 0) + { + this.setItemDuration(omegaStack, duration - 1); + return true; + } + else + { + return false; + } + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) + { + return "alchemicalwizardry:models/armor/OmegaWater.png"; + } + + public abstract ModelBiped getChestModel(); + + public abstract ModelBiped getLegsModel(); + + ModelBiped model1 = null; + ModelBiped model2 = null; + ModelBiped model = null; + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) + { + if (tryComplexRendering) + { + int type = ((ItemArmor) itemStack.getItem()).armorType; + if (this.model1 == null) + { + this.model1 = getChestModel(); + } + if (this.model2 == null) + { + this.model2 = getLegsModel(); + } + + if (type == 1 || type == 3 || type == 0) + { + this.model = model1; + } else + { + this.model = model2; + } + + if (this.model != null) + { + this.model.bipedHead.showModel = (type == 0); + this.model.bipedHeadwear.showModel = (type == 0); + this.model.bipedBody.showModel = ((type == 1) || (type == 2)); + this.model.bipedLeftArm.showModel = (type == 1); + this.model.bipedRightArm.showModel = (type == 1); + this.model.bipedLeftLeg.showModel = (type == 2 || type == 3); + this.model.bipedRightLeg.showModel = (type == 2 || type == 3); + this.model.isSneak = entityLiving.isSneaking(); + + this.model.isRiding = entityLiving.isRiding(); + this.model.isChild = entityLiving.isChild(); + + this.model.aimedBow = false; + this.model.heldItemRight = (entityLiving.getHeldItem() != null ? 1 : 0); + + if ((entityLiving instanceof EntityPlayer)) + { + if (((EntityPlayer) entityLiving).getItemInUseDuration() > 0) + { + EnumAction enumaction = ((EntityPlayer) entityLiving).getItemInUse().getItemUseAction(); + if (enumaction == EnumAction.block) + { + this.model.heldItemRight = 3; + } else if (enumaction == EnumAction.bow) + { + this.model.aimedBow = true; + } + } + } + } + + return model; + + } else + { + return super.getArmorModel(entityLiving, itemStack, armorSlot); + } + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourEarth.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourEarth.java new file mode 100644 index 00000000..ef208de7 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourEarth.java @@ -0,0 +1,32 @@ +package WayofTime.alchemicalWizardry.common.items.armour; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaEarth; + +public class OmegaArmourEarth extends OmegaArmour +{ + public OmegaArmourEarth(int armorType) + { + super(armorType); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) + { + return "alchemicalwizardry:models/armor/OmegaEarth.png"; + } + + @Override + public ModelBiped getChestModel() + { + return new ModelOmegaEarth(1.0f, true, true, false, true); + } + + @Override + public ModelBiped getLegsModel() + { + return new ModelOmegaEarth(0.5f, false, false, true, false); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWater.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWater.java new file mode 100644 index 00000000..be5a98cb --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWater.java @@ -0,0 +1,32 @@ +package WayofTime.alchemicalWizardry.common.items.armour; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaWater; + +public class OmegaArmourWater extends OmegaArmour +{ + public OmegaArmourWater(int armorType) + { + super(armorType); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) + { + return "alchemicalwizardry:models/armor/OmegaWater.png"; + } + + @Override + public ModelBiped getChestModel() + { + return new ModelOmegaWater(1.0f, true, true, false, true); + } + + @Override + public ModelBiped getLegsModel() + { + return new ModelOmegaWater(0.5f, false, false, true, false); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWind.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWind.java new file mode 100644 index 00000000..c2205070 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWind.java @@ -0,0 +1,32 @@ +package WayofTime.alchemicalWizardry.common.items.armour; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.entity.Entity; +import net.minecraft.item.ItemStack; +import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaWind; + +public class OmegaArmourWind extends OmegaArmour +{ + public OmegaArmourWind(int armorType) + { + super(armorType); + } + + @Override + public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) + { + return "alchemicalwizardry:models/armor/OmegaWind.png"; + } + + @Override + public ModelBiped getChestModel() + { + return new ModelOmegaWind(1.0f, true, true, false, true); + } + + @Override + public ModelBiped getLegsModel() + { + return new ModelOmegaWind(0.5f, false, false, true, false); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemHarvestSigil.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemHarvestSigil.java index a177b8ac..f253d462 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemHarvestSigil.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/sigil/ItemHarvestSigil.java @@ -133,11 +133,16 @@ public class ItemHarvestSigil extends EnergyItems implements IHolding, ArmourUpg @Override public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { - if (!(par3Entity instanceof EntityPlayer) || par2World.isRemote) + if ((!(par3Entity instanceof EntityPlayer)) || par2World.isRemote) { return; } + if(par2World.isRemote) + { + return; + } + EntityPlayer par3EntityPlayer = (EntityPlayer) par3Entity; if (par1ItemStack.stackTagCompound == null) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java new file mode 100644 index 00000000..102d477a --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java @@ -0,0 +1,50 @@ +package WayofTime.alchemicalWizardry.common.omega; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import WayofTime.alchemicalWizardry.ModItems; +import WayofTime.alchemicalWizardry.common.items.armour.OmegaArmour; + +public class OmegaParadigm +{ + public OmegaArmour helmet; + public OmegaArmour chestPiece; + public OmegaArmour leggings; + public OmegaArmour boots; + + public OmegaParadigm(OmegaArmour helmet, OmegaArmour chestPiece, OmegaArmour leggings, OmegaArmour boots) + { + this.helmet = helmet; + this.chestPiece = chestPiece; + this.leggings = leggings; + this.boots = boots; + + this.helmet.setParadigm(this); + this.chestPiece.setParadigm(this); + this.leggings.setParadigm(this); + this.boots.setParadigm(this); + } + + public void convertPlayerArmour(EntityPlayer player) + { + ItemStack[] armours = player.inventory.armorInventory; + + ItemStack helmetStack = armours[3]; + ItemStack chestStack = armours[2]; + ItemStack leggingsStack = armours[1]; + ItemStack bootsStack = armours[0]; + + if(helmetStack != null && helmetStack.getItem() == ModItems.boundHelmet && chestStack != null && chestStack.getItem() == ModItems.boundPlate && leggingsStack != null && leggingsStack.getItem() == ModItems.boundLeggings && bootsStack != null && bootsStack.getItem() == ModItems.boundBoots) + { + ItemStack omegaHelmetStack = helmet.getSubstituteStack(helmetStack); + ItemStack omegaChestStack = chestPiece.getSubstituteStack(chestStack); + ItemStack omegaLeggingsStack = leggings.getSubstituteStack(leggingsStack); + ItemStack omegaBootsStack = boots.getSubstituteStack(bootsStack); + + armours[3] = omegaHelmetStack; + armours[2] = omegaChestStack; + armours[1] = omegaLeggingsStack; + armours[0] = omegaBootsStack; + } + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaRegistry.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaRegistry.java new file mode 100644 index 00000000..776538db --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaRegistry.java @@ -0,0 +1,6 @@ +package WayofTime.alchemicalWizardry.common.omega; + +public class OmegaRegistry +{ + +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaEarth.java b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaEarth.java new file mode 100644 index 00000000..4af279d5 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaEarth.java @@ -0,0 +1,509 @@ +package WayofTime.alchemicalWizardry.common.renderer.model; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * OmegaEarth.tcn - TechneToTabulaImporter + * Created using Tabula 4.1.0 + */ +public class ModelOmegaEarth extends ModelBiped{ + + public ModelRenderer backPlate; + public ModelRenderer topPlate; + public ModelRenderer sidePlate6; + public ModelRenderer sidePlate5; + public ModelRenderer sidePlate4; + public ModelRenderer sidePlate3; + public ModelRenderer sidePlate2; + public ModelRenderer sidePlate1; + public ModelRenderer facePlate6; + public ModelRenderer facePlate1; + public ModelRenderer facePlate5; + public ModelRenderer facePlate4; + public ModelRenderer facePlate2; + public ModelRenderer facePlate3; + public ModelRenderer chestMain; + public ModelRenderer backPlate_1; + public ModelRenderer chestPlate1; + public ModelRenderer chestPlate2; + public ModelRenderer chestPlate3; + public ModelRenderer chestPlate4; + public ModelRenderer chestPlate5; + public ModelRenderer chestPlate6; + public ModelRenderer belt; + public ModelRenderer rightShoulder; + public ModelRenderer rightArm; + public ModelRenderer rightArmSymbol; + public ModelRenderer rightArmPlate1; + public ModelRenderer rightArmPlate2; + public ModelRenderer rightArmPlate3; + public ModelRenderer rightArmPlate4; + public ModelRenderer leftShoulder; + public ModelRenderer leftArm; + public ModelRenderer leftArmSymbol; + public ModelRenderer leftArmPlate1; + public ModelRenderer leftArmPlate2; + public ModelRenderer leftArmPlate3; + public ModelRenderer leftArmPlate4; + public ModelRenderer rightLeg; + public ModelRenderer rightLegPlate1; + public ModelRenderer rightLegPlate2; + public ModelRenderer rightLegPlate3; + public ModelRenderer rightLegPlate4; + public ModelRenderer rightLegPlate5; + public ModelRenderer rightLegPlate6; + public ModelRenderer rightLegPlate7; + public ModelRenderer rightLegPlate8; + public ModelRenderer rightLegPlate10; + public ModelRenderer rightLegPlate9; + public ModelRenderer rightLegPlate11; + public ModelRenderer rightLegPlate12; + public ModelRenderer rightLegPlate13; + public ModelRenderer rightBoot1; + public ModelRenderer rightBoot2; + public ModelRenderer rightBoot3; + 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 leftLegPlate8; + public ModelRenderer leftLegPlate9; + public ModelRenderer leftLegPlate10; + public ModelRenderer leftLegPlate11; + public ModelRenderer leftLegPlate12; + public ModelRenderer leftLegPlate13; + public ModelRenderer leftBoot1; + public ModelRenderer leftBoot2; + public ModelRenderer leftBoot3; + + public ModelOmegaEarth(float f, boolean addHelmet, boolean addChestPiece, boolean addLeggings, boolean addBoots) + { + super(f, 0.0f, 256, 128); + this.leftShoulder = new ModelRenderer(this, 29, 33); + this.leftShoulder.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftShoulder.addBox(-1.0F, -3.0F, -3.0F, 6, 5, 6, 0.0F); + this.leftBoot1 = new ModelRenderer(this, 44, 61); + this.leftBoot1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftBoot1.addBox(-2.0F, 9.5F, -5.0F, 5, 3, 8, 0.0F); + this.leftLegPlate9 = new ModelRenderer(this, 0, 86); + this.leftLegPlate9.setRotationPoint(0.0F, 2.5F, 0.0F); + this.leftLegPlate9.addBox(-2.5F, 1.5F, 1.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate9, 0.40142572795869574F, -0.0F, 0.0F); + this.facePlate3 = new ModelRenderer(this, 0, 100); + this.facePlate3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate3.addBox(-1.0F, -7.5F, -6.5F, 5, 4, 1, 0.0F); + this.setRotateAngle(facePlate3, -0.17453292012214658F, -0.15707963705062866F, 0.0F); + this.leftArm = new ModelRenderer(this, 29, 45); + this.leftArm.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArm.addBox(-1.0F-0.5f, 2.0F, -2.5F, 5, 9, 5, 0.0F); + this.leftLegPlate11 = new ModelRenderer(this, 0, 91); + this.leftLegPlate11.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftLegPlate11.addBox(1.0F, 1.5F, -2.5F, 1, 3, 5, 0.0F); + this.setRotateAngle(leftLegPlate11, 0.0F, -0.0F, -0.40142572795869574F); + this.leftBoot3 = new ModelRenderer(this, 45, 73); + this.leftBoot3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftBoot3.addBox(0.0F, 9.0F, -4.5F, 1, 3, 7, 0.0F); + this.setRotateAngle(leftBoot3, 0.10471975511965977F, -0.0F, -0.2617993877991494F); + this.leftLegPlate5 = new ModelRenderer(this, 13, 86); + this.leftLegPlate5.setRotationPoint(0.0F, 5.0F, 0.0F); + this.leftLegPlate5.addBox(-2.5F, 1.5F, -2.8F, 3, 2, 1, 0.0F); + this.setRotateAngle(leftLegPlate5, -0.40142572795869574F, -0.0F, 0.0F); + this.leftArmPlate1 = new ModelRenderer(this, 0, 56); + this.leftArmPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate1.addBox(-2.0F, -5.0F, -4.5F, 6, 3, 1, 0.0F); + this.setRotateAngle(leftArmPlate1, -0.19198621771937624F, -0.0F, 0.9599310885968813F); + this.rightLegPlate13 = new ModelRenderer(this, 0, 91); + this.rightLegPlate13.mirror = true; + this.rightLegPlate13.setRotationPoint(0.0F, 5.0F, 0.0F); + this.rightLegPlate13.addBox(-2.0F, 1.5F, -2.5F, 1, 3, 5, 0.0F); + this.setRotateAngle(rightLegPlate13, 0.0F, -0.0F, 0.40142572795869574F); + this.rightLegPlate2 = new ModelRenderer(this, 0, 86); + this.rightLegPlate2.mirror = true; + this.rightLegPlate2.setRotationPoint(0.0F, 2.5F, 0.0F); + this.rightLegPlate2.addBox(-2.5F, 1.5F, -2.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate2, -0.40142572795869574F, -0.0F, 0.0F); + this.rightLegPlate8 = new ModelRenderer(this, 0, 86); + this.rightLegPlate8.mirror = true; + this.rightLegPlate8.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightLegPlate8.addBox(-2.5F, 1.5F, 1.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate8, 0.40142572795869574F, -0.0F, 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.5F, 1.5F, -2.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate1, -0.40142572795869574F, -0.0F, 0.0F); + this.rightLegPlate7 = new ModelRenderer(this, 13, 90); + this.rightLegPlate7.mirror = true; + this.rightLegPlate7.setRotationPoint(0.0F, 5.0F, 0.0F); + this.rightLegPlate7.addBox(-1.5F, 1.0F, -2.8F, 1, 2, 1, 0.0F); + this.setRotateAngle(rightLegPlate7, -0.40142572795869574F, -0.0F, 0.0F); + this.chestPlate6 = new ModelRenderer(this, 0, 52); + this.chestPlate6.mirror = true; + this.chestPlate6.setRotationPoint(0.0F, -3.5F, 0.0F); + this.chestPlate6.addBox(-5.5F, 2.0F, -4.5F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate6, 0.3141592741012573F, -0.0F, -0.12217304855585097F); + + this.sidePlate5 = new ModelRenderer(this, 13, 110); + this.sidePlate5.setRotationPoint(0.0F, 0.5F, 3.0F); + this.sidePlate5.addBox(4.0F, -8.5F, -4.0F, 1, 7, 4, 0.0F); + this.setRotateAngle(sidePlate5, 0.0F, 0.22689279913902283F, 0.0F); + + this.chestMain = new ModelRenderer(this, 0, 33); + this.chestMain.setRotationPoint(0.0F, 0.0F, 0.0F); + this.chestMain.addBox(-4.5F, -0.009999999776482582F, -2.5F, 9, 13, 5, 0.0F); + this.facePlate2 = new ModelRenderer(this, 0, 110); + this.facePlate2.mirror = true; + this.facePlate2.setRotationPoint(0.0F, 0.5F, 0.0F); + this.facePlate2.addBox(-3.0F, -3.5F, -5.5F, 5, 3, 1, 0.0F); + this.setRotateAngle(facePlate2, 0.05235987901687623F, 0.34906584024429316F, 0.0F); + this.rightArm = new ModelRenderer(this, 29, 45); + this.rightArm.mirror = true; + this.rightArm.setRotationPoint(0.0F+0.5f, 0.0F, 0.0F); + this.rightArm.addBox(-4.0F, 2.0F, -2.5F, 5, 9, 5, 0.0F); + + this.rightLegPlate11 = new ModelRenderer(this, 0, 91); + this.rightLegPlate11.mirror = true; + this.rightLegPlate11.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightLegPlate11.addBox(-2.0F, 1.5F, -2.5F, 1, 3, 5, 0.0F); + this.setRotateAngle(rightLegPlate11, 0.0F, -0.0F, 0.40142572795869574F); + this.leftLegPlate3 = new ModelRenderer(this, 0, 86); + this.leftLegPlate3.setRotationPoint(0.0F, 5.0F, 0.0F); + this.leftLegPlate3.addBox(-2.5F, 1.5F, -2.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate3, -0.40142572795869574F, -0.0F, 0.0F); + this.rightArmPlate4 = new ModelRenderer(this, 0, 56); + this.rightArmPlate4.mirror = true; + this.rightArmPlate4.setRotationPoint(-0.0F, 0.0F, 0.0F); + this.rightArmPlate4.addBox(-4.0F, -3.0F, 3.0F, 6, 3, 1, 0.0F); + this.setRotateAngle(rightArmPlate4, 0.19198621771937624F, -0.0F, -0.9599310885968813F); + this.rightLegPlate10 = new ModelRenderer(this, 0, 86); + this.rightLegPlate10.mirror = true; + this.rightLegPlate10.setRotationPoint(0.0F, 5.0F, 0.0F); + this.rightLegPlate10.addBox(-2.5F, 1.5F, 1.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate10, 0.40142572795869574F, -0.0F, 0.0F); + this.rightArmSymbol = new ModelRenderer(this, 50, 45); + this.rightArmSymbol.mirror = true; + this.rightArmSymbol.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArmSymbol.addBox(-5.0F+0.5f, 4.0F, -2.0F, 1, 4, 4, 0.0F); + this.leftLegPlate1 = new ModelRenderer(this, 0, 86); + this.leftLegPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftLegPlate1.addBox(-2.5F, 1.5F, -2.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate1, -0.40142572795869574F, -0.0F, 0.0F); + this.rightArmPlate1 = new ModelRenderer(this, 0, 56); + this.rightArmPlate1.mirror = true; + this.rightArmPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArmPlate1.addBox(-4.0F, -5.0F, -4.5F, 6, 3, 1, 0.0F); + this.setRotateAngle(rightArmPlate1, -0.19198621771937624F, -0.0F, -0.9599310885968813F); + this.leftLegPlate13 = new ModelRenderer(this, 0, 91); + this.leftLegPlate13.setRotationPoint(0.0F, 5.0F, 0.0F); + this.leftLegPlate13.addBox(1.0F, 1.5F, -2.5F, 1, 3, 5, 0.0F); + this.setRotateAngle(leftLegPlate13, 0.0F, -0.0F, -0.40142572795869574F); + this.backPlate = new ModelRenderer(this, 22, 94); + this.backPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.backPlate.addBox(-4.0F, -7.699999809265137F, 3.700000047683716F, 8, 8, 1, 0.0F); + this.setRotateAngle(backPlate, 0.06981316953897475F, -0.0F, 0.0F); + this.leftLegPlate8 = new ModelRenderer(this, 0, 86); + this.leftLegPlate8.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftLegPlate8.addBox(-2.5F, 1.5F, 1.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate8, 0.40142572795869574F, -0.0F, 0.0F); + 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.facePlate5 = new ModelRenderer(this, 0, 106); + this.facePlate5.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate5.addBox(-4.0F, -4.5F, -4.5F, 8, 2, 1, 0.0F); + this.belt = new ModelRenderer(this, 0, 61); + this.belt.setRotationPoint(0.0F, 0.0F, 0.0F); + this.belt.addBox(-5.0F, 11.0F, -3.0F, 10, 2, 6, 0.0F); + this.rightLegPlate3 = new ModelRenderer(this, 0, 86); + this.rightLegPlate3.mirror = true; + this.rightLegPlate3.setRotationPoint(0.0F, 5.0F, 0.0F); + this.rightLegPlate3.addBox(-2.5F, 1.5F, -2.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate3, -0.40142572795869574F, -0.0F, 0.0F); + this.chestPlate3 = new ModelRenderer(this, 0, 52); + this.chestPlate3.setRotationPoint(0.0F, -1.5F, 0.0F); + this.chestPlate3.addBox(0.6000000238418579F, 2.0F, -4.5F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate3, 0.3141592741012573F, -0.0F, 0.17453292012214658F); + this.sidePlate4 = new ModelRenderer(this, 13, 110); + this.sidePlate4.setRotationPoint(0.0F, 0.5F, 0.0F); + this.sidePlate4.addBox(4.0F, -8.5F, -3.0F, 1, 7, 4, 0.0F); + this.setRotateAngle(sidePlate4, 0.0F, 0.22689279913902283F, 0.0F); + this.rightLegPlate6 = new ModelRenderer(this, 13, 90); + this.rightLegPlate6.mirror = true; + this.rightLegPlate6.setRotationPoint(0.0F, 2.5F, 0.0F); + this.rightLegPlate6.addBox(-1.5F, 1.0F, -2.8F, 1, 2, 1, 0.0F); + this.setRotateAngle(rightLegPlate6, -0.40142572795869574F, -0.0F, 0.0F); + + this.rightBoot2 = new ModelRenderer(this, 22, 73); + 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.leftLegPlate7 = new ModelRenderer(this, 13, 90); + this.leftLegPlate7.setRotationPoint(0.0F, 5.0F, 0.0F); + this.leftLegPlate7.addBox(0.5F, 1.0F, -2.8F, 1, 2, 1, 0.0F); + this.setRotateAngle(leftLegPlate7, -0.40142572795869574F, -0.0F, 0.0F); + this.facePlate6 = new ModelRenderer(this, 19, 106); + this.facePlate6.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate6.addBox(-1.0F, -4.5F, -5.0F, 2, 2, 1, 0.0F); + this.facePlate1 = new ModelRenderer(this, 0, 110); + this.facePlate1.setRotationPoint(0.0F, 0.5F, 0.0F); + this.facePlate1.addBox(-2.0F, -3.5F, -5.5F, 5, 3, 1, 0.0F); + this.setRotateAngle(facePlate1, 0.05235987901687623F, -0.34906584024429316F, 0.0F); + this.sidePlate1 = new ModelRenderer(this, 13, 110); + this.sidePlate1.mirror = true; + this.sidePlate1.setRotationPoint(0.0F, 0.5F, 0.0F); + this.sidePlate1.addBox(-5.0F, -8.5F, -3.0F, 1, 7, 4, 0.0F); + this.setRotateAngle(sidePlate1, 0.0F, -0.22689279913902283F, 0.0F); + this.facePlate4 = new ModelRenderer(this, 0, 100); + this.facePlate4.mirror = true; + this.facePlate4.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate4.addBox(-4.0F, -7.5F, -6.5F, 5, 4, 1, 0.0F); + this.setRotateAngle(facePlate4, -0.17453292012214658F, 0.15707963705062866F, 0.0F); + this.rightLegPlate12 = new ModelRenderer(this, 0, 91); + this.rightLegPlate12.mirror = true; + this.rightLegPlate12.setRotationPoint(0.0F, 2.5F, 0.0F); + this.rightLegPlate12.addBox(-2.0F, 1.5F, -2.5F, 1, 3, 5, 0.0F); + this.setRotateAngle(rightLegPlate12, 0.0F, -0.0F, 0.40142572795869574F); + this.leftArmPlate4 = new ModelRenderer(this, 0, 56); + this.leftArmPlate4.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate4.addBox(-2.0F, -3.0F, 3.0F, 6, 3, 1, 0.0F); + this.setRotateAngle(leftArmPlate4, 0.19198621771937624F, -0.0F, 0.9599310885968813F); + this.rightLegPlate4 = new ModelRenderer(this, 13, 86); + this.rightLegPlate4.mirror = true; + this.rightLegPlate4.setRotationPoint(0.0F, 2.5F, 0.0F); + this.rightLegPlate4.addBox(-0.5F, 1.5F, -2.8F, 3, 2, 1, 0.0F); + this.setRotateAngle(rightLegPlate4, -0.40142572795869574F, -0.0F, 0.0F); + this.leftLegPlate12 = new ModelRenderer(this, 0, 91); + this.leftLegPlate12.setRotationPoint(0.0F, 2.5F, 0.0F); + this.leftLegPlate12.addBox(1.0F, 1.5F, -2.5F, 1, 3, 5, 0.0F); + this.setRotateAngle(leftLegPlate12, 0.0F, -0.0F, -0.40142572795869574F); + this.chestPlate2 = new ModelRenderer(this, 0, 52); + this.chestPlate2.mirror = true; + this.chestPlate2.setRotationPoint(0.0F, 0.5F, 0.0F); + this.chestPlate2.addBox(-5.699999809265137F, 2.0F, -4.5F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate2, 0.3141592741012573F, -0.0F, -0.22689279913902285F); + this.backPlate_1 = new ModelRenderer(this, 33, 61); + this.backPlate_1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.backPlate_1.addBox(-2.0F, 2.0F, 2.5F, 4, 6, 1, 0.0F); + this.topPlate = new ModelRenderer(this, 22, 84); + this.topPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.topPlate.addBox(-4.0F, -8.199999809265137F, -3.5999999046325684F, 8, 1, 8, 0.0F); + this.setRotateAngle(topPlate, 0.05235987901687623F, -0.0F, 0.0F); + this.rightBoot3 = new ModelRenderer(this, 45, 73); + this.rightBoot3.mirror = true; + this.rightBoot3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightBoot3.addBox(-1.0F, 9.0F, -4.5F, 1, 3, 7, 0.0F); + this.setRotateAngle(rightBoot3, 0.10471975511965977F, -0.0F, 0.2617993877991494F); + this.leftArmSymbol = new ModelRenderer(this, 50, 45); + this.leftArmSymbol.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmSymbol.addBox(4.0F-0.5f, 4.0F, -2.0F, 1, 4, 4, 0.0F); + this.sidePlate6 = new ModelRenderer(this, 13, 110); + this.sidePlate6.setRotationPoint(0.0F, 0.5F, 6.0F); + this.sidePlate6.addBox(4.0F, -8.5F, -5.0F, 1, 7, 4, 0.0F); + this.setRotateAngle(sidePlate6, 0.0F, 0.22689279913902283F, 0.0F); + this.chestPlate5 = new ModelRenderer(this, 0, 52); + this.chestPlate5.setRotationPoint(0.0F, -3.5F, 0.0F); + this.chestPlate5.addBox(0.5F, 2.0F, -4.5F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate5, 0.3141592741012573F, -0.0F, 0.12217304855585097F); + 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, 0, 56); + this.leftArmPlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate2.addBox(-2.0F, -3.0F, -4.0F, 6, 3, 1, 0.0F); + this.setRotateAngle(leftArmPlate2, -0.19198621771937624F, -0.0F, 0.9599310885968813F); + this.leftBoot2 = new ModelRenderer(this, 22, 73); + this.leftBoot2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftBoot2.addBox(-2.0F, 8.5F, -3.0F, 5, 1, 6, 0.0F); + this.leftArmPlate3 = new ModelRenderer(this, 0, 56); + this.leftArmPlate3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate3.addBox(-2.0F, -5.0F, 3.5F, 6, 3, 1, 0.0F); + this.setRotateAngle(leftArmPlate3, 0.19198621771937624F, -0.0F, 0.9599310885968813F); + + this.rightLegPlate5 = new ModelRenderer(this, 13, 86); + this.rightLegPlate5.mirror = true; + this.rightLegPlate5.setRotationPoint(0.0F, 5.0F, 0.0F); + this.rightLegPlate5.addBox(-0.5F, 1.5F, -2.8F, 3, 2, 1, 0.0F); + this.setRotateAngle(rightLegPlate5, -0.40142572795869574F, -0.0F, 0.0F); + this.sidePlate3 = new ModelRenderer(this, 13, 110); + this.sidePlate3.mirror = true; + this.sidePlate3.setRotationPoint(0.0F, 0.5F, 6.0F); + this.sidePlate3.addBox(-5.0F, -8.5F, -5.0F, 1, 7, 4, 0.0F); + this.setRotateAngle(sidePlate3, 0.0F, -0.22689279913902283F, 0.0F); + this.chestPlate1 = new ModelRenderer(this, 0, 52); + this.chestPlate1.setRotationPoint(0.0F, 0.5F, 0.0F); + this.chestPlate1.addBox(0.699999988079071F, 2.0F, -4.5F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate1, 0.3141592741012573F, -0.0F, 0.22689279913902285F); + this.leftLegPlate4 = new ModelRenderer(this, 13, 86); + this.leftLegPlate4.setRotationPoint(0.0F, 2.5F, 0.0F); + this.leftLegPlate4.addBox(-2.5F, 1.5F, -2.8F, 3, 2, 1, 0.0F); + this.setRotateAngle(leftLegPlate4, -0.40142572795869574F, -0.0F, 0.0F); + this.rightBoot1 = new ModelRenderer(this, 44, 61); + 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.chestPlate4 = new ModelRenderer(this, 0, 52); + this.chestPlate4.mirror = true; + this.chestPlate4.setRotationPoint(0.0F, -1.5F, 0.0F); + this.chestPlate4.addBox(-5.599999904632568F, 2.0F, -4.5F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate4, 0.3141592741012573F, -0.0F, -0.17453292012214658F); + this.rightShoulder = new ModelRenderer(this, 29, 33); + 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.rightLegPlate9 = new ModelRenderer(this, 0, 86); + this.rightLegPlate9.mirror = true; + this.rightLegPlate9.setRotationPoint(0.0F, 2.5F, 0.0F); + this.rightLegPlate9.addBox(-2.5F, 1.5F, 1.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(rightLegPlate9, 0.40142572795869574F, -0.0F, 0.0F); + this.sidePlate2 = new ModelRenderer(this, 13, 110); + this.sidePlate2.mirror = true; + this.sidePlate2.setRotationPoint(0.0F, 0.5F, 3.0F); + this.sidePlate2.addBox(-5.0F, -8.5F, -4.0F, 1, 7, 4, 0.0F); + this.setRotateAngle(sidePlate2, 0.0F, -0.22689279913902283F, 0.0F); + + this.rightArmPlate3 = new ModelRenderer(this, 0, 56); + this.rightArmPlate3.mirror = true; + this.rightArmPlate3.setRotationPoint(-0.0F, 0.0F, 0.0F); + this.rightArmPlate3.addBox(-4.0F, -5.0F, 3.5F, 6, 3, 1, 0.0F); + this.setRotateAngle(rightArmPlate3, 0.19198621771937624F, -0.0F, -0.9599310885968813F); + this.leftLegPlate6 = new ModelRenderer(this, 13, 90); + this.leftLegPlate6.setRotationPoint(0.0F, 2.5F, 0.0F); + this.leftLegPlate6.addBox(0.5F, 1.0F, -2.8F, 1, 2, 1, 0.0F); + this.setRotateAngle(leftLegPlate6, -0.40142572795869574F, -0.0F, 0.0F); + this.rightArmPlate2 = new ModelRenderer(this, 0, 56); + this.rightArmPlate2.mirror = true; + this.rightArmPlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArmPlate2.addBox(-4.0F, -3.0F, -4.0F, 6, 3, 1, 0.0F); + this.setRotateAngle(rightArmPlate2, -0.19198621771937624F, -0.0F, -0.9599310885968813F); + this.leftLegPlate10 = new ModelRenderer(this, 0, 86); + this.leftLegPlate10.setRotationPoint(0.0F, 5.0F, 0.0F); + this.leftLegPlate10.addBox(-2.5F, 1.5F, 1.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate10, 0.40142572795869574F, -0.0F, 0.0F); + this.leftLegPlate2 = new ModelRenderer(this, 0, 86); + this.leftLegPlate2.setRotationPoint(0.0F, 2.5F, 0.0F); + this.leftLegPlate2.addBox(-2.5F, 1.5F, -2.3F, 5, 3, 1, 0.0F); + this.setRotateAngle(leftLegPlate2, -0.40142572795869574F, -0.0F, 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.bipedLeftArm.addChild(this.leftShoulder); + this.bipedLeftArm.addChild(this.leftArm); + this.bipedLeftArm.addChild(this.leftArmPlate1); + this.bipedBody.addChild(this.chestPlate6); + this.bipedHead.addChild(this.sidePlate5); + this.bipedBody.addChild(this.chestMain); + this.bipedRightArm.addChild(this.rightArm); + this.bipedRightArm.addChild(this.rightArmPlate4); + this.bipedRightArm.addChild(this.rightArmSymbol); + this.bipedRightArm.addChild(this.rightArmPlate1); + this.bipedBody.addChild(this.chestPlate3); + this.bipedLeftArm.addChild(this.leftArmPlate4); + this.bipedBody.addChild(this.chestPlate2); + this.bipedBody.addChild(this.backPlate_1); + this.bipedLeftArm.addChild(this.leftArmSymbol); + this.bipedBody.addChild(this.chestPlate5); + this.bipedLeftArm.addChild(this.leftArmPlate2); + this.bipedLeftArm.addChild(this.leftArmPlate3); + this.bipedBody.addChild(this.chestPlate1); + this.bipedBody.addChild(this.chestPlate4); + this.bipedRightArm.addChild(this.rightShoulder); + this.bipedRightArm.addChild(this.rightArmPlate3); + this.bipedRightArm.addChild(this.rightArmPlate2); + } + + if(addLeggings) + { + this.bipedLeftLeg.addChild(this.leftLegPlate9); + this.bipedLeftLeg.addChild(this.leftLegPlate11); + this.bipedLeftLeg.addChild(this.leftLegPlate5); + this.bipedRightLeg.addChild(this.rightLegPlate13); + this.bipedRightLeg.addChild(this.rightLegPlate2); + this.bipedRightLeg.addChild(this.rightLegPlate8); + this.bipedRightLeg.addChild(this.rightLegPlate1); + this.bipedRightLeg.addChild(this.rightLegPlate7); + this.bipedRightLeg.addChild(this.rightLegPlate11); + this.bipedLeftLeg.addChild(this.leftLegPlate3); + this.bipedRightLeg.addChild(this.rightLegPlate10); + this.bipedLeftLeg.addChild(this.leftLegPlate1); + this.bipedLeftLeg.addChild(this.leftLegPlate13); + this.bipedLeftLeg.addChild(this.leftLegPlate8); + this.bipedLeftLeg.addChild(this.leftLeg); + this.bipedBody.addChild(this.belt); + this.bipedRightLeg.addChild(this.rightLegPlate3); + this.bipedRightLeg.addChild(this.rightLegPlate6); + this.bipedLeftLeg.addChild(this.leftLegPlate7); + this.bipedRightLeg.addChild(this.rightLegPlate12); + this.bipedRightLeg.addChild(this.rightLegPlate4); + this.bipedLeftLeg.addChild(this.leftLegPlate12); + this.bipedRightLeg.addChild(this.rightLeg); + this.bipedRightLeg.addChild(this.rightLegPlate5); + this.bipedLeftLeg.addChild(this.leftLegPlate4); + this.bipedLeftLeg.addChild(this.leftLegPlate2); + this.bipedLeftLeg.addChild(this.leftLegPlate10); + this.bipedLeftLeg.addChild(this.leftLegPlate6); + this.bipedRightLeg.addChild(this.rightLegPlate9); + } + + if(addBoots) + { + this.bipedLeftLeg.addChild(this.leftBoot1); + this.bipedLeftLeg.addChild(this.leftBoot3); + this.bipedRightLeg.addChild(this.rightBoot2); + this.bipedLeftLeg.addChild(this.leftBoot2); + this.bipedRightLeg.addChild(this.rightBoot1); + this.bipedRightLeg.addChild(this.rightBoot3); + } + + if(addHelmet) + { + this.bipedHead.addChild(this.facePlate3); + this.bipedHead.addChild(this.facePlate2); + this.bipedHead.addChild(this.backPlate); + this.bipedHead.addChild(this.facePlate5); + this.bipedHead.addChild(this.sidePlate4); + this.bipedHead.addChild(this.facePlate6); + this.bipedHead.addChild(this.facePlate1); + this.bipedHead.addChild(this.sidePlate1); + this.bipedHead.addChild(this.facePlate4); + this.bipedHead.addChild(this.topPlate); + this.bipedHead.addChild(this.sidePlate6); + this.bipedHead.addChild(this.sidePlate3); + this.bipedHead.addChild(this.sidePlate2); + } + } + + @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.bipedLeftArm.render(f5); + this.bipedRightArm.render(f5); + this.bipedLeftLeg.render(f5); + this.bipedHead.render(f5); + this.bipedRightLeg.render(f5); + this.bipedBody.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; + } +} \ No newline at end of file diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaWater.java b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaWater.java new file mode 100644 index 00000000..b46da158 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaWater.java @@ -0,0 +1,500 @@ +package WayofTime.alchemicalWizardry.common.renderer.model; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class ModelOmegaWater extends ModelBiped +{ + //fields + ModelRenderer belt; + + ModelRenderer chestMain; + ModelRenderer chestPlate1; + ModelRenderer chestPlate2; + ModelRenderer chestPlate3; + ModelRenderer chestPlate4; + ModelRenderer leftTank; + ModelRenderer rightTank; + ModelRenderer tankBrace; + ModelRenderer leftArmPlate1; + ModelRenderer leftArmPlate2; + ModelRenderer leftShoulder; + ModelRenderer leftArm; + ModelRenderer rightArm; + ModelRenderer rightArmPlate1; + ModelRenderer rightArmPlate2; + ModelRenderer rightShoulder; + ModelRenderer leftLeg; + ModelRenderer leftLegBrace; + ModelRenderer leftLegPouch; + ModelRenderer rightLeg; + ModelRenderer leftFoot; + ModelRenderer leftFootBrace; + ModelRenderer leftFootPlate; + ModelRenderer rightFoot; + ModelRenderer rightFootBrace; + ModelRenderer rightFootPlate; + ModelRenderer topHeadPlate; + ModelRenderer facePlate1; + ModelRenderer facePlate2; + ModelRenderer facePlate3; + ModelRenderer facePlate4; + ModelRenderer facePlate5; + ModelRenderer leftPlate1; + ModelRenderer leftPlate2; + ModelRenderer leftPlate3; + ModelRenderer backPlate2; + ModelRenderer leftPlate4; + ModelRenderer backPlate1; + ModelRenderer rightPlate1; + ModelRenderer rightPlate2; + ModelRenderer rightPlate3; + ModelRenderer rightPlate4; + + public ModelOmegaWater(float f, boolean addHelmet, boolean addChestPiece, boolean addLeggings, boolean addBoots) + { + super(f, 0.0f, 256, 128); + textureWidth = 256; + textureHeight = 128; + + belt = new ModelRenderer(this, 29, 42); + belt.addBox(-5F, 0F, -3F, 10, 2, 6); + belt.setRotationPoint(0F, 11F, 0F); + belt.setTextureSize(256, 128); + belt.mirror = true; + setRotation(belt, 0F, 0F, 0F); + + chestMain = new ModelRenderer(this, 0, 42); + chestMain.addBox(-4.5F, -0.5F, -2.5F, 9, 13, 5); + chestMain.setRotationPoint(0F, 0F, 0F); + chestMain.setTextureSize(256, 128); + chestMain.mirror = true; + setRotation(chestMain, 0F, 0F, 0F); + + chestPlate1 = new ModelRenderer(this, 0, 60); + chestPlate1.addBox(-4F, 1F, -2.5F, 8, 3, 2); + chestPlate1.setRotationPoint(0F, 0F, 0F); + chestPlate1.setTextureSize(256, 128); + chestPlate1.mirror = true; + setRotation(chestPlate1, -0.3490659F, 0F, 0F); + + chestPlate2 = new ModelRenderer(this, 0, 66); + chestPlate2.mirror = true; + chestPlate2.addBox(-4.5F, 2.5F, -3.5F, 3, 3, 1); + chestPlate2.setRotationPoint(0F, 0F, 0F); + chestPlate2.setTextureSize(256, 128); + chestPlate2.mirror = true; + setRotation(chestPlate2, 0F, 0F, 0F); + chestPlate2.mirror = false; + + chestPlate3 = new ModelRenderer(this, 0, 66); + chestPlate3.addBox(1.5F, 2.5F, -3.5F, 3, 3, 1); + chestPlate3.setRotationPoint(0F, 0F, 0F); + chestPlate3.setTextureSize(256, 128); + chestPlate3.mirror = true; + setRotation(chestPlate3, 0F, 0F, 0F); + + chestPlate4 = new ModelRenderer(this, 0, 71); + chestPlate4.addBox(-1.5F, 4.5F, -3.5F, 3, 5, 1); + chestPlate4.setRotationPoint(0F, 0F, 0F); + chestPlate4.setTextureSize(256, 128); + chestPlate4.mirror = true; + setRotation(chestPlate4, 0F, 0F, 0F); + + leftTank = new ModelRenderer(this, 9, 66); + leftTank.addBox(1F, 1F, 2.5F, 2, 8, 1); + leftTank.setRotationPoint(0F, 0F, 0F); + leftTank.setTextureSize(256, 128); + leftTank.mirror = true; + setRotation(leftTank, 0F, 0F, 0F); + + rightTank = new ModelRenderer(this, 9, 66); + rightTank.addBox(-3F, 1F, 2.5F, 2, 8, 1); + rightTank.setRotationPoint(0F, 0F, 0F); + rightTank.setTextureSize(256, 128); + rightTank.mirror = true; + setRotation(rightTank, 0F, 0F, 0F); + + tankBrace = new ModelRenderer(this, 0, 78); + tankBrace.addBox(-4F, 1.5F, 2F, 8, 2, 1); + tankBrace.setRotationPoint(0F, 0F, 0F); + tankBrace.setTextureSize(256, 128); + tankBrace.mirror = true; + setRotation(tankBrace, 0F, 0F, 0F); + + leftArmPlate1 = new ModelRenderer(this, 0, 82); + leftArmPlate1.addBox(-0.4F-4F, -2F-3F, -4F-1, 6, 3, 1); + leftArmPlate1.setRotationPoint(5F, 2F, 0F); + leftArmPlate1.setTextureSize(256, 128); + leftArmPlate1.mirror = true; + setRotation(leftArmPlate1, -0.3490659F, 0F, -0.2617994F); + + leftArmPlate2 = new ModelRenderer(this, 0, 82); + leftArmPlate2.addBox(-0.4F-4F, -2F-3F, -4F-1, 6, 3, 1); + leftArmPlate2.setRotationPoint(5F, 4F, 0F); + leftArmPlate2.setTextureSize(256, 128); + leftArmPlate2.mirror = true; + setRotation(leftArmPlate2, -0.3490659F, 0F, -0.2617994F); + + leftShoulder = new ModelRenderer(this, 21, 82); + leftShoulder.addBox(-1F-5F, -3F-2F, -3F, 6, 5, 6); + leftShoulder.setRotationPoint(5F, 2F, 0F); + leftShoulder.setTextureSize(256, 128); + leftShoulder.mirror = true; + setRotation(leftShoulder, 0F, 0F, 0F); + + leftArm = new ModelRenderer(this, 0, 87); + leftArm.addBox(-1F-5.5F, 1.5F-2F, -2.5F, 5, 9, 5); + leftArm.setRotationPoint(5F, 2F, 0F); + leftArm.setTextureSize(256, 128); + leftArm.mirror = true; + setRotation(leftArm, 0F, 0F, 0F); + + rightArm = new ModelRenderer(this, 0, 87); + rightArm.mirror = true; + rightArm.addBox(-4F+5.5F, 1.5F-2F, -2.5F, 5, 9, 5); + rightArm.setRotationPoint(-5F, 2F, 0F); + rightArm.setTextureSize(256, 128); + rightArm.mirror = true; + setRotation(rightArm, 0F, 0F, 0F); + rightArm.mirror = false; + + rightArmPlate1 = new ModelRenderer(this, 0, 82); + rightArmPlate1.mirror = true; + rightArmPlate1.addBox(-4.6F+4F, -2.2F-3F, -4F-1, 6, 3, 1); + rightArmPlate1.setRotationPoint(-6F, 2F, 0F); + rightArmPlate1.setTextureSize(256, 128); + rightArmPlate1.mirror = true; + setRotation(rightArmPlate1, -0.3490659F, 0F, 0.2617994F); + rightArmPlate1.mirror = false; + + rightArmPlate2 = new ModelRenderer(this, 0, 82); + rightArmPlate2.mirror = true; + rightArmPlate2.addBox(-4.6F+4F, -2.2F-3F, -4F-1, 6, 3, 1); + rightArmPlate2.setRotationPoint(-6F, 4F, 0F); + rightArmPlate2.setTextureSize(256, 128); + rightArmPlate2.mirror = true; + setRotation(rightArmPlate2, -0.3490659F, 0F, 0.2617994F); + rightArmPlate2.mirror = false; + + rightShoulder = new ModelRenderer(this, 21, 82); + rightShoulder.mirror = true; + rightShoulder.addBox(-4F+5F, -3F-2F, -3F, 6, 5, 6); + rightShoulder.setRotationPoint(-6F, 2F, 0F); + rightShoulder.setTextureSize(256, 128); + rightShoulder.mirror = true; + setRotation(rightShoulder, 0F, 0F, 0F); + rightShoulder.mirror = false; + + leftLeg = new ModelRenderer(this, 29, 51); + leftLeg.addBox(-4.5F, -12F, -2.5F, 5, 10, 5); + leftLeg.setRotationPoint(2F, 12F, 0F); + leftLeg.setTextureSize(256, 128); + leftLeg.mirror = true; + setRotation(leftLeg, 0F, 0F, 0F); + + leftLegBrace = new ModelRenderer(this, 38, 67); + leftLegBrace.addBox(-2F, -7F, -3F, 3, 1, 6); + leftLegBrace.setRotationPoint(2F, 12F, 0F); + leftLegBrace.setTextureSize(256, 128); + leftLegBrace.mirror = true; + setRotation(leftLegBrace, 0F, 0F, 0F); + + leftLegPouch = new ModelRenderer(this, 29, 67); + leftLegPouch.addBox(0.5F, 3F-12F, -1.5F, 1, 4, 3); + leftLegPouch.setRotationPoint(2F, 12F, 0F); + leftLegPouch.setTextureSize(256, 128); + leftLegPouch.mirror = true; + setRotation(leftLegPouch, 0F, 0F, 0F); + + rightLeg = new ModelRenderer(this, 29, 51); + rightLeg.mirror = true; + rightLeg.addBox(-0.5F, 0F-12F, -2.5F, 5, 10, 5); + rightLeg.setRotationPoint(-2F, 12F, 0F); + rightLeg.setTextureSize(256, 128); + rightLeg.mirror = true; + setRotation(rightLeg, 0F, 0F, 0F); + rightLeg.mirror = false; + + leftFoot = new ModelRenderer(this, 21, 103); + leftFoot.addBox(-4F, 9.5F-12F, -5F, 5, 3, 8); + leftFoot.setRotationPoint(2F, 12F, 0F); + leftFoot.setTextureSize(256, 128); + leftFoot.mirror = true; + setRotation(leftFoot, 0F, 0F, 0F); + + leftFootBrace = new ModelRenderer(this, 21, 94); + leftFootBrace.addBox(-4F, 7.5F-12F, -3F, 5, 2, 6); + leftFootBrace.setRotationPoint(2F, 12F, 0F); + leftFootBrace.setTextureSize(256, 128); + leftFootBrace.mirror = true; + setRotation(leftFootBrace, 0F, 0F, 0F); + + leftFootPlate = new ModelRenderer(this, 21, 115); + leftFootPlate.addBox(-3.5F, 7F-8F, 4F-9F, 4, 3, 1); + leftFootPlate.setRotationPoint(2F, 12F, 0F); + leftFootPlate.setTextureSize(256, 128); + leftFootPlate.mirror = true; + setRotation(leftFootPlate, -0.8726646F, 0F, 0F); + + rightFoot = new ModelRenderer(this, 21, 103); + rightFoot.mirror = true; + rightFoot.addBox(-1F, 9.5F-12F, -5F, 5, 3, 8); + rightFoot.setRotationPoint(-2F, 12F, 0F); + rightFoot.setTextureSize(256, 128); + rightFoot.mirror = true; + setRotation(rightFoot, 0F, 0F, 0F); + rightFoot.mirror = false; + + rightFootBrace = new ModelRenderer(this, 21, 94); + rightFootBrace.mirror = true; + rightFootBrace.addBox(-1F, 7.5F-12F, -3F, 5, 2, 6); + rightFootBrace.setRotationPoint(-2F, 12F, 0F); + rightFootBrace.setTextureSize(256, 128); + rightFootBrace.mirror = true; + setRotation(rightFootBrace, 0F, 0F, 0F); + rightFootBrace.mirror = false; + + rightFootPlate = new ModelRenderer(this, 21, 115); + rightFootPlate.mirror = true; + rightFootPlate.addBox(-0.5F, 7F-8F, 4F-9F, 4, 3, 1); + rightFootPlate.setRotationPoint(-2F, 12F, 0F); + rightFootPlate.setTextureSize(256, 128); + rightFootPlate.mirror = true; + setRotation(rightFootPlate, -0.8726646F, 0F, 0F); + rightFootPlate.mirror = false; + + topHeadPlate = new ModelRenderer(this, 58, 19); + topHeadPlate.addBox(-4F, -8.5F, -4.5F, 8, 1, 9); + topHeadPlate.setRotationPoint(0F, 0F, 0F); + topHeadPlate.setTextureSize(256, 128); + topHeadPlate.mirror = true; + setRotation(topHeadPlate, 0F, 0F, 0F); + + facePlate1 = new ModelRenderer(this, 58, 0); + facePlate1.addBox(-4F, -8.5F, -5F, 8, 4, 1); + facePlate1.setRotationPoint(0F, 0F, 0F); + facePlate1.setTextureSize(256, 128); + facePlate1.mirror = true; + setRotation(facePlate1, 0F, 0F, 0F); + + facePlate2 = new ModelRenderer(this, 58, 6); + facePlate2.addBox(-1F, -4.5F, -5F, 2, 2, 1); + facePlate2.setRotationPoint(0F, 0F, 0F); + facePlate2.setTextureSize(256, 128); + facePlate2.mirror = true; + setRotation(facePlate2, 0F, 0F, 0F); + + facePlate3 = new ModelRenderer(this, 58, 15); + facePlate3.addBox(-4F, -4.5F, -4.5F, 8, 2, 1); + facePlate3.setRotationPoint(0F, 0F, 0F); + facePlate3.setTextureSize(256, 128); + facePlate3.mirror = true; + setRotation(facePlate3, 0F, 0F, 0F); + + facePlate4 = new ModelRenderer(this, 58, 10); + facePlate4.mirror = true; + facePlate4.addBox(-2F, -3.5F, -5.5F, 4, 3, 1); + facePlate4.setRotationPoint(0F, 0.5F, 0F); + facePlate4.setTextureSize(256, 128); + facePlate4.mirror = true; + setRotation(facePlate4, 0.0523599F, 0.3490659F, 0F); + facePlate4.mirror = false; + + facePlate5 = new ModelRenderer(this, 58, 10); + facePlate5.addBox(-2F, -3.5F, -5.5F, 4, 3, 1); + facePlate5.setRotationPoint(0F, 0.5F, 0F); + facePlate5.setTextureSize(256, 128); + facePlate5.mirror = true; + setRotation(facePlate5, 0.0523599F, -0.3490659F, 0F); + + leftPlate1 = new ModelRenderer(this, 77, 0); + leftPlate1.addBox(4.5F, -5.2F, -4.6F, 1, 3, 9); + leftPlate1.setRotationPoint(0F, -2F, 0F); + leftPlate1.setTextureSize(256, 128); + leftPlate1.mirror = true; + setRotation(leftPlate1, 0F, 0F, -0.1919862F); + + leftPlate2 = new ModelRenderer(this, 77, 0); + leftPlate2.addBox(4.5F, -5.2F, -4.6F, 1, 3, 9); + leftPlate2.setRotationPoint(0F, 0F, 0F); + leftPlate2.setTextureSize(256, 128); + leftPlate2.mirror = true; + setRotation(leftPlate2, 0F, 0F, -0.1919862F); + + leftPlate3 = new ModelRenderer(this, 77, 0); + leftPlate3.addBox(4.5F, -5.2F, -4.6F, 1, 3, 9); + leftPlate3.setRotationPoint(0F, 2F, 0F); + leftPlate3.setTextureSize(256, 128); + leftPlate3.mirror = true; + setRotation(leftPlate3, 0F, 0F, -0.1919862F); + + backPlate2 = new ModelRenderer(this, 98, 0); + backPlate2.addBox(-4F, -5.5F, 4.5F, 8, 4, 1); + backPlate2.setRotationPoint(0F, 2F, 0F); + backPlate2.setTextureSize(256, 128); + backPlate2.mirror = true; + setRotation(backPlate2, 0.122173F, 0F, 0F); + + leftPlate4 = new ModelRenderer(this, 98, 6); + leftPlate4.addBox(3.5F, -5.8F, -4.6F, 1, 2, 9); + leftPlate4.setRotationPoint(0F, 4F, 0F); + leftPlate4.setTextureSize(256, 128); + leftPlate4.mirror = true; + setRotation(leftPlate4, 0F, 0F, 0F); + + backPlate1 = new ModelRenderer(this, 98, 0); + backPlate1.addBox(-4F, -5.5F, 4.5F, 8, 4, 1); + backPlate1.setRotationPoint(0F, -2F, 0F); + backPlate1.setTextureSize(256, 128); + backPlate1.mirror = true; + setRotation(backPlate1, 0.122173F, 0F, 0F); + + rightPlate1 = new ModelRenderer(this, 77, 0); + rightPlate1.mirror = true; + rightPlate1.addBox(-5.5F, -5.2F, -4.6F, 1, 3, 9); + rightPlate1.setRotationPoint(0F, -2F, 0F); + rightPlate1.setTextureSize(256, 128); + rightPlate1.mirror = true; + setRotation(rightPlate1, 0F, 0F, 0.1919862F); + rightPlate1.mirror = false; + + rightPlate2 = new ModelRenderer(this, 77, 0); + rightPlate2.mirror = true; + rightPlate2.addBox(-5.5F, -5.2F, -4.6F, 1, 3, 9); + rightPlate2.setRotationPoint(0F, 0F, 0F); + rightPlate2.setTextureSize(256, 128); + rightPlate2.mirror = true; + setRotation(rightPlate2, 0F, 0F, 0.1919862F); + rightPlate2.mirror = false; + + rightPlate3 = new ModelRenderer(this, 77, 0); + rightPlate3.mirror = true; + rightPlate3.addBox(-5.5F, -5.2F, -4.6F, 1, 3, 9); + rightPlate3.setRotationPoint(0F, 2F, 0F); + rightPlate3.setTextureSize(256, 128); + rightPlate3.mirror = true; + setRotation(rightPlate3, 0F, 0F, 0.1919862F); + rightPlate3.mirror = false; + + rightPlate4 = new ModelRenderer(this, 98, 6); + rightPlate4.mirror = true; + rightPlate4.addBox(-4.5F, -5.8F, -4.6F, 1, 2, 9); + rightPlate4.setRotationPoint(0F, 4F, 0F); + rightPlate4.setTextureSize(256, 128); + rightPlate4.mirror = true; + setRotation(rightPlate4, 0F, 0F, 0F); + rightPlate4.mirror = false; + + this.bipedHead.cubeList.clear(); + this.bipedHeadwear.cubeList.clear(); + if (addHelmet) + { + this.bipedHead.addChild(this.facePlate1); + this.bipedHead.addChild(this.facePlate2); + this.bipedHead.addChild(this.facePlate3); + this.bipedHead.addChild(this.facePlate4); + this.bipedHead.addChild(this.facePlate5); + this.bipedHead.addChild(this.topHeadPlate); + this.bipedHead.addChild(this.leftPlate1); + this.bipedHead.addChild(this.rightPlate1); + this.bipedHead.addChild(this.leftPlate2); + this.bipedHead.addChild(this.rightPlate2); + this.bipedHead.addChild(this.leftPlate3); + this.bipedHead.addChild(this.rightPlate3); + this.bipedHead.addChild(this.leftPlate4); + this.bipedHead.addChild(this.rightPlate4); + this.bipedHead.addChild(this.backPlate1); + this.bipedHead.addChild(this.backPlate2); + + } + + this.bipedBody.cubeList.clear(); + if (addChestPiece) + { + this.bipedBody.addChild(this.chestMain); + this.bipedBody.addChild(this.chestPlate1); + this.bipedBody.addChild(this.chestPlate2); + this.bipedBody.addChild(this.chestPlate3); + this.bipedBody.addChild(this.chestPlate4); + this.bipedBody.addChild(this.leftTank); + this.bipedBody.addChild(this.rightTank); + this.bipedBody.addChild(this.tankBrace); + } + if (addLeggings) + { + this.bipedBody.addChild(this.belt); + } + + this.bipedRightArm.cubeList.clear(); + if (addChestPiece) + { + this.bipedRightArm.addChild(this.rightArm); + this.bipedRightArm.addChild(this.rightShoulder); + this.bipedRightArm.addChild(this.rightArmPlate1); + this.bipedRightArm.addChild(this.rightArmPlate2); + + } + + this.bipedLeftArm.cubeList.clear(); + if (addChestPiece) + { + this.bipedLeftArm.addChild(this.leftArm); + this.bipedLeftArm.addChild(this.leftShoulder); + this.bipedLeftArm.addChild(this.leftArmPlate1); + this.bipedLeftArm.addChild(this.leftArmPlate2); + } + + this.bipedLeftLeg.cubeList.clear(); + if (addBoots) + { + this.bipedLeftLeg.addChild(this.leftFoot); + this.bipedLeftLeg.addChild(this.leftFootBrace); + this.bipedLeftLeg.addChild(this.leftFootPlate); + } + if (addLeggings) + { + this.bipedLeftLeg.addChild(this.leftLeg); + this.bipedLeftLeg.addChild(this.leftLegBrace); + this.bipedLeftLeg.addChild(this.leftLegPouch); + } + + this.bipedRightLeg.cubeList.clear(); + if (addBoots) + { + this.bipedRightLeg.addChild(this.rightFoot); + this.bipedRightLeg.addChild(this.rightFootBrace); + this.bipedRightLeg.addChild(this.rightFootPlate); + } + if (addLeggings) + { + this.bipedRightLeg.addChild(this.rightLeg); + } + } + + 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.bipedHead.render(f5); + this.bipedBody.render(f5); + this.bipedLeftArm.render(f5); + this.bipedRightArm.render(f5); + this.bipedLeftLeg.render(f5); + this.bipedRightLeg.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaWind.java b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaWind.java new file mode 100644 index 00000000..6dfb7dc8 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaWind.java @@ -0,0 +1,405 @@ +package WayofTime.alchemicalWizardry.common.renderer.model; + +import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +/** + * OmegaWind.tcn - TechneToTabulaImporter + * Created using Tabula 4.1.0 + */ +public class ModelOmegaWind extends ModelBiped +{ + public ModelRenderer facePlate1; + public ModelRenderer facePlate2; + public ModelRenderer facePlate3; + public ModelRenderer facePlate4; + public ModelRenderer forePlate; + public ModelRenderer topWingPlate; + public ModelRenderer leftWingPlate1; + public ModelRenderer leftWingPlate3; + public ModelRenderer rightWingPlate1; + public ModelRenderer rightWingPlate2; + public ModelRenderer rightWingPlate3; + public ModelRenderer topPlate; + public ModelRenderer backPlate; + public ModelRenderer leftWingPlate2; + public ModelRenderer chestMain; + public ModelRenderer chestPlate1; + public ModelRenderer chestPlate3; + public ModelRenderer chestPlate4; + public ModelRenderer chestPlate5; + public ModelRenderer chestPlate6; + public ModelRenderer chestOrnament; + public ModelRenderer belt; + public ModelRenderer chestPlate2; + public ModelRenderer rightArm; + public ModelRenderer rightShoulder; + public ModelRenderer rightArmPlate1; + public ModelRenderer rightArmPlate2; + public ModelRenderer rightArmPlate3; + public ModelRenderer rightFloater1; + public ModelRenderer rightFloater2; + public ModelRenderer rightFloater3; + public ModelRenderer rightFloater4; + public ModelRenderer leftArm; + public ModelRenderer leftShoulder; + public ModelRenderer leftArmPlate1; + public ModelRenderer leftArmPlate2; + public ModelRenderer leftArmPlate3; + public ModelRenderer leftFloater1; + public ModelRenderer leftFloater2; + public ModelRenderer leftFloater3; + public ModelRenderer leftFloater4; + public ModelRenderer rightLeg; + public ModelRenderer rightLegFloater1; + public ModelRenderer rightLegFloater2; + public ModelRenderer rightLegFloater3; + public ModelRenderer rightFoot2; + public ModelRenderer rightFootPlate; + public ModelRenderer rightFoot1; + public ModelRenderer leftLeg; + public ModelRenderer leftLegFloater1; + public ModelRenderer leftLegFloater2; + public ModelRenderer leftLegFloater3; + public ModelRenderer leftFoot1; + public ModelRenderer leftFoot2; + public ModelRenderer leftFootPlate; + + public ModelOmegaWind(float f, boolean addHelmet, boolean addChestPiece, boolean addLeggings, boolean addBoots) + { + super(f, 0.0f, 128, 128); + this.rightWingPlate2 = new ModelRenderer(this, 33, 82); + this.rightWingPlate2.mirror = true; + this.rightWingPlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightWingPlate2.addBox(-5.0F, -4.900000095367432F, -2.5F, 1, 2, 3, 0.0F); + this.setRotateAngle(rightWingPlate2, 0.13962633907794952F, -0.0F, 0.0F); + this.leftFloater1 = new ModelRenderer(this, 0, 78); + this.leftFloater1.setRotationPoint(1.0F, 7.0F, 0.0F); + this.leftFloater1.addBox(3.5F, -2.0F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(leftFloater1, -0.148352986419518F, -0.5040510879759623F, 0.30002209841782523F); + + this.leftWingPlate3 = new ModelRenderer(this, 38, 92); + this.leftWingPlate3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftWingPlate3.addBox(3.5F, -5.0F, -3.9000000953674316F, 1, 5, 9, 0.0F); + this.setRotateAngle(leftWingPlate3, 0.0F, 0.12217304855585097F, 0.0F); + this.leftFoot1 = new ModelRenderer(this, 0, 110); + this.leftFoot1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftFoot1.addBox(-2.0F, 9.5F, -5.0F, 5, 3, 8, 0.0F); + this.rightArmPlate1 = new ModelRenderer(this, 21, 51); + this.rightArmPlate1.mirror = true; + this.rightArmPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArmPlate1.addBox(-5.5F, -2.0F, -4.0F, 1, 4, 8, 0.0F); + this.setRotateAngle(rightArmPlate1, 0.0F, -0.0F, 0.5585053606381855F); + this.topPlate = new ModelRenderer(this, 59, 92); + this.topPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.topPlate.addBox(-4.5F, -8.100000381469727F, -4.0F, 9, 1, 8, 0.0F); + + this.leftShoulder = new ModelRenderer(this, 0, 66); + this.leftShoulder.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftShoulder.addBox(-1.0F, -3.0F, -3.0F, 5, 5, 6, 0.0F); + this.leftArmPlate3 = new ModelRenderer(this, 21, 51); + this.leftArmPlate3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate3.addBox(2.5F, 1.0F, -4.0F, 1, 4, 8, 0.0F); + this.setRotateAngle(leftArmPlate3, 0.0F, -0.0F, -0.5585053606381855F); + this.leftFloater4 = new ModelRenderer(this, 0, 78); + this.leftFloater4.setRotationPoint(1.0F, 7.0F, 0.0F); + this.leftFloater4.addBox(3.5F, -2.0F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(leftFloater4, -1.5707963267948966F, -1.3089969389957472F, 1.5707963267948966F); + this.leftWingPlate1 = new ModelRenderer(this, 42, 77); + this.leftWingPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftWingPlate1.addBox(4.0F, -7.900000095367432F, -4.5F, 1, 3, 11, 0.0F); + this.setRotateAngle(leftWingPlate1, 0.13962633907794952F, -0.0F, 0.0F); + this.rightShoulder = new ModelRenderer(this, 0, 66); + this.rightShoulder.mirror = true; + this.rightShoulder.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightShoulder.addBox(-4.0F, -3.0F, -3.0F, 5, 5, 6, 0.0F); + this.leftLegFloater3 = new ModelRenderer(this, 0, 78); + this.leftLegFloater3.mirror = true; + this.leftLegFloater3.setRotationPoint(0.0F, 5.0F, 0.0F); + this.leftLegFloater3.addBox(4.0F, -1.5F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(leftLegFloater3, -0.7681194038027044F, -1.2027063875492923F, 0.8026769229921922F); + this.facePlate4 = new ModelRenderer(this, 42, 63); + this.facePlate4.mirror = true; + this.facePlate4.setRotationPoint(0.0F, 0.5F, 0.0F); + this.facePlate4.addBox(-2.0F, -3.5F, -5.5F, 4, 3, 1, 0.0F); + this.setRotateAngle(facePlate4, 0.05235987901687623F, 0.34906584024429316F, 0.0F); + this.leftLegFloater1 = new ModelRenderer(this, 0, 78); + this.leftLegFloater1.mirror = true; + this.leftLegFloater1.setRotationPoint(0.0F, 5.0F, 0.0F); + this.leftLegFloater1.addBox(4.0F, -1.5F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(leftLegFloater1, 0.0F, -0.0F, 0.2617993877991494F); + this.rightLegFloater2 = new ModelRenderer(this, 0, 78); + this.rightLegFloater2.setRotationPoint(0.0F, 5.0F, 0.0F); + this.rightLegFloater2.addBox(-5.0F, -1.5F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(rightLegFloater2, -0.7681194038027044F, 1.2027063875492923F, -0.8026769229921922F); + this.leftFloater3 = new ModelRenderer(this, 0, 78); + this.leftFloater3.setRotationPoint(1.0F, 7.0F, 0.0F); + this.leftFloater3.addBox(3.5F, -2.0F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(leftFloater3, 1.5707963267948966F, 1.3089969389957472F, 1.5707963267948966F); + this.leftWingPlate2 = new ModelRenderer(this, 33, 82); + this.leftWingPlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftWingPlate2.addBox(4.0F, -4.900000095367432F, -2.5F, 1, 2, 3, 0.0F); + this.setRotateAngle(leftWingPlate2, 0.13962633907794952F, -0.0F, 0.0F); + this.facePlate3 = new ModelRenderer(this, 42, 63); + this.facePlate3.setRotationPoint(0.0F, 0.5F, 0.0F); + this.facePlate3.addBox(-2.0F, -3.5F, -5.5F, 4, 3, 1, 0.0F); + this.setRotateAngle(facePlate3, 0.05235987901687623F, -0.34906584024429316F, 0.0F); + this.rightLegFloater3 = new ModelRenderer(this, 0, 78); + this.rightLegFloater3.setRotationPoint(0.0F, 5.0F, 0.0F); + this.rightLegFloater3.addBox(-5.0F, -1.5F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(rightLegFloater3, 0.7681194038027044F, -1.2027063875492923F, -0.8026769229921922F); + this.rightArmPlate3 = new ModelRenderer(this, 21, 51); + this.rightArmPlate3.mirror = true; + this.rightArmPlate3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArmPlate3.addBox(-3.5F, 1.0F, -4.0F, 1, 4, 8, 0.0F); + this.setRotateAngle(rightArmPlate3, 0.0F, -0.0F, 0.5585053606381855F); + this.chestPlate6 = new ModelRenderer(this, 29, 33); + this.chestPlate6.mirror = true; + this.chestPlate6.setRotationPoint(0.0F, 3.0F, -3.0F); + this.chestPlate6.addBox(-6.0F, -1.0F, 0.0F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate6, 0.17457550921422682F, -0.060447682496676876F, -0.5246555175572628F); + this.belt = new ModelRenderer(this, 0, 85); + this.belt.setRotationPoint(0.0F, 0.0F, 0.0F); + this.belt.addBox(-5.0F, 11.0F, -3.0F, 10, 2, 6, 0.0F); + this.rightArmPlate2 = new ModelRenderer(this, 21, 51); + this.rightArmPlate2.mirror = true; + this.rightArmPlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArmPlate2.addBox(-4.5F, -0.5F, -4.0F, 1, 4, 8, 0.0F); + this.setRotateAngle(rightArmPlate2, 0.0F, -0.0F, 0.5585053606381855F); + this.rightFoot2 = new ModelRenderer(this, 27, 110); + this.rightFoot2.mirror = true; + this.rightFoot2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightFoot2.addBox(-3.0F, 7.5F, -3.0F, 5, 2, 6, 0.0F); + this.rightLegFloater1 = new ModelRenderer(this, 0, 78); + this.rightLegFloater1.setRotationPoint(0.0F, 5.0F, 0.0F); + this.rightLegFloater1.addBox(-5.0F, -1.5F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(rightLegFloater1, 0.0F, -0.0F, -0.2617993877991494F); + this.leftFloater2 = new ModelRenderer(this, 0, 78); + this.leftFloater2.setRotationPoint(1.0F, 7.0F, 0.0F); + this.leftFloater2.addBox(3.5F, -2.0F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(leftFloater2, 0.148352986419518F, 0.5040510879759623F, 0.30002209841782523F); + this.rightFloater2 = new ModelRenderer(this, 0, 78); + this.rightFloater2.mirror = true; + this.rightFloater2.setRotationPoint(-1.0F, 7.0F, 0.0F); + this.rightFloater2.addBox(-4.5F, -2.0F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(rightFloater2, -1.5707963267948966F, 1.3089969389957472F, -1.5707963267948966F); + this.rightWingPlate1 = new ModelRenderer(this, 42, 77); + this.rightWingPlate1.mirror = true; + this.rightWingPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightWingPlate1.addBox(-5.0F, -7.900000095367432F, -4.5F, 1, 3, 11, 0.0F); + this.setRotateAngle(rightWingPlate1, 0.13962633907794952F, -0.0F, 0.0F); + + this.leftArm = new ModelRenderer(this, 0, 51); + this.leftArm.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArm.addBox(-1.5F, 2.0F, -2.5F, 5, 9, 5, 0.0F); + this.rightLeg = new ModelRenderer(this, 0, 94); + this.rightLeg.mirror = true; + this.rightLeg.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightLeg.addBox(-2.5F, 0.0F, -2.5F, 5, 10, 5, 0.0F); + this.leftLegFloater2 = new ModelRenderer(this, 0, 78); + this.leftLegFloater2.mirror = true; + this.leftLegFloater2.setRotationPoint(0.0F, 5.0F, 0.0F); + this.leftLegFloater2.addBox(4.0F, -1.5F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(leftLegFloater2, 0.7681194038027044F, 1.2027063875492923F, 0.8026769229921922F); + this.chestMain = new ModelRenderer(this, 0, 33); + this.chestMain.setRotationPoint(0.0F, 0.0F, 0.0F); + this.chestMain.addBox(-4.5F, -0.5F, -2.5F, 9, 12, 5, 0.0F); + this.chestPlate4 = new ModelRenderer(this, 29, 33); + this.chestPlate4.mirror = true; + this.chestPlate4.setRotationPoint(0.0F, 3.0F, -3.0F); + this.chestPlate4.addBox(-6.0F, -1.0F, 0.0F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate4, 0.10467716894167224F, -0.060447682496676876F, 0.5246555175572628F); + this.leftLeg = new ModelRenderer(this, 0, 94); + this.leftLeg.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftLeg.addBox(-2.5F, 0.0F, -2.5F, 5, 10, 5, 0.0F); + + this.rightFloater3 = new ModelRenderer(this, 0, 78); + this.rightFloater3.mirror = true; + this.rightFloater3.setRotationPoint(-1.0F, 7.0F, 0.0F); + this.rightFloater3.addBox(-4.5F, -2.0F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(rightFloater3, 0.148352986419518F, -0.5040510879759623F, -0.30002209841782523F); + this.chestPlate2 = new ModelRenderer(this, 29, 33); + this.chestPlate2.setRotationPoint(0.0F, 3.0F, -3.0F); + this.chestPlate2.addBox(1.0F, -1.0F, 0.0F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate2, 0.13962633907794952F, 0.06981316953897476F, 0.0F); + this.rightFootPlate = new ModelRenderer(this, 21, 94); + this.rightFootPlate.mirror = true; + this.rightFootPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightFootPlate.addBox(-1.5F, 9.5F, -3.5F, 1, 3, 7, 0.0F); + this.setRotateAngle(rightFootPlate, 0.0F, -0.0F, 0.22689280275926282F); + this.chestOrnament = new ModelRenderer(this, 29, 37); + this.chestOrnament.setRotationPoint(0.0F, 3.0F, -3.0F); + this.chestOrnament.addBox(-2.0F, -2.0F, -0.5F, 4, 4, 1, 0.0F); + this.rightFloater1 = new ModelRenderer(this, 0, 78); + this.rightFloater1.mirror = true; + this.rightFloater1.setRotationPoint(-1.0F, 7.0F, 0.0F); + this.rightFloater1.addBox(-4.5F, -2.0F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(rightFloater1, -0.148352986419518F, 0.5040510879759623F, -0.30002209841782523F); + this.leftArmPlate2 = new ModelRenderer(this, 21, 51); + this.leftArmPlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate2.addBox(3.5F, -0.5F, -4.0F, 1, 4, 8, 0.0F); + this.setRotateAngle(leftArmPlate2, 0.0F, -0.0F, -0.5585053606381855F); + this.rightFoot1 = new ModelRenderer(this, 0, 110); + this.rightFoot1.mirror = true; + this.rightFoot1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightFoot1.addBox(-3.0F, 9.5F, -5.0F, 5, 3, 8, 0.0F); + this.chestPlate3 = new ModelRenderer(this, 29, 33); + this.chestPlate3.setRotationPoint(0.0F, 3.0F, -3.0F); + this.chestPlate3.addBox(1.0F, -1.0F, 0.0F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate3, 0.17457550921422682F, 0.060447682496676876F, 0.5246555175572628F); + this.chestPlate1 = new ModelRenderer(this, 29, 33); + this.chestPlate1.setRotationPoint(0.0F, 3.0F, -3.0F); + this.chestPlate1.addBox(1.0F, -1.0F, 0.0F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate1, 0.10467716894167224F, 0.060447682496676876F, -0.5246555175572628F); + this.rightArm = new ModelRenderer(this, 0, 51); + this.rightArm.mirror = true; + this.rightArm.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightArm.addBox(-3.5F, 2.0F, -2.5F, 5, 9, 5, 0.0F); + this.leftFoot2 = new ModelRenderer(this, 27, 110); + this.leftFoot2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftFoot2.addBox(-2.0F, 7.5F, -3.0F, 5, 2, 6, 0.0F); + this.leftFootPlate = new ModelRenderer(this, 21, 94); + this.leftFootPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftFootPlate.addBox(0.5F, 9.5F, -3.5F, 1, 3, 7, 0.0F); + this.setRotateAngle(leftFootPlate, 0.0F, -0.0F, -0.22689280275926282F); + this.facePlate1 = new ModelRenderer(this, 23, 64); + this.facePlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate1.addBox(-4.0F, -4.5F, -4.5F, 8, 2, 1, 0.0F); + this.leftArmPlate1 = new ModelRenderer(this, 21, 51); + this.leftArmPlate1.setRotationPoint(0.0F, 0.0F, 0.0F); + this.leftArmPlate1.addBox(4.5F, -2.0F, -4.0F, 1, 4, 8, 0.0F); + this.setRotateAngle(leftArmPlate1, 0.0F, -0.0F, -0.5585053606381855F); + this.topWingPlate = new ModelRenderer(this, 34, 68); + this.topWingPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.topWingPlate.addBox(-4.5F, -2.5F, -9.100000381469727F, 9, 3, 1, 0.0F); + this.setRotateAngle(topWingPlate, -0.9773843884468076F, -0.0F, 0.0F); + this.rightWingPlate3 = new ModelRenderer(this, 38, 92); + this.rightWingPlate3.mirror = true; + this.rightWingPlate3.setRotationPoint(0.0F, 0.0F, 0.0F); + this.rightWingPlate3.addBox(-4.5F, -5.0F, -3.9000000953674316F, 1, 5, 9, 0.0F); + this.setRotateAngle(rightWingPlate3, 0.0F, -0.12217304855585097F, 0.0F); + + this.backPlate = new ModelRenderer(this, 59, 102); + this.backPlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.backPlate.addBox(-4.5F, -7.5F, 4.0F, 9, 8, 1, 0.0F); + this.setRotateAngle(backPlate, 0.1047197580337524F, -0.0F, 0.0F); + this.facePlate2 = new ModelRenderer(this, 23, 68); + this.facePlate2.setRotationPoint(0.0F, 0.0F, 0.0F); + this.facePlate2.addBox(-1.0F, -4.5F, -5.0F, 2, 2, 1, 0.0F); + this.rightFloater4 = new ModelRenderer(this, 0, 78); + this.rightFloater4.mirror = true; + this.rightFloater4.setRotationPoint(-1.0F, 7.0F, 0.0F); + this.rightFloater4.addBox(-4.5F, -2.0F, -1.5F, 1, 3, 3, 0.0F); + this.setRotateAngle(rightFloater4, 1.5707963267948966F, -1.3089969389957472F, -1.5707963267948966F); + this.forePlate = new ModelRenderer(this, 23, 77); + this.forePlate.setRotationPoint(0.0F, 0.0F, 0.0F); + this.forePlate.addBox(-4.0F, -7.900000095367432F, -4.5F, 8, 3, 1, 0.0F); + this.setRotateAngle(forePlate, 0.13962633907794952F, -0.0F, 0.0F); + this.chestPlate5 = new ModelRenderer(this, 29, 33); + this.chestPlate5.mirror = true; + this.chestPlate5.setRotationPoint(0.0F, 3.0F, -3.0F); + this.chestPlate5.addBox(-6.0F, -1.0F, 0.0F, 5, 2, 1, 0.0F); + this.setRotateAngle(chestPlate5, 0.13962633907794952F, -0.06981316953897476F, 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.bipedLeftArm.addChild(this.leftFloater1); + this.bipedRightArm.addChild(this.rightArmPlate1); + this.bipedLeftArm.addChild(this.leftShoulder); + this.bipedLeftArm.addChild(this.leftArmPlate3); + this.bipedLeftArm.addChild(this.leftFloater4); + this.bipedRightArm.addChild(this.rightShoulder); + this.bipedLeftArm.addChild(this.leftFloater3); + this.bipedRightArm.addChild(this.rightArmPlate3); + this.bipedBody.addChild(this.chestPlate6); + this.bipedRightArm.addChild(this.rightArmPlate2); + this.bipedLeftArm.addChild(this.leftFloater2); + this.bipedRightArm.addChild(this.rightFloater2); + this.bipedLeftArm.addChild(this.leftArm); + this.bipedBody.addChild(this.chestMain); + this.bipedBody.addChild(this.chestPlate4); + this.bipedRightArm.addChild(this.rightFloater3); + this.bipedBody.addChild(this.chestPlate2); + this.bipedBody.addChild(this.chestOrnament); + this.bipedRightArm.addChild(this.rightFloater1); + this.bipedLeftArm.addChild(this.leftArmPlate2); + this.bipedBody.addChild(this.chestPlate3); + this.bipedBody.addChild(this.chestPlate1); + this.bipedRightArm.addChild(this.rightArm); + this.bipedRightArm.addChild(this.rightFloater4); + this.bipedBody.addChild(this.chestPlate5); + this.bipedLeftArm.addChild(this.leftArmPlate1); + } + + if(addLeggings) + { + this.bipedLeftLeg.addChild(this.leftLegFloater3); + this.bipedLeftLeg.addChild(this.leftLegFloater1); + this.bipedRightLeg.addChild(this.rightLegFloater2); + this.bipedRightLeg.addChild(this.rightLegFloater3); + this.bipedBody.addChild(this.belt); + this.bipedRightLeg.addChild(this.rightLegFloater1); + this.bipedRightLeg.addChild(this.rightLeg); + this.bipedLeftLeg.addChild(this.leftLegFloater2); + this.bipedLeftLeg.addChild(this.leftLeg); + } + + if(addBoots) + { + this.bipedLeftLeg.addChild(this.leftFoot1); + this.bipedRightLeg.addChild(this.rightFoot2); + this.bipedRightLeg.addChild(this.rightFootPlate); + this.bipedRightLeg.addChild(this.rightFoot1); + this.bipedLeftLeg.addChild(this.leftFoot2); + this.bipedLeftLeg.addChild(this.leftFootPlate); + } + + if(addHelmet) + { + this.bipedHead.addChild(this.rightWingPlate2); + this.bipedHead.addChild(this.leftWingPlate3); + this.bipedHead.addChild(this.topPlate); + this.bipedHead.addChild(this.leftWingPlate1); + this.bipedHead.addChild(this.facePlate4); + this.bipedHead.addChild(this.leftWingPlate2); + this.bipedHead.addChild(this.facePlate3); + this.bipedHead.addChild(this.rightWingPlate1); + this.bipedHead.addChild(this.facePlate1); + this.bipedHead.addChild(this.topWingPlate); + this.bipedHead.addChild(this.rightWingPlate3); + this.bipedHead.addChild(this.backPlate); + this.bipedHead.addChild(this.facePlate2); + this.bipedHead.addChild(this.forePlate); + } + } + + @Override + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + this.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + this.bipedBody.render(f5); + this.bipedRightLeg.render(f5); + this.bipedLeftLeg.render(f5); + this.bipedRightArm.render(f5); + this.bipedLeftArm.render(f5); + this.bipedHead.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/rituals/RitualEffectOmegaTest.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java new file mode 100644 index 00000000..52673304 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java @@ -0,0 +1,73 @@ +package WayofTime.alchemicalWizardry.common.rituals; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; +import WayofTime.alchemicalWizardry.ModItems; +import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; +import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; +import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; +import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; +import WayofTime.alchemicalWizardry.common.omega.OmegaParadigm; +import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; + +public class RitualEffectOmegaTest extends RitualEffect +{ + @Override + public void performEffect(IMasterRitualStone ritualStone) + { + String owner = ritualStone.getOwner(); + + int currentEssence = SoulNetworkHandler.getCurrentEssence(owner); + World world = ritualStone.getWorld(); + int x = ritualStone.getXCoord(); + int y = ritualStone.getYCoord(); + int z = ritualStone.getZCoord(); + + if (world.getWorldTime() % 200 != 0) + { + return; + } + + double range = 2; + + List playerList = SpellHelper.getPlayersInRange(world, x + 0.5, y + 0.5, z + 0.5, range, range); + + for(EntityPlayer player : playerList) + { + OmegaParadigm waterParadigm = new OmegaParadigm(ModItems.boundHelmetWater, ModItems.boundPlateWater, ModItems.boundLeggingsWater, ModItems.boundBootsWater); + waterParadigm.convertPlayerArmour(player); + } + } + + @Override + public int getCostPerRefresh() + { + return 0; + } + + @Override + public List getRitualComponentList() + { + ArrayList animalGrowthRitual = new ArrayList(); + animalGrowthRitual.add(new RitualComponent(0, 0, 2, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(2, 0, 0, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(0, 0, -2, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(0, 0, 1, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(1, 0, 0, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(0, 0, -1, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(-1, 0, 0, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(1, 0, 2, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(1, 0, -2, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.WATER)); + animalGrowthRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); + animalGrowthRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); + animalGrowthRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); + animalGrowthRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); + return animalGrowthRitual; + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java index ccbdf4b1..21313a63 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java @@ -8,8 +8,8 @@ import WayofTime.alchemicalWizardry.api.rituals.IMasterRitualStone; import WayofTime.alchemicalWizardry.api.rituals.RitualComponent; import WayofTime.alchemicalWizardry.api.rituals.RitualEffect; import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; -import WayofTime.alchemicalWizardry.common.items.BoundArmour; import WayofTime.alchemicalWizardry.common.items.EnergyItems; +import WayofTime.alchemicalWizardry.common.items.armour.BoundArmour; import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import net.minecraft.entity.effect.EntityLightningBolt; diff --git a/src/main/resources/assets/alchemicalwizardry/models/armor/OmegaEarth.png b/src/main/resources/assets/alchemicalwizardry/models/armor/OmegaEarth.png new file mode 100644 index 0000000000000000000000000000000000000000..6b95f9c4d26418b727a7d61ef56a0699740f1831 GIT binary patch literal 13327 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/models/armor/OmegaWater.png b/src/main/resources/assets/alchemicalwizardry/models/armor/OmegaWater.png new file mode 100644 index 0000000000000000000000000000000000000000..067fb05b2c1bab4813c1510aa10af39a02f423e6 GIT binary patch literal 10425 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/models/armor/OmegaWind.png b/src/main/resources/assets/alchemicalwizardry/models/armor/OmegaWind.png new file mode 100644 index 0000000000000000000000000000000000000000..7ef69c3ed31cf2e9b4c3ac56c61b07a4e6f20335 GIT binary patch literal 9019 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 literal 0 HcmV?d00001