From 6ad0d3b7027d86423a4b46de5237d88f33f98266 Mon Sep 17 00:00:00 2001 From: WayofTime Date: Sat, 15 Nov 2014 16:17:51 -0500 Subject: [PATCH] Changed a few things. Waiting for xcomp to help fix my work environment --- build.gradle | 1 + build.properties | 6 +-- .../AlchemicalWizardry.java | 3 +- .../api/altarRecipeRegistry/AltarRecipe.java | 2 +- .../api/items/IAltarManipulator.java | 6 +++ .../common/block/BlockAltar.java | 25 +++++++----- .../common/block/BlockTeleposer.java | 23 +++++++---- .../items/thaumcraft/ItemBloodLetterPack.java | 40 ++++++++++++++----- .../spell/complex/effect/SpellHelper.java | 2 +- .../assets/alchemicalwizardry/lang/en_US.lang | 1 + 10 files changed, 75 insertions(+), 34 deletions(-) create mode 100644 src/main/java/WayofTime/alchemicalWizardry/api/items/IAltarManipulator.java diff --git a/build.gradle b/build.gradle index 66dc3edc..856dfc83 100644 --- a/build.gradle +++ b/build.gradle @@ -47,6 +47,7 @@ repositories { } dependencies { + compile "codechicken:CodeChickenLib:1.7.10-1.1.1.99:dev" compile "codechicken:CodeChickenCore:" + config.mc_version + "-" + config.ccc_version + ":dev" compile "codechicken:NotEnoughItems:" + config.mc_version + "-" + config.nei_version + ":dev" compile name: 'MineTweaker3', version: config.minetweaker_version, ext: 'jar' diff --git a/build.properties b/build.properties index 8a40e51d..6147e4e9 100644 --- a/build.properties +++ b/build.properties @@ -1,12 +1,12 @@ # -#Tue Nov 11 17:52:50 EST 2014 +#Fri Nov 14 20:13:59 EST 2014 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.2.0 +mod_version=1.2.1-Beta minetweaker_version=Dev-1.7.10-3.0.9B +build_number=2 mc_version=1.7.10 -build_number=3 diff --git a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java index e4300cc6..5325ea82 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java +++ b/src/main/java/WayofTime/alchemicalWizardry/AlchemicalWizardry.java @@ -155,7 +155,7 @@ import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.2.0b (Beta1)", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory") +@Mod(modid = "AWWayofTime", name = "AlchemicalWizardry", version = "v1.2.1", guiFactory = "WayofTime.alchemicalWizardry.client.gui.ConfigGuiFactory") public class AlchemicalWizardry { @@ -557,6 +557,7 @@ public class AlchemicalWizardry GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.energyBazooka), "Ocd", "cb ", "d w", 'O', archmageBloodOrbStack, 'c', crepitousStack, 'b', new ItemStack(ModItems.energyBlaster), 'd', diamondStack, 'w', new ItemStack(ModItems.weakBloodShard))); GameRegistry.addRecipe(new ShapedBloodOrbRecipe(new ItemStack(ModItems.itemBloodLightSigil), "btb", "sss", "bob", 'o', magicianBloodOrbStack, 'b', glowstoneBlockStack, 't', new ItemStack(Blocks.torch), 's', imbuedSlateStack)); GameRegistry.addRecipe(new ItemStack(ModItems.itemKeyOfDiablo), " gw", "gdg", "wg ", 'w', weakBloodShardStack, 'g', goldIngotStack, 'd', diamondStack); + GameRegistry.addRecipe(new ItemStack(ModItems.itemBloodPack), "gbg","flf","gsg",'s', blankSlateStack,'g', glassStack,'f',new ItemStack(Items.flint,1,craftingConstant),'b', emptyBucketStack, 'l', new ItemStack(Items.leather_chestplate)); customPotionDrowning = (new PotionDrowning(customPotionDrowningID, true, 0)).setIconIndex(0, 0).setPotionName("Drowning"); customPotionBoost = (new PotionBoost(customPotionBoostID, false, 0)).setIconIndex(0, 0).setPotionName("Boost"); customPotionProjProt = (new PotionProjectileProtect(customPotionProjProtID, false, 0)).setIconIndex(0, 0).setPotionName("Whirlwind"); diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipe.java b/src/main/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipe.java index 40e6bf01..64a31a75 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipe.java +++ b/src/main/java/WayofTime/alchemicalWizardry/api/altarRecipeRegistry/AltarRecipe.java @@ -52,7 +52,7 @@ public class AltarRecipe return false; } - return tierCheck >= minTier && this.requiredItem.isItemEqual(comparedStack) && this.useTag ? this.areRequiredTagsEqual(comparedStack) : true; + return tierCheck >= minTier && this.requiredItem.isItemEqual(comparedStack) && (this.useTag ? this.areRequiredTagsEqual(comparedStack) : true); } public boolean areRequiredTagsEqual(ItemStack comparedStack) diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/items/IAltarManipulator.java b/src/main/java/WayofTime/alchemicalWizardry/api/items/IAltarManipulator.java new file mode 100644 index 00000000..b84f95cc --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/items/IAltarManipulator.java @@ -0,0 +1,6 @@ +package WayofTime.alchemicalWizardry.api.items; + +public interface IAltarManipulator +{ + +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java index f4350a89..bee87961 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockAltar.java @@ -1,12 +1,7 @@ package WayofTime.alchemicalWizardry.common.block; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.ModItems; -import WayofTime.alchemicalWizardry.common.items.EnergyBattery; -import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; -import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; + import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -19,8 +14,14 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; - -import java.util.Random; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.ModItems; +import WayofTime.alchemicalWizardry.api.items.IAltarManipulator; +import WayofTime.alchemicalWizardry.common.items.EnergyBattery; +import WayofTime.alchemicalWizardry.common.items.sigil.SigilOfHolding; +import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class BlockAltar extends BlockContainer { @@ -131,7 +132,11 @@ public class BlockAltar extends BlockContainer } return true; - } else if (playerItem.getItem().equals(ModItems.sigilOfHolding)) + }else if(playerItem.getItem() instanceof IAltarManipulator) + { + return false; + } + else if (playerItem.getItem().equals(ModItems.sigilOfHolding)) { ItemStack item = ((SigilOfHolding) playerItem.getItem()).getCurrentItem(playerItem); diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java index 7ea3448e..60227e54 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java @@ -1,10 +1,8 @@ package WayofTime.alchemicalWizardry.common.block; -import WayofTime.alchemicalWizardry.AlchemicalWizardry; -import WayofTime.alchemicalWizardry.common.items.TelepositionFocus; -import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; +import java.util.Random; + +import codechicken.multipart.TileMultipart; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockMobSpawner; @@ -19,8 +17,12 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; - -import java.util.Random; +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; +import WayofTime.alchemicalWizardry.common.items.TelepositionFocus; +import WayofTime.alchemicalWizardry.common.tileEntity.TETeleposer; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class BlockTeleposer extends BlockContainer { @@ -77,6 +79,8 @@ public class BlockTeleposer extends BlockContainer { if (playerItem.getItem() instanceof TelepositionFocus) { + SoulNetworkHandler.checkAndSetItemOwner(playerItem, player); + if (playerItem.stackTagCompound == null) { playerItem.setTagCompound(new NBTTagCompound()); @@ -173,6 +177,11 @@ public class BlockTeleposer extends BlockContainer { return false; } + + if(tileEntityF instanceof TileMultipart) + { + ((TileMultipart)tileEntityF).createAndLoadEntity(nbttag1); + } if (blockI instanceof BlockMobSpawner || blockF instanceof BlockMobSpawner) { diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemBloodLetterPack.java b/src/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemBloodLetterPack.java index fb087c14..a9ae6df3 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemBloodLetterPack.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/items/thaumcraft/ItemBloodLetterPack.java @@ -13,21 +13,21 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import WayofTime.alchemicalWizardry.api.items.IAltarManipulator; import WayofTime.alchemicalWizardry.api.items.interfaces.ArmourUpgrade; +import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler; import WayofTime.alchemicalWizardry.common.tileEntity.TEAltar; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -public class ItemBloodLetterPack extends ItemArmor implements ArmourUpgrade +public class ItemBloodLetterPack extends ItemArmor implements ArmourUpgrade, IAltarManipulator { - private static IIcon helmetIcon; private static IIcon plateIcon; - private static IIcon leggingsIcon; - private static IIcon bootsIcon; public static int conversionRate = 100; //LP / half heart public static float activationPoint = 0.5f; public static int tickRate = 20; + public static int maxStored = 10000; public ItemBloodLetterPack() { @@ -39,17 +39,13 @@ public class ItemBloodLetterPack extends ItemArmor implements ArmourUpgrade @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { - this.itemIcon = iconRegister.registerIcon("AlchemicalWizardry:SheathedItem"); - this.helmetIcon = iconRegister.registerIcon("AlchemicalWizardry:SanguineHelmet"); this.plateIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundPlate"); - this.leggingsIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundLeggings"); - this.bootsIcon = iconRegister.registerIcon("AlchemicalWizardry:BoundBoots"); } @Override public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { - par3List.add("Crystal of unimaginable power"); + par3List.add("This pack really chaffes..."); if (!(par1ItemStack.stackTagCompound == null)) { @@ -62,7 +58,7 @@ public class ItemBloodLetterPack extends ItemArmor implements ArmourUpgrade @SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int par1) { - return this.itemIcon; + return this.plateIcon; } @Override @@ -109,6 +105,8 @@ public class ItemBloodLetterPack extends ItemArmor implements ArmourUpgrade int filledAmount = altar.fillMainTank(amount); amount -= filledAmount; this.setStoredLP(itemStack, amount); + + world.markBlockForUpdate(x, y, z); } } } @@ -140,11 +138,31 @@ public class ItemBloodLetterPack extends ItemArmor implements ArmourUpgrade return tag.getInteger("storedLP"); } + + @Override + public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) + { + //This is where I need to do the updating + if(world.isRemote) + { + return; + } + + if(world.getWorldTime() % tickRate == 0) + { + boolean shouldExecute = player.getHealth() / player.getMaxHealth() > activationPoint && this.getStoredLP(itemStack) < maxStored; + + if(shouldExecute) + { + SoulNetworkHandler.hurtPlayer(player, 1.0f); + this.setStoredLP(itemStack, Math.min(this.getStoredLP(itemStack) + conversionRate, maxStored)); + } + } + } @Override public void onArmourUpdate(World world, EntityPlayer player, ItemStack thisItemStack) { - //This is where I need to do the updating return; } 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 e994b7b8..952747e3 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 @@ -272,7 +272,7 @@ public class SpellHelper return false; } - if (player instanceof FakePlayer || SpellHelper.getUsername(player).contains("[CoFH]")) + if (player instanceof FakePlayer || SpellHelper.getUsername(player).contains("[CoFH]") || SpellHelper.getUsername(player).contains("[ThaumcraftTablet]")) { return true; } diff --git a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang index 4055c0bd..1cfae642 100644 --- a/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang +++ b/src/main/resources/assets/alchemicalwizardry/lang/en_US.lang @@ -185,6 +185,7 @@ item.itemTankSegmenter.name=Alchemic Segmenter item.destinationClearer.name=Alchemic Cleanser item.demonPlacer.name=Demon Crystal item.creativeDagger.name=Creative Sacrificial Knife +item.itemBloodPack.name=Blood Letter's Pack #Creative Tab itemGroup.tabBloodMagic=Blood Magic