From 3d6d7bcdd6b1e7a3e74a3ff5de95da52f47aaf1c Mon Sep 17 00:00:00 2001 From: WayofTime Date: Mon, 13 Oct 2014 10:33:43 -0400 Subject: [PATCH] Almost ready for final 1.2.0 push --- .../AlchemicalWizardry.java | 20 +++++- .../common/block/BlockAltar.java | 39 +++++++++-- .../common/block/BlockBelljar.java | 6 +- .../common/items/BoundArmour.java | 6 +- .../items/thaumcraft/ItemSanguineArmour.java | 10 +-- .../renderer/model/ModelOmegaArmour.java | 6 ++ .../rituals/RitualEffectFullStomach.java | 62 +++++++++++------- .../rituals/RitualEffectItemSuction.java | 7 +- .../common/rituals/RitualEffectUnbinding.java | 2 +- .../common/tileEntity/TEAltar.java | 24 ++++++- .../models/armor/sanguineArmour_layer_1.png | Bin 7932 -> 7732 bytes .../models/armor/sanguineArmour_layer_2.png | Bin 0 -> 1174 bytes 12 files changed, 136 insertions(+), 46 deletions(-) create mode 100644 1.7.10/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_2.png diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index 25b4f55e..5a7c731c 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -31,6 +31,9 @@ import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.RecipeSorter; import net.minecraftforge.oredict.RecipeSorter.Category; import thaumcraft.api.ItemApi; +import thaumcraft.api.ThaumcraftApi; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; import WayofTime.alchemicalWizardry.api.alchemy.AlchemicalPotionCreationHandler; import WayofTime.alchemicalWizardry.api.alchemy.AlchemyRecipeRegistry; import WayofTime.alchemicalWizardry.api.alchemy.energy.ReagentRegistry; @@ -97,6 +100,7 @@ import WayofTime.alchemicalWizardry.common.rituals.RitualEffectExpulsion; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFeatheredEarth; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFeatheredKnife; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFlight; +import WayofTime.alchemicalWizardry.common.rituals.RitualEffectFullStomach; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectGrowth; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectHarvest; import WayofTime.alchemicalWizardry.common.rituals.RitualEffectHealing; @@ -162,7 +166,7 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; -@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.2.0Beta25") +@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.2.0Candidate1") //@NetworkMod(clientSideRequired = true, serverSideRequired = false, channels = {"BloodAltar", "particle", "SetLifeEssence", "GetLifeEssence", "Ritual", "GetAltarEssence", "TESocket", "TEWritingTable", "CustomParticle", "SetPlayerVel", "SetPlayerPos", "TEPedestal", "TEPlinth", "TETeleposer", "InfiniteLPPath", "TEOrientor"}, packetHandler = PacketHandler.class) public class AlchemicalWizardry @@ -920,6 +924,15 @@ public class AlchemicalWizardry Item itemThaumChest = GameRegistry.findItem("Thaumcraft", "ItemChestplateThaumium"); Item itemThaumLeggings = GameRegistry.findItem("Thaumcraft", "ItemLeggingsThaumium"); Item itemThaumBoots = GameRegistry.findItem("Thaumcraft", "ItemBootsThaumium"); + + AspectList aspectList = new AspectList(); + aspectList.add(Aspect.ARMOR, 5).add(Aspect.MAGIC, 5); + + ThaumcraftApi.registerObjectTag(new ItemStack(ModItems.sanguineHelmet), aspectList); + ThaumcraftApi.registerObjectTag(new ItemStack(ModItems.sanguineRobe), aspectList); + ThaumcraftApi.registerObjectTag(new ItemStack(ModItems.sanguinePants), aspectList); + ThaumcraftApi.registerObjectTag(new ItemStack(ModItems.sanguineBoots), aspectList); + if (itemGoggles != null) @@ -1070,10 +1083,11 @@ public class AlchemicalWizardry Rituals.registerRitual("AW023Zephyr", 1, 25000, new RitualEffectItemSuction(),"Call of the Zephyr", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); Rituals.registerRitual("AW024Harvest", 1, 20000, new RitualEffectHarvest(), "Reap of the Harvest Moon", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); Rituals.registerRitual("AW025Conduit", 2, 2000000, new RitualEffectLifeConduit(), "Cry of the Eternal Soul", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW026Ellipsoid", 1, 25000, new RitualEffectEllipsoid(), "Ellipsoid", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); - Rituals.registerRitual("AW027Evaporation", 1, 20000, new RitualEffectEvaporation(), "Evaporation", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); + Rituals.registerRitual("AW026Ellipsoid", 1, 25000, new RitualEffectEllipsoid(), "Focus of the Ellipsoid", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); + Rituals.registerRitual("AW027Evaporation", 1, 20000, new RitualEffectEvaporation(), "Song of Evaporation", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); Rituals.registerRitual("AW028SpawnWard", 1, 150000, new RitualEffectSpawnWard(), "Ward of Sacrosanctity", new AlchemyCircleRenderer(new ResourceLocation("alchemicalwizardry:textures/models/SimpleTransCircle.png"),0,0,0,255, 0, 0.501, 0.501, 0, 1.5, false)); 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(1,100,new RitualEffectApiaryOverclock(),"Apiary Overclock")); } diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java index 0cdb4272..5a2c488e 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java @@ -23,6 +23,7 @@ import WayofTime.alchemicalWizardry.common.PacketHandler; import WayofTime.alchemicalWizardry.common.items.EnergyBattery; import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; +import WayofTime.alchemicalWizardry.common.tileEntity.TEBellJar; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -78,6 +79,34 @@ public class BlockAltar extends BlockContainer return sideIcon2; } } + + @Override + public boolean hasComparatorInputOverride() + { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int meta) + { + TileEntity tile = world.getTileEntity(x, y, z); + + if (tile instanceof TEAltar) + { + ItemStack stack = ((TEAltar) tile).getStackInSlot(0); + + if (stack != null && stack.getItem() instanceof EnergyBattery) + { + EnergyBattery bloodOrb = (EnergyBattery) stack.getItem(); + int maxEssence = bloodOrb.getMaxEssence(); + int currentEssence = bloodOrb.getCurrentEssence(stack); + int level = currentEssence * 15 / maxEssence; + return ((int) (Math.min(15, level))) % 16; + } + } + + return 0; + } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int idk, float what, float these, float are) @@ -271,11 +300,11 @@ public class BlockAltar extends BlockContainer // return 1; // } - @Override - public boolean canProvidePower() - { - return true; - } +// @Override +// public boolean canProvidePower() +// { +// return true; +// } @Override public int isProvidingWeakPower(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/block/BlockBelljar.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/block/BlockBelljar.java index 585c1aff..767213e3 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/block/BlockBelljar.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/block/BlockBelljar.java @@ -111,13 +111,13 @@ public class BlockBelljar extends BlockContainer } @Override - public boolean canProvidePower() + public boolean hasComparatorInputOverride() { - return true; + return true; } @Override - public int isProvidingWeakPower(IBlockAccess world, int x, int y, int z, int meta) + public int getComparatorInputOverride(World world, int x, int y, int z, int meta) { TileEntity tile = world.getTileEntity(x, y, z); if(tile instanceof TEBellJar) diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java index cbb3bdc2..1baaab9a 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/BoundArmour.java @@ -180,7 +180,7 @@ public class BoundArmour extends ItemArmor implements IAlchemyGoggles,ISpecialAr if(player.isPotionActive(AlchemicalWizardry.customPotionSoulHarden)) { int i = player.getActivePotionEffect(AlchemicalWizardry.customPotionSoulHarden).getAmplifier() + 1; - damageAmount /= (1 - i*0.1); + damageAmount /= Math.max((1 - i*0.1), 0.1); }else { damageAmount *= 0.9; @@ -309,8 +309,8 @@ public class BoundArmour extends ItemArmor implements IAlchemyGoggles,ISpecialAr { return "alchemicalwizardry:models/armor/BloodArmour_WIP.png"; } - //TODO Make the armour invisible when the player has Invisibility on. - if (entity instanceof EntityLivingBase) + + if (entity instanceof EntityLivingBase) { if (this.getIsInvisible(stack)) { diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java index 6a91c8f8..d5eec374 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemSanguineArmour.java @@ -86,12 +86,12 @@ public class ItemSanguineArmour extends ItemArmor implements ArmourUpgrade, IGog if (this == ModItems.sanguineRobe || this == ModItems.sanguineBoots) { - return "alchemicalwizardry:models/armor/boundArmour_layer_1.png"; + return "alchemicalwizardry:models/armor/sanguineArmour_layer_1.png"; } if (this == ModItems.sanguinePants) { - return "alchemicalwizardry:models/armor/boundArmour_layer_2.png"; + return "alchemicalwizardry:models/armor/sanguineArmour_layer_2.png"; } else { return null; @@ -106,16 +106,16 @@ public class ItemSanguineArmour extends ItemArmor implements ArmourUpgrade, IGog switch(this.armorType) { case 0: - discount = 8; + discount = 6; break; case 1: - discount = 4; + discount = 3; break; case 2: discount = 3; break; case 3: - discount = 3; + discount = 2; break; } diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaArmour.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaArmour.java index 790bb9e1..f583149e 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaArmour.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/renderer/model/ModelOmegaArmour.java @@ -147,6 +147,7 @@ public class ModelOmegaArmour extends ModelBiped setRotation(leftFacePlate, 0.296706F, -0.3490659F, -0.0872665F); rightFacePlate = new ModelRenderer(this, 66, 52); + rightFacePlate.mirror = true; rightFacePlate.addBox(-3F, -5F, -5F, 5, 4, 1); rightFacePlate.setRotationPoint(0F, 0F, 0F); rightFacePlate.setTextureSize(128, 128); @@ -190,6 +191,7 @@ public class ModelOmegaArmour extends ModelBiped setRotation(leftWingPlate2, 0.2617994F, 0.1745329F, 0F); rightWingPlate1 = new ModelRenderer(this, 66, 58); + rightWingPlate1.mirror = true; rightWingPlate1.addBox(-6F, -5F, -2.5F, 1, 5, 8); rightWingPlate1.setRotationPoint(0F, 0F, 0F); rightWingPlate1.setTextureSize(128, 128); @@ -198,6 +200,7 @@ public class ModelOmegaArmour extends ModelBiped rightWingPlate1.mirror = false; rightWingPlate2 = new ModelRenderer(this, 66, 72); + rightWingPlate2.mirror = true; rightWingPlate2.addBox(-6F, -8F, -2F, 1, 3, 10); rightWingPlate2.setRotationPoint(0F, 0F, 0F); rightWingPlate2.setTextureSize(128, 128); @@ -227,6 +230,7 @@ public class ModelOmegaArmour extends ModelBiped setRotation(topPlate3, 0.4363323F, 0F, 0F); backPlate1 = new ModelRenderer(this, 66, 86); + backPlate1.mirror = true; backPlate1.addBox(-4.5F, -7F, 6F, 6, 4, 1); backPlate1.setRotationPoint(0F, 0F, 0F); backPlate1.setTextureSize(128, 128); @@ -235,6 +239,7 @@ public class ModelOmegaArmour extends ModelBiped backPlate1.mirror = false; backPlate2 = new ModelRenderer(this, 66, 86); + backPlate2.mirror = true; backPlate2.addBox(-4.5F, -6.5F, 6F, 6, 4, 1); backPlate2.setRotationPoint(0F, 2F, 0F); backPlate2.setTextureSize(128, 128); @@ -243,6 +248,7 @@ public class ModelOmegaArmour extends ModelBiped backPlate2.mirror = false; backPlate3 = new ModelRenderer(this, 66, 86); + backPlate3.mirror = true; backPlate3.addBox(-4.5F, -6F, 6F, 6, 4, 1); backPlate3.setRotationPoint(0F, 4F, 0F); backPlate3.setTextureSize(128, 128); diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFullStomach.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFullStomach.java index 8828d78a..2753a118 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFullStomach.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectFullStomach.java @@ -35,8 +35,8 @@ public class RitualEffectFullStomach extends RitualEffect return; } - double horizRange = 5; - double vertRange = 5; + double horizRange = 16; + double vertRange = 16; List playerList = SpellHelper.getPlayersInRange(world, x+0.5, y+0.5, z+0.5, horizRange, vertRange); @@ -72,7 +72,7 @@ public class RitualEffectFullStomach extends RitualEffect { FoodStats foodStats = player.getFoodStats(); float satLevel = foodStats.getSaturationLevel(); - + for(int i=0; i getRitualComponentList() { - ArrayList animalGrowthRitual = new ArrayList(); - animalGrowthRitual.add(new RitualComponent(0, 0, 2, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(2, 0, 0, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(0, 0, -2, RitualComponent.DUSK)); - animalGrowthRitual.add(new RitualComponent(-2, 0, 0, RitualComponent.DUSK)); - 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.EARTH)); - animalGrowthRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(1, 0, -2, RitualComponent.EARTH)); - animalGrowthRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.EARTH)); - 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; + ArrayList fullRitual = new ArrayList(); + fullRitual.add(new RitualComponent(0, 0, 3, RitualComponent.FIRE)); + fullRitual.add(new RitualComponent(0, 0, -3, RitualComponent.FIRE)); + fullRitual.add(new RitualComponent(3, 0, 0, RitualComponent.FIRE)); + fullRitual.add(new RitualComponent(-3, 0, 0, RitualComponent.FIRE)); + fullRitual.add(new RitualComponent(1, 0, 1, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(1, 0, -1, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(-1, 0, -1, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(-1, 0, 1, RitualComponent.AIR)); + + fullRitual.add(new RitualComponent(2, 0, 1, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(2, 0, -1, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(-2, 0, -1, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(-2, 0, 1, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(1, 0, 2, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(1, 0, -2, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(-1, 0, -2, RitualComponent.AIR)); + fullRitual.add(new RitualComponent(-1, 0, 2, RitualComponent.AIR)); + + fullRitual.add(new RitualComponent(4, 0, 4, RitualComponent.WATER)); + fullRitual.add(new RitualComponent(4, 0, -4, RitualComponent.WATER)); + fullRitual.add(new RitualComponent(-4, 0, -4, RitualComponent.WATER)); + fullRitual.add(new RitualComponent(-4, 0, 4, RitualComponent.WATER)); + + fullRitual.add(new RitualComponent(4, 0, 3, RitualComponent.EARTH)); + fullRitual.add(new RitualComponent(3, 0, 4, RitualComponent.EARTH)); + fullRitual.add(new RitualComponent(-4, 0, 3, RitualComponent.EARTH)); + fullRitual.add(new RitualComponent(3, 0, -4, RitualComponent.EARTH)); + fullRitual.add(new RitualComponent(-4, 0, -3, RitualComponent.EARTH)); + fullRitual.add(new RitualComponent(-3, 0, -4, RitualComponent.EARTH)); + fullRitual.add(new RitualComponent(4, 0, -3, RitualComponent.EARTH)); + fullRitual.add(new RitualComponent(-3, 0, 4, RitualComponent.EARTH)); + + return fullRitual; } } diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemSuction.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemSuction.java index bc585a82..f4800145 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemSuction.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectItemSuction.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import net.minecraft.block.Block; +import net.minecraft.block.BlockFurnace; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -116,7 +117,7 @@ public class RitualEffectItemSuction extends RitualEffect // } // } - count++; + //count++; ItemStack newStack = SpellHelper.insertStackIntoInventory(copyStack, tileEntity); @@ -126,6 +127,7 @@ public class RitualEffectItemSuction extends RitualEffect if(newStack.stackSize<=0) { itemEntity.setDead(); + itemEntity.getEntityItem().stackSize = newStack.stackSize; } if (newStack.stackSize > 0) @@ -134,8 +136,9 @@ public class RitualEffectItemSuction extends RitualEffect } if(hasReductus) { + BlockFurnace d; this.canDrainReagent(ritualStone, ReagentRegistry.reductusReagent, reductusDrain, true); - } + } } } } diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java index 0c4b3455..fdcd8d86 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/rituals/RitualEffectUnbinding.java @@ -76,7 +76,7 @@ public class RitualEffectUnbinding extends RitualEffect world.addWeatherEffect(new EntityLightningBolt(world, x - 5, y + 1, z)); world.addWeatherEffect(new EntityLightningBolt(world, x + 5, y + 1, z)); - EnergyItems.checkAndSetItemOwner(itemStack, ""); + EnergyItems.setItemOwner(itemStack, ""); this.canDrainReagent(ritualStone, ReagentRegistry.sanctusReagent, sanctusDrain, true); drain = true; ritualStone.setActive(false); diff --git a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java index a59c6da6..5ef267a6 100644 --- a/1.7.10/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java +++ b/1.7.10/main/java/WayofTime/alchemicalWizardry/common/tileEntity/TEAltar.java @@ -65,6 +65,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui protected FluidStack fluidOutput; protected FluidStack fluidInput; private int progress; + private int hasChanged = 0; private int lockdownDuration; @@ -91,6 +92,11 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui this.lockdownDuration = 0; } + public int getRSPowerOutput() + { + return 5; + } + @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) { @@ -545,6 +551,21 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui if (!worldObj.isRemote && worldObj.getWorldTime() % 20 == 0) { //TODO + { + Block block = worldObj.getBlock(xCoord+1, yCoord, zCoord); + block.onNeighborBlockChange(worldObj, xCoord+1, yCoord, zCoord, block); + block = worldObj.getBlock(xCoord-1, yCoord, zCoord); + block.onNeighborBlockChange(worldObj, xCoord-1, yCoord, zCoord, block); + block = worldObj.getBlock(xCoord, yCoord+1, zCoord); + block.onNeighborBlockChange(worldObj, xCoord, yCoord+1, zCoord, block); + block = worldObj.getBlock(xCoord, yCoord-1, zCoord); + block.onNeighborBlockChange(worldObj, xCoord, yCoord-1, zCoord, block); + block = worldObj.getBlock(xCoord, yCoord, zCoord+1); + block.onNeighborBlockChange(worldObj, xCoord, yCoord, zCoord+1, block); + block = worldObj.getBlock(xCoord, yCoord, zCoord-1); + block.onNeighborBlockChange(worldObj, xCoord, yCoord, zCoord-1, block); + } + int syphonMax = (int) (20 * this.dislocationMultiplier); int fluidInputted = 0; int fluidOutputted = 0; @@ -648,6 +669,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui fluid.amount = fluid.amount - liquidDrained; progress += liquidDrained; + //getStackInSlot(0).setItemDamage(getStackInSlot(0).getItemDamage() + liquidDrained); if (worldTime % 4 == 0) @@ -733,7 +755,7 @@ public class TEAltar extends TileEntity implements IInventory, IFluidTank, IFlui //int currentEssence=playerTag.getInteger("currentEssence"); if (fluid != null && fluid.amount >= 1) - { + { int liquidDrained = Math.min((int) (upgradeLevel >= 2 ? consumptionRate * (1 + consumptionMultiplier) : consumptionRate), fluid.amount); if (liquidDrained > (item.getMaxEssence() * this.orbCapacityMultiplier - currentEssence)) diff --git a/1.7.10/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_1.png b/1.7.10/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_1.png index e323c054bb0a1a144c645d7336df880ee89eb139..3570c7e8f67063d3712e344a79c9d0afac023bcb 100644 GIT binary patch delta 5069 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 diff --git a/1.7.10/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_2.png b/1.7.10/main/resources/assets/alchemicalwizardry/models/armor/sanguineArmour_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..3763755bff17210c701ddbcfa61b1f41f409c807 GIT binary patch literal 1174 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!3HERU8}DLQfx`y?k)`fL2$v|<&%LToCO|{ z#S9F5he4R}c>anMpdfpRr>`sfJuYrWNj9zzdaeu%EXtlPjv*Dd-p+N*7j_ppUVpxf zr`3sX0+Z0%E7DAXjTQx4^&dLzXZc>kV8>`_3xgx2L?RzY z!Qq_yetCU?VHPnP0{h$J%?~rOZz{-D+@Qwy)7dsDE_zE4tJpznQQexmbNLU)2t4a# z;43*(@$6jngOnZDnCgrcCm)l~`uka%>G#D-wmoci?bp}exmlL(UTU$Q#o)nQYu^O+ z45su(|A(c~kMj3%USJYCTOk-#C;UU=+;-=g%U%`KaZb2zBiPn#w?VY6`Fo(g;u%fG zPb=?dKCmg^y1~;DVRe9iq0J$l&kWPKlk2oMBq?tBF*#A{$GN%h7j4QlzQ(?p`8E4( zoA?K+I@xYNnS)AmvAzQK5ntug%b zd{xGKZj9PV%3JR2vli!a{C9qCpJaX8wdmCU*&P4Q3vvRrJ`Y^yI75-KEWunNbZ0{z z|G!vCzE43{Cb{3#f6Ag+^7*dZnzbDa#@89Hf0t~owyoH(>HDv!LwP%&L~Um;4=-z7 zW;=~-hAd;A>ah>KEzR-`o^MWbAee`5JDY+cQ+>I7=6%l& zhs0wn9=(q>1!rvX?{s+Bk~0$uL<*@661>l@u(T$*#RZK}?u;bo}6QaAD(vo{`h85j;Yc9{WeZ1)9%_Q{Qp+oYwDoM zSZ65xYLo57zxBF|>t+