From ab0c49f8c748cc8588f395c2e8da36fed28e5cc2 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Wed, 8 Apr 2015 09:52:51 -0400 Subject: [PATCH] General toying with the enchantments for the Omega armour, tweaked the ritual diviner's functionality, fixed teleposers not teleposing players in certain circumstances. --- .../AlchemicalWizardry.java | 1 + .../common/AlchemicalWizardryEventHooks.java | 1 + .../common/block/MimicBlock.java | 2 - .../compress/AdvancedCompressionHandler.java | 2 +- .../common/items/CreativeDagger.java | 7 +- .../common/items/ItemRitualDiviner.java | 41 ++++--- .../common/items/armour/OmegaArmour.java | 12 ++- .../common/items/armour/OmegaArmourEarth.java | 46 ++++++++ .../common/items/armour/OmegaArmourFire.java | 46 ++++++++ .../common/items/armour/OmegaArmourWater.java | 46 ++++++++ .../common/items/armour/OmegaArmourWind.java | 46 ++++++++ .../common/omega/OmegaParadigm.java | 12 +-- .../common/omega/OmegaStructureHandler.java | 19 ++-- .../rituals/RitualEffectItemRouting.java | 15 +-- .../rituals/RitualEffectOmegaStalling.java | 2 +- .../common/rituals/RitualEffectOmegaTest.java | 7 +- .../spell/complex/effect/SpellHelper.java | 101 ++++++++++++++++++ .../common/tileEntity/TETeleposer.java | 5 +- .../assets/alchemicalwizardry/lang/en_US.lang | 18 ++++ .../textures/items/OmegaBoots_earth.png | Bin 0 -> 317 bytes .../textures/items/OmegaBoots_fire.png | Bin 0 -> 299 bytes .../textures/items/OmegaBoots_water.png | Bin 0 -> 301 bytes .../textures/items/OmegaBoots_wind.png | Bin 0 -> 327 bytes .../textures/items/OmegaHelmet_earth.png | Bin 0 -> 245 bytes .../textures/items/OmegaHelmet_fire.png | Bin 0 -> 256 bytes .../textures/items/OmegaHelmet_water.png | Bin 0 -> 264 bytes .../textures/items/OmegaHelmet_wind.png | Bin 0 -> 253 bytes .../textures/items/OmegaLeggings_earth.png | Bin 0 -> 282 bytes .../textures/items/OmegaLeggings_fire.png | Bin 0 -> 319 bytes .../textures/items/OmegaLeggings_water.png | Bin 0 -> 294 bytes .../textures/items/OmegaLeggings_wind.png | Bin 0 -> 336 bytes .../textures/items/OmegaPlate_earth.png | Bin 0 -> 332 bytes .../textures/items/OmegaPlate_fire.png | Bin 0 -> 335 bytes .../textures/items/OmegaPlate_water.png | Bin 0 -> 369 bytes .../textures/items/OmegaPlate_wind.png | Bin 0 -> 340 bytes 35 files changed, 360 insertions(+), 69 deletions(-) create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_earth.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_fire.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_water.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_wind.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_earth.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_fire.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_water.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_wind.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaLeggings_earth.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaLeggings_fire.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaLeggings_water.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaLeggings_wind.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_earth.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_fire.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_water.png create mode 100644 src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_wind.png diff --git a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 96842a23..c5b7b13d 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -1507,6 +1507,7 @@ public class AlchemicalWizardry { StorageBlockCraftingManager.getInstance().addStorageBlockRecipes(); CompressionRegistry.registerHandler(new BaseCompressionHandler(new ItemStack(Items.glowstone_dust, 4, 0), new ItemStack(Blocks.glowstone), 64)); + CompressionRegistry.registerHandler(new BaseCompressionHandler(new ItemStack(Items.snowball, 4, 0), new ItemStack(Blocks.snow), 8)); CompressionRegistry.registerHandler(new AdvancedCompressionHandler()); CompressionRegistry.registerItemThreshold(new ItemStack(Blocks.cobblestone), 64); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java index 966c7648..20e77f78 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/AlchemicalWizardryEventHooks.java @@ -111,6 +111,7 @@ public class AlchemicalWizardryEventHooks { float recalculatedAmount = ArmorProperties.ApplyArmor(player, player.inventory.armorInventory, event.source, event.ammount); if (recalculatedAmount <= 0) return; + recalculatedAmount = SpellHelper.applyPotionDamageCalculations(player, event.source, recalculatedAmount); float ratio = recalculatedAmount / event.ammount; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/block/MimicBlock.java b/src/main/java/WayofTime/alchemicalWizardry/common/block/MimicBlock.java index ba9d2907..6903e12d 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/block/MimicBlock.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/block/MimicBlock.java @@ -17,7 +17,6 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.common.tileEntity.TEMimicBlock; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -29,7 +28,6 @@ public class MimicBlock extends BlockContainer super(Material.water); setHardness(2.0F); setResistance(5.0F); - setCreativeTab(AlchemicalWizardry.tabBloodMagic); this.setBlockName("blockMimic"); // this.setBlockBounds(0, 0, 0, 0, 0, 0); } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/compress/AdvancedCompressionHandler.java b/src/main/java/WayofTime/alchemicalWizardry/common/compress/AdvancedCompressionHandler.java index 61a62a89..42061aa6 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/compress/AdvancedCompressionHandler.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/compress/AdvancedCompressionHandler.java @@ -34,7 +34,7 @@ public class AdvancedCompressionHandler extends CompressionHandler int threshold = CompressionRegistry.getItemThreshold(invStack); int needed = i*i; - int neededLeft = iterateThroughInventory(invStack, threshold, inv, needed, false); + int neededLeft = iterateThroughInventory(invStack, threshold + invStack.getMaxStackSize() - needed, inv, needed, false); if(neededLeft <= 0) { iterateThroughInventory(invStack, 0, inv, needed, true); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/CreativeDagger.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/CreativeDagger.java index efafc60c..d31df557 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/CreativeDagger.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/CreativeDagger.java @@ -7,8 +7,8 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; import WayofTime.alchemicalWizardry.api.tile.IBloodAltar; +import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper; public class CreativeDagger extends Item { @@ -55,7 +55,7 @@ public class CreativeDagger extends Item int posX = (int) Math.round(player.posX - 0.5f); int posY = (int) player.posY; int posZ = (int) Math.round(player.posZ - 0.5f); - TEAltar altarEntity = getAltar(world, posX, posY, posZ); + IBloodAltar altarEntity = getAltar(world, posX, posY, posZ); if (altarEntity == null) { @@ -66,7 +66,7 @@ public class CreativeDagger extends Item altarEntity.startCycle(); } - public TEAltar getAltar(World world, int x, int y, int z) + public IBloodAltar getAltar(World world, int x, int y, int z) { TileEntity tileEntity = null; @@ -103,3 +103,4 @@ public class CreativeDagger extends Item return null; } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java index e130b118..3b00b926 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/ItemRitualDiviner.java @@ -41,6 +41,7 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner setEnergyUsed(100); this.setCreativeTab(AlchemicalWizardry.tabBloodMagic); this.maxMetaData = 4; + this.hasSubtypes = true; } @Override @@ -87,6 +88,7 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner int fireStones = 0; int earthStones = 0; int duskStones = 0; + int dawnStones = 0; for (RitualComponent rc : ritualList) { @@ -115,6 +117,10 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner case RitualComponent.DUSK: duskStones++; break; + + case RitualComponent.DAWN: + dawnStones++; + break; } } @@ -124,6 +130,7 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner par3List.add(EnumChatFormatting.RED + StatCollector.translateToLocal("tooltip.ritualdiviner.firestones") + " " + fireStones); par3List.add(EnumChatFormatting.DARK_GREEN + StatCollector.translateToLocal("tooltip.ritualdiviner.earthstones") + " " + earthStones); par3List.add(EnumChatFormatting.BOLD + StatCollector.translateToLocal("tooltip.ritualdiviner.duskstones") + " " + duskStones); + par3List.add(EnumChatFormatting.GOLD + StatCollector.translateToLocal("tooltip.ritualdiviner.dawnstones") + " " + dawnStones); } }else { @@ -283,16 +290,16 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner { rotateRituals(player.worldObj, player, stack, false); } - else - { - if (!player.worldObj.isRemote) - { - int direction = this.getDirection(stack) - 1; - if (direction == 0) direction = 4; - this.setDirection(stack, direction); - player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocal("tooltip.ritualdiviner.ritualtunedto") + " " + this.getNameForDirection(direction))); - } - } +// else +// { +// if (!player.worldObj.isRemote) +// { +// int direction = this.getDirection(stack) - 1; +// if (direction == 0) direction = 4; +// this.setDirection(stack, direction); +// player.addChatComponentMessage(new ChatComponentText(StatCollector.translateToLocal("tooltip.ritualdiviner.ritualtunedto") + " " + this.getNameForDirection(direction))); +// } +// } } } @@ -338,23 +345,13 @@ public class ItemRitualDiviner extends EnergyItems implements IRitualDiviner @Override public int getMaxRuneDisplacement(ItemStack par1ItemStack) //0 indicates the starting 4 runes, 1 indicates it can use Dusk runes { - if (par1ItemStack.getTagCompound() == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - return par1ItemStack.getTagCompound().getInteger("maxRuneDisplacement"); + return par1ItemStack.getItemDamage(); } @Override public void setMaxRuneDisplacement(ItemStack par1ItemStack, int displacement) { - if (par1ItemStack.getTagCompound() == null) - { - par1ItemStack.setTagCompound(new NBTTagCompound()); - } - - par1ItemStack.getTagCompound().setInteger("maxRuneDisplacement", displacement); + par1ItemStack.setItemDamage(displacement); } @Override diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java index a6e396af..813d7e77 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmour.java @@ -100,7 +100,7 @@ public abstract class OmegaArmour extends BoundArmour player.inventory.armorInventory[3-this.armorType] = stack; } - public ItemStack getSubstituteStack(ItemStack boundStack, int stability, int affinity, Random rand) + public ItemStack getSubstituteStack(ItemStack boundStack, int stability, int affinity, int enchantability, Random rand) { ItemStack omegaStack = new ItemStack(this); if(boundStack != null && boundStack.hasTagCompound()) @@ -110,13 +110,17 @@ public abstract class OmegaArmour extends BoundArmour } this.setContainedArmourStack(omegaStack, boundStack); SoulNetworkHandler.checkAndSetItemOwner(omegaStack, SoulNetworkHandler.getOwnerName(boundStack)); - this.setItemEnchantability(omegaStack, 50); + this.setItemEnchantability(omegaStack, 70); List enchantList = new ArrayList(); - for(int i=0; i<10; i++) + for(int i=0; i<100; i++) { - enchantList.addAll(EnchantmentHelper.buildEnchantmentList(rand, omegaStack, 30)); + List lst = EnchantmentHelper.buildEnchantmentList(rand, omegaStack, 30); + if(lst != null) + { + enchantList.addAll(lst); + } } Map> map = new HashMap(); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourEarth.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourEarth.java index 44f0dd8f..d858ca18 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourEarth.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourEarth.java @@ -3,10 +3,13 @@ package WayofTime.alchemicalWizardry.common.items.armour; import java.util.UUID; import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import WayofTime.alchemicalWizardry.ModItems; import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaEarth; import com.google.common.collect.HashMultimap; @@ -17,6 +20,11 @@ import cpw.mods.fml.relauncher.SideOnly; public class OmegaArmourEarth extends OmegaArmour { + private static IIcon helmetIcon; + private static IIcon plateIcon; + private static IIcon leggingsIcon; + private static IIcon bootsIcon; + public OmegaArmourEarth(int armorType) { super(armorType); @@ -42,6 +50,44 @@ public class OmegaArmourEarth extends OmegaArmour return new ModelOmegaEarth(0.5f, false, false, true, false); } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) + { + this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); + this.helmetIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaHelmet_earth"); + this.plateIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaPlate_earth"); + this.leggingsIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaLeggings_earth"); + this.bootsIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaBoots_earth"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) + { + if (this.equals(ModItems.boundHelmetEarth)) + { + return this.helmetIcon; + } + + if (this.equals(ModItems.boundPlateEarth)) + { + return this.plateIcon; + } + + if (this.equals(ModItems.boundLeggingsEarth)) + { + return this.leggingsIcon; + } + + if (this.equals(ModItems.boundBootsEarth)) + { + return this.bootsIcon; + } + + return this.itemIcon; + } + @Override public Multimap getItemAttributeModifiers() { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourFire.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourFire.java index 4d0af512..644ca704 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourFire.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourFire.java @@ -1,14 +1,22 @@ package WayofTime.alchemicalWizardry.common.items.armour; import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import WayofTime.alchemicalWizardry.ModItems; import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaFire; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class OmegaArmourFire extends OmegaArmour { + private static IIcon helmetIcon; + private static IIcon plateIcon; + private static IIcon leggingsIcon; + private static IIcon bootsIcon; + public OmegaArmourFire(int armorType) { super(armorType); @@ -35,6 +43,44 @@ public class OmegaArmourFire extends OmegaArmour return new ModelOmegaFire(0.5f, false, false, true, false); } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) + { + this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); + this.helmetIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaHelmet_fire"); + this.plateIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaPlate_fire"); + this.leggingsIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaLeggings_fire"); + this.bootsIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaBoots_fire"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) + { + if (this.equals(ModItems.boundHelmetFire)) + { + return this.helmetIcon; + } + + if (this.equals(ModItems.boundPlateFire)) + { + return this.plateIcon; + } + + if (this.equals(ModItems.boundLeggingsFire)) + { + return this.leggingsIcon; + } + + if (this.equals(ModItems.boundBootsFire)) + { + return this.bootsIcon; + } + + return this.itemIcon; + } + // @Override // public Multimap getAttributeModifiers(ItemStack stack) // { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWater.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWater.java index b4e62634..1532cf70 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWater.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWater.java @@ -8,15 +8,23 @@ import com.google.common.collect.Multimap; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; import net.minecraft.world.biome.BiomeGenBase; +import WayofTime.alchemicalWizardry.ModItems; import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaWater; public class OmegaArmourWater extends OmegaArmour { + private static IIcon helmetIcon; + private static IIcon plateIcon; + private static IIcon leggingsIcon; + private static IIcon bootsIcon; + public OmegaArmourWater(int armorType) { super(armorType); @@ -43,6 +51,44 @@ public class OmegaArmourWater extends OmegaArmour return new ModelOmegaWater(0.5f, false, false, true, false); } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) + { + this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); + this.helmetIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaHelmet_water"); + this.plateIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaPlate_water"); + this.leggingsIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaLeggings_water"); + this.bootsIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaBoots_water"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) + { + if (this.equals(ModItems.boundHelmetWater)) + { + return this.helmetIcon; + } + + if (this.equals(ModItems.boundPlateWater)) + { + return this.plateIcon; + } + + if (this.equals(ModItems.boundLeggingsWater)) + { + return this.leggingsIcon; + } + + if (this.equals(ModItems.boundBootsWater)) + { + return this.bootsIcon; + } + + return this.itemIcon; + } + @Override public Multimap getAttributeModifiers(ItemStack stack) { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWind.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWind.java index 375c1be8..ad504314 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWind.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/armour/OmegaArmourWind.java @@ -3,10 +3,13 @@ package WayofTime.alchemicalWizardry.common.items.armour; import java.util.UUID; import net.minecraft.client.model.ModelBiped; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import WayofTime.alchemicalWizardry.ModItems; import WayofTime.alchemicalWizardry.common.renderer.model.ModelOmegaWind; import com.google.common.collect.HashMultimap; @@ -17,6 +20,11 @@ import cpw.mods.fml.relauncher.SideOnly; public class OmegaArmourWind extends OmegaArmour { + private static IIcon helmetIcon; + private static IIcon plateIcon; + private static IIcon leggingsIcon; + private static IIcon bootsIcon; + public OmegaArmourWind(int armorType) { super(armorType); @@ -43,6 +51,44 @@ public class OmegaArmourWind extends OmegaArmour return new ModelOmegaWind(0.5f, false, false, true, false); } + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconRegister) + { + this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); + this.helmetIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaHelmet_wind"); + this.plateIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaPlate_wind"); + this.leggingsIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaLeggings_wind"); + this.bootsIcon = iconRegister.registerIcon("AlchemicalWizardry:OmegaBoots_wind"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int par1) + { + if (this.equals(ModItems.boundHelmetWind)) + { + return this.helmetIcon; + } + + if (this.equals(ModItems.boundPlateWind)) + { + return this.plateIcon; + } + + if (this.equals(ModItems.boundLeggingsWind)) + { + return this.leggingsIcon; + } + + if (this.equals(ModItems.boundBootsWind)) + { + return this.bootsIcon; + } + + return this.itemIcon; + } + @Override public Multimap getAttributeModifiers(ItemStack stack) { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java index 9c1c3294..ee86b10e 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaParadigm.java @@ -38,7 +38,7 @@ public class OmegaParadigm this.config = new ReagentRegenConfiguration(20, 10, 1); } - public boolean convertPlayerArmour(EntityPlayer player, int x, int y, int z, int stability, int affinity) + public boolean convertPlayerArmour(EntityPlayer player, int x, int y, int z, int stability, int affinity, int enchantability) { ItemStack[] armours = player.inventory.armorInventory; @@ -50,11 +50,11 @@ public class OmegaParadigm 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) { long worldSeed = player.worldObj.getSeed(); - Random rand = new Random(worldSeed + stability * (affinity + 7) * 94 + 84321*x - 17423*y + 76*z); - ItemStack omegaHelmetStack = helmet.getSubstituteStack(helmetStack, stability, affinity, rand); - ItemStack omegaChestStack = chestPiece.getSubstituteStack(chestStack, stability, affinity, rand); - ItemStack omegaLeggingsStack = leggings.getSubstituteStack(leggingsStack, stability, affinity, rand); - ItemStack omegaBootsStack = boots.getSubstituteStack(bootsStack, stability, affinity, rand); + Random rand = new Random(worldSeed + stability * (affinity + 7) * 94 + 84321*x - 17423*y + 76*z - 1623451*enchantability); + ItemStack omegaHelmetStack = helmet.getSubstituteStack(helmetStack, stability, affinity, enchantability, rand); + ItemStack omegaChestStack = chestPiece.getSubstituteStack(chestStack, stability, affinity, enchantability, rand); + ItemStack omegaLeggingsStack = leggings.getSubstituteStack(leggingsStack, stability, affinity, enchantability, rand); + ItemStack omegaBootsStack = boots.getSubstituteStack(bootsStack, stability, affinity, enchantability, rand); armours[3] = omegaHelmetStack; armours[2] = omegaChestStack; diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureHandler.java b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureHandler.java index a4470a08..7aa32d6b 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureHandler.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/omega/OmegaStructureHandler.java @@ -3,6 +3,7 @@ package WayofTime.alchemicalWizardry.common.omega; import net.minecraft.block.Block; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.ModBlocks; +import WayofTime.alchemicalWizardry.api.Int3; public class OmegaStructureHandler { @@ -13,9 +14,9 @@ public class OmegaStructureHandler return true; } - public static OmegaStructureParameters getStructureStabilityFactor(World world, int x, int y, int z, int expLim) + public static OmegaStructureParameters getStructureStabilityFactor(World world, int x, int y, int z, int expLim, Int3 offset) { - int range = expLim; + int range = expLim; int[][][] boolList = new int[range * 2 + 1][range * 2 + 1][range * 2 + 1]; //0 indicates unchecked, 1 indicates checked and is air, -1 indicates checked to be right next to air blocks in question but is NOT air @@ -30,7 +31,7 @@ public class OmegaStructureHandler } } - boolList[range][range][range] = 1; + boolList[range + offset.xCoord][range + offset.yCoord][range + offset.zCoord] = 1; boolean isReady = false; while (!isReady) @@ -208,13 +209,6 @@ public class OmegaStructureHandler { tally += indTally; } - -// Block block = world.getBlock(x + i - range, y + j - range, z + k - range); -// -// if (block == ModBlocks.blockSpectralContainer) -// { -// world.setBlockToAir(x + i - range, y + j - range, z + k - range); -// } } } } @@ -222,4 +216,9 @@ public class OmegaStructureHandler return new OmegaStructureParameters(tally, enchantability); } + + public static OmegaStructureParameters getStructureStabilityFactor(World world, int x, int y, int z, int expLim) + { + return getStructureStabilityFactor(world, x, y, z, expLim, new Int3(0, 0, 0)); + } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemRouting.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemRouting.java index 74896fb7..407ae8bb 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemRouting.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemRouting.java @@ -43,21 +43,8 @@ public class RitualEffectItemRouting extends RitualEffect return; } - int xBufOffset = 0; - int yBufOffset = 1; - int zBufOffset = 0; - -// TileEntity bufferTile = world.getTileEntity(x + xBufOffset, y + yBufOffset, z + zBufOffset); -// -// if(!(bufferTile instanceof IInventory)) -// { -// return; -// } - Map tileMap = new HashMap(); - -// IInventory bufferInventory = (IInventory)bufferTile; - + List outputList = new ArrayList(); for(int i=0; i<4; i++) //Check output foci chests, return if none available { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaStalling.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaStalling.java index e999b9e7..ff97dc0c 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaStalling.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaStalling.java @@ -54,7 +54,7 @@ public class RitualEffectOmegaStalling extends RitualEffect OmegaParadigm parad = OmegaRegistry.getParadigmForReagent(reagent); if(parad != null) { - parad.setOmegaStalling(player, 30); + parad.setOmegaStalling(player, 100); SoulNetworkHandler.syphonFromNetwork(owner, getCostPerRefresh()); } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java index 3878199b..2dc7129a 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectOmegaTest.java @@ -40,8 +40,9 @@ public class RitualEffectOmegaTest extends RitualEffect return; } - OmegaStructureParameters param = OmegaStructureHandler.getStructureStabilityFactor(world, x, y, z, 5); + OmegaStructureParameters param = OmegaStructureHandler.getStructureStabilityFactor(world, x, y, z, 5, new Int3(0,1,0)); int stab = param.stability; + int enchantability = param.enchantability; System.out.println("Stability: " + stab); @@ -51,12 +52,12 @@ public class RitualEffectOmegaTest extends RitualEffect for(EntityPlayer player : playerList) { - Reagent reagent = ReagentRegistry.incendiumReagent; + Reagent reagent = ReagentRegistry.aetherReagent; int affinity = 0; OmegaParadigm waterParadigm = OmegaRegistry.getParadigmForReagent(reagent); - if(waterParadigm != null && waterParadigm.convertPlayerArmour(player, x, y, z, stab, affinity)) + if(waterParadigm != null && waterParadigm.convertPlayerArmour(player, x, y, z, stab, affinity, enchantability)) { APISpellHelper.setPlayerCurrentReagentAmount(player, tickDuration); APISpellHelper.setPlayerMaxReagentAmount(player, tickDuration); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java b/src/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java index d1ee18de..45db03ff 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/spell/complex/effect/SpellHelper.java @@ -8,10 +8,13 @@ import java.util.regex.Pattern; import net.minecraft.block.Block; import net.minecraft.block.BlockLiquid; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnchantmentProtection; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; @@ -22,14 +25,17 @@ import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.network.play.server.S06PacketUpdateHealth; import net.minecraft.network.play.server.S07PacketRespawn; import net.minecraft.network.play.server.S1DPacketEntityEffect; import net.minecraft.network.play.server.S1FPacketSetExperience; +import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.server.MinecraftServer; import net.minecraft.server.management.ServerConfigurationManager; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -800,4 +806,99 @@ public class SpellHelper { return stack.isItemEqual(compressedStack) && (stack.getTagCompound() == null ? compressedStack.getTagCompound() == null : stack.getTagCompound().equals(compressedStack.getTagCompound())); } + + /* + * Ripped from EntityLivingBase, since it decided to be a scrub and make the method protected. + */ + public static float applyPotionDamageCalculations(EntityLivingBase entity, DamageSource p_70672_1_, float p_70672_2_) + { + if (p_70672_1_.isDamageAbsolute()) + { + return p_70672_2_; + } + else + { + if (entity instanceof EntityZombie) + { + //par2 = par2; // Forge: Noop Warning + } + + int i; + int j; + float f1; + + if (entity.isPotionActive(Potion.resistance) && p_70672_1_ != DamageSource.outOfWorld) + { + i = (entity.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; + j = 25 - i; + f1 = p_70672_2_ * (float)j; + p_70672_2_ = f1 / 25.0F; + } + + if (p_70672_2_ <= 0.0F) + { + return 0.0F; + } + else + { + return applySpecialProtection(entity, p_70672_1_, p_70672_2_); + } + } + } + + public static double protCoeff = 0.875; + public static double scalCoeff = 0.8; + + public static float applySpecialProtection(EntityLivingBase entity, DamageSource source, float damage) + { + ItemStack[] armour = entity.getLastActiveItems(); + + if(armour == null) + { + return damage; + } + + int total = 0; + for(int i = 0; i < armour.length; i++) + { + ItemStack stack = armour[i]; + if(stack != null) + { + NBTTagList nbttaglist = stack.getEnchantmentTagList(); + + if(nbttaglist != null) + { + for(int j = 0; j < nbttaglist.tagCount(); ++j) + { + short short1 = nbttaglist.getCompoundTagAt(i).getShort("id"); + short short2 = nbttaglist.getCompoundTagAt(i).getShort("lvl"); + + if (Enchantment.enchantmentsList[short1] != null) + { + Enchantment ench = Enchantment.enchantmentsList[short1]; + if(ench instanceof EnchantmentProtection) + { + total += ench.calcModifierDamage(short2, source); + } + } + } + } + } + } + + if(total > 0) + { + total = (total + 1 >> + 1) + rand.nextInt(total + 1 >> + 1); + if(total <= 20) + { + return damage * (25 - total) / 25; + }else + { + float factor = (float)(0.8 + 0.2 * (1 - Math.pow(protCoeff, Math.pow((total - 20), scalCoeff)))); + return damage * (1 - factor); + } + } + + return damage; + } } diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java index 1b3743e3..f72a24e8 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TETeleposer.java @@ -188,7 +188,6 @@ public class TETeleposer extends TileEntity implements IInventory public void updateEntity() { super.updateEntity(); - EntityPlayer d; if (worldObj.isRemote) { @@ -217,7 +216,7 @@ public class TETeleposer extends TileEntity implements IInventory { //Prime the teleportation int d0 = focusLevel - 1; - AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox((double) this.xCoord, (double) this.yCoord + d0 + 1, (double) this.zCoord, (double) (this.xCoord + 1), (double) (this.yCoord + 2 + d0), (double) (this.zCoord + 1)).expand(d0, d0, d0); + AxisAlignedBB axisalignedbb1 = AxisAlignedBB.getBoundingBox((double) this.xCoord-0.5, (double) this.yCoord + d0 + 0.5, (double) this.zCoord-0.5, (double) (this.xCoord + 0.5), (double) (this.yCoord + 1.5 + d0), (double) (this.zCoord + 0.5)).expand(d0, d0, d0); axisalignedbb1.maxY = Math.min((double) this.worldObj.getHeight(), this.yCoord + 2 + d0 + d0); List list1 = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb1); Iterator iterator1 = list1.iterator(); @@ -229,7 +228,7 @@ public class TETeleposer extends TileEntity implements IInventory entityCount++; } - AxisAlignedBB axisalignedbb2 = AxisAlignedBB.getBoundingBox(xf, yf + d0 + 1, zf, xf + 1, yf + 2 + d0, zf).expand(d0, d0, d0); + AxisAlignedBB axisalignedbb2 = AxisAlignedBB.getBoundingBox(xf-0.5, yf + d0 + 0.5, zf-0.5, xf + 0.5, yf + 1.5 + d0, zf+0.5).expand(d0, d0, d0); List list2 = worldF.getEntitiesWithinAABB(EntityLivingBase.class, axisalignedbb2); Iterator iterator2 = list2.iterator(); EntityLivingBase entityplayer2; diff --git a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang index 8dff14a0..672226d3 100644 --- a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang +++ b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang @@ -208,6 +208,23 @@ item.outputRoutingFocus.modItem.name=Output Routing Focus (ModItem) item.outputRoutingFocus.ignMeta.name=Output Routing Focus (Ignore Meta) item.outputRoutingFocus.matchNBT.name=Output Routing Focus (MatchNBT) item.outputRoutingFocus.global.name=Output Routing Focus (Global) +item.dawnScribeTool.name=Elemental Inscription Tool: Dawn +item.boundHelmetEarth.name=Earth Omega Helmet +item.boundPlateEarth.name=Earth Omega Plate +item.boundLeggingsEarth.name=Earth Omega Leggings +item.boundBootsEarth.name=Earth Omega Boots +item.boundHelmetWind.name=Wind Omega Helmet +item.boundPlateWind.name=Wind Omega Plate +item.boundLeggingsWind.name=Wind Omega Leggings +item.boundBootsWind.name=Wind Omega Boots +item.boundHelmetFire.name=Fire Omega Helmet +item.boundPlateFire.name=Fire Omega Plate +item.boundLeggingsFire.name=Fire Omega Leggings +item.boundBootsFire.name=Fire Omega Boots +item.boundHelmetWater.name=Water Omega Helmet +item.boundPlateWater.name=Water Omega Plate +item.boundLeggingsWater.name=Water Omega Leggings +item.boundBootsWater.name=Water Omega Boots #Creative Tab itemGroup.tabBloodMagic=Blood Magic @@ -350,6 +367,7 @@ tooltip.ritualdiviner.firestones=Fire Stones: tooltip.ritualdiviner.moreinfo=Press shift for extended information tooltip.ritualdiviner.ritualtunedto=Ritual tuned to face: tooltip.ritualdiviner.waterstones=Water Stones: +tooltip.ritualdiviner.dawnstones=Dawn Stones: tooltip.sacrificialdagger.desc1=A slight draining feeling tickles your fingers tooltip.sacrificialdagger.desc2=Just a prick of the tooltip.sacrificialdagger.desc3=finger will suffice... diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_earth.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_earth.png new file mode 100644 index 0000000000000000000000000000000000000000..9a9e1910a67ffe88386104927d3e42a8c913aa31 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)^mS#w&%z=q#U=0UJ{c%<%G1R$#Nu@Fpa1{unN=G)8=V|B zGU~iwD!S8CU~l{D*L=b05@F&e3XT8GPdap9!O{LqVIP^B25aITOrCJ?RY=Su3AUQ5 zk1VU5K&%tykN7s6OO0Up|NlS#@l7#2|IKe1{@K4_{=@w`;)m-~K63w-{I}bCQ5R5N zUXUAT$A9skCk%iFv@EpYy1c0UD-TcPDvqriZX`5u=G^1@_Fv6@#a%pUXO@geCy= Cf`I4% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_fire.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..c8e54acc33219f3c37ed35173164769596c66054 GIT binary patch literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4lV7Q-XO=*K{cv%n*= zn1O*?7=#%aX3dcR3bL1Y`ns~;XJHYsHrre2asVi_!_&nv#NzbT;N8539C&K`CO9=O z@Vs_{BeJPW)hI~JA*3WkjC+EqhUesWfh>zJ7f$or#pQj?^Zd2XpP#p=c&%|-C@P$j zv_SOdw=XJ34^QIaQ`*C5!C2vXq%EI$QwsN7<*ldZ9()^mS#w&%z?gE5>(nz86qvm#2$kh{frv!G?T?40vqZC*ES5 zs<-yY>k5YX2~HggMV&X7bLA&98g7*J4sKOTdwIk&PVd}JJ9Q_a?1T+Mt6ASn%5Z%) z^WBn+J3Nz$a~PAHZ>>sZH2BbaX!4n!4fW5eLw|%Mtoh8uHJ^iL`s}P5U-x*QoWtJy zxf6&Z`SAezf*wVToL7MDB`&)qc5?Rk&2$Jr;>R r)L!*1&TblK>X!vh^Zxu#|HYu-uq}4`dGp^uUod#O`njxgN@xNAu)1$m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_wind.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaBoots_wind.png new file mode 100644 index 0000000000000000000000000000000000000000..40984f9f31b946d900a6b220e1b242e06c0beee9 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE(|gZ`x(^DqtEUFif|Tq zL>4nJa0`PlBg3pY5H=O_WLX>qH03*SC&};g|2wIIEGl9zB<{EugO8c^}pV% z2u+tJ#alvJ`H7j2cs(p6!xwBYdB`y#ATnb1jf@o;Pomd$?9O(6s&aeJnSVcxt+hRp zd^~!3E;0%GUM#(5TiU;TgW+Q4msT;)1*f%74fFiyZEU#6X zNGu7NetM5{Ky}9EV;S)u&9VcY#p*B8`Q@3h^{2M`ge&*HRY&@GFZ*=lfBiD?J$=oS U68bad0sY6|>FVdQ&MBb@0Ie~6_5c6? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_earth.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_earth.png new file mode 100644 index 0000000000000000000000000000000000000000..bae4d1537240d701bb089a99e8653ab691ef8fbd GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)^mS#w&%z=q&GPU?^i`lxlc$Sgh{fsTKmY&RGpjaqHaa#uKwRB@cDXnNYy0u;&}q!~cMs4qhO1TPYqoLc*#lj};OXk;vd$@?2>=btSaARV literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_fire.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..8baaf35a353f25979df1c6d3b9faed8eb6743cde GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4lV7Q-XO=*K{cv%n*= zn1O*?7=#%aX3dcR3bL1Y`ns~;XJHYs)SB&A#S0Yb^>lFzu{fRl=l_3uX4QtyMkj}j zj5;@1j!H;w{Pp_k|NlKKyaEX+f9eIgpZ(C^%{(gV!fA?4uG7vi%dq)h}q u?qYb>C7-d)K%v!cm&M}?=eb3s85p7u>Mwp`pnnSJFa}RoKbLh*2~7Y$<5V30 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_water.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_water.png new file mode 100644 index 0000000000000000000000000000000000000000..73d11c798159c0da8a4d867ac8810f3efb087cf1 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)^mS#w&%z?gEfz7^;tWt|s;7%%h{fsTKmY&RGpjaqHaa%_$KS69abCQdX^@k4|HuJ>|BOu+ z=bnDq@zCl{;)Vc*g%elKKjILhap1s*%lzm5ey+9eWK+mgOX0W{k&tk|W$ORu^32T4 zhwGGh4m@ItQ26KAU-V@O4|nPpi{qMhUp_M(1^R1?ZBW|Dj)ez+4rK6j^>bP0l+XkK D$jM{B literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_wind.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaHelmet_wind.png new file mode 100644 index 0000000000000000000000000000000000000000..b236bd22d01487f5c26508ea23d94b2caacc0270 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE(|gZ`x(^DqtEUFif|Tq zL>4nJa0`PlBg3pY5H=O_WLX>qH3zgGnq|+LS3FNjv*GOlmGnxZ_ljS(AntZ zu#r(G!dEom*sJyR^8bv4Od32Je(wLm7Rqzh{#kuef>6T0{yYw0v$N|e4ol$hLp1{Jc%xT9y^!>?iM_0NKw4T ty20VdYo;eA4T7;2M)^mS#w&%z=q!5p%1?pC1Ca!(h>5R22vfByfsXI5=sjdkdo zEx5k3f8W3KBbf~{=8ykts_iiK-_0A?oWmh()>vNWNtzK z?(zSPPZb*fa}RIGV>AgUT+SSGv2~hMq5I=4w|4|926A$S?|CegzQn}b$S{C|VRE0% Vw`!AmPoR?-JYD@<);T3K0RYH)Uzz{_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaLeggings_fire.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaLeggings_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..d6638272b7f018e35d9f455943c1073ae41cd4cb GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4lV7Q-XO=*K{cv%n*= zn1O*?7=#%aX3dcR3bL1Y`ns~;XJHXB(cJzr^cPU*jHioZh{frplQ;4nG7xaRAL(%+ zKrP$AX<7oKT0`Nbi%Xq!7<#9&&S(~zRWhGRX-fj2$xyK6iThzbKTLTh2N6bnH6&iOt@;>)EVMTAiGAW&ykG z99x^(UAL|szM7u4Vcot%yQH}0%lTcMulVh1@}bhNW^5TwaYB)^mS#w&%z=qA-bSc;|Wk`v!{z=h{fsTKmY&RGpjbR#x_hm z%fG(!e|>I}i|CL4@_mvKwf~Jj{5jqk`Qz6=;|;(5xnDcna&^`ZegU68@drZP&y5wN z|38mc3@i1qFf}$X`15n${Dpn2TM! h20^o=XG&4nJa0`PlBg3pY5H=O_WLX>qAEsZJx>aNLU%n~978NlFAcWkYci0i)#dX$ zap2O6tT}sF7pE(H<(fj9L|GxK|u*ycZ*_jS( z_jHoKS8=O1^4Pqaym<4@tGp=>E~-r2cIZ>gVw>xy-CjJrZ?h$%?en)+(XW?i{-0Rl zY|Idn*{G%KrqaJe`nQXaielNM#5F(mG$*dnD4Ue_uE0LBcp3X5FYcIvqI1%jSG8xE zf0UoW(#)>+MUG)XsN)h*qbGh%JeEpp-*D}^{yUvN%|2+g^mF|!jx$c1+-?4+7XGI@ e;jOmLA$C^D3K2H*d4)iaGI+ZBxvX)^mS#w&%z=qqNrOkITk2%)6>N<#NzbY;I({*3?%kUTBV!F z)|gPtvFtm`9!|0TC!8Bj&ue4pc4=Ip%%P+5!rA2Ru5HQ61)i6`y^h`g?YE%HM{c)u ziruW6BMMf;-eO_U;9d|^RbLx8WAmnr&u3zrs-pqf=>=`R=oOW8e>uBtXealFCRJA@iVY!jNU3H26hfNzI zO^_|X&tg75yv)AcYws~E* Zd1qYb?rB~J{sTS9;OXk;vd$@?2>|ZUf1LmT literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_fire.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_fire.png new file mode 100644 index 0000000000000000000000000000000000000000..b010bbfb7ae9ea2d714be304d81e4cd310b8cca5 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4lV7Q-XO=*K{cv%n*= zn1O*?7=#%aX3dcR3bL1Y`ns~;XJHZ16Nosdt_c*nhs9=T`Q=pS@SU z+-_@h#GRuy6%&$prG)No`H^EYL&RczQba}XW!)VPt#5Cr?Wz}C(eWw&n%h>^e2O-tDnm{r-UW|_N;qu literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_water.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_water.png new file mode 100644 index 0000000000000000000000000000000000000000..c12cc41c49cfccaba37d90f97edee0cf616ed968 GIT binary patch literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)^mS#w&%z?gDxhDyp&Tgm&(p;*#NzbQVC%j^1|l-x1&PXKXpgT9-e!dD|DjxUg!DWyl11 z;}<5Ej;{PKq~OEza^6Nu=9f!-KbK~;iA5zH-fj9IvUAs|buY?Z#Q1i<)?z;IRg&je zmAU@MLoq8&y|%I^x3A7^&*1*GA+GtNh2dXC|LBOwCmL_2=v_a0o{wQejQX?c|GST; zS-&r6{VV1oP;9g}E;jPXGX1{$YyVpFo|*qrBl=GEhiln2TmLc660Vte;(OV3U`Q}{ My85}Sb4q9e0B4qzd;kCd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_wind.png b/src/main/resources/assets/alchemicalwizardry/textures/items/OmegaPlate_wind.png new file mode 100644 index 0000000000000000000000000000000000000000..02b734be159feabac98c5db57e3a6dde920ab0e1 GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE(|gZ`x(^DqtEUFif|Tq zL>4nJa0`PlBg3pY5H=O_WLX>qKe`U|Bn;_g&umkIEGl9UK?!5*K8mlBh59X zY4O5^E>kK+>Q5MdV&BJ*JF7;q$% zOKQjQkDLr1yN_heS$#6+k(FLfMwREX*rc;+XPhsemMe&TVD#Q@aa=3Mis^gKuKRMJ z)Lr~J&jEk-o$=@Oo1HfscQO=6zPqGxrpegB+j$Bf5h^mSNB!ar8{2)dX~Y{)z4*}Q$iB}IedjD literal 0 HcmV?d00001