From c46ed3e648321d9673c9df53ddc29a8c2f5b333a Mon Sep 17 00:00:00 2001 From: Nicholas Ignoffo Date: Mon, 19 Dec 2016 17:32:03 -0800 Subject: [PATCH] Sigils should draw LP from the bound network, not the user (cherry picked from commit 082d2b8) --- .../WayofTime/bloodmagic/api/impl/ItemSigilToggleable.java | 4 ++-- .../WayofTime/bloodmagic/api/util/helper/NetworkHelper.java | 2 ++ .../WayofTime/bloodmagic/command/sub/SubCommandNetwork.java | 2 +- .../java/WayofTime/bloodmagic/item/sigil/ItemSigilAir.java | 2 +- .../java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java | 1 - .../WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java | 4 ++-- .../bloodmagic/item/sigil/ItemSigilEnderSeverance.java | 1 - .../WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java | 2 -- .../java/WayofTime/bloodmagic/item/sigil/ItemSigilHaste.java | 1 - .../java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java | 4 ++-- .../java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java | 1 - .../bloodmagic/item/sigil/ItemSigilTransposition.java | 2 +- .../java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java | 4 ++-- .../java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java | 2 +- 14 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/main/java/WayofTime/bloodmagic/api/impl/ItemSigilToggleable.java b/src/main/java/WayofTime/bloodmagic/api/impl/ItemSigilToggleable.java index 7cf2393a..42352fbf 100644 --- a/src/main/java/WayofTime/bloodmagic/api/impl/ItemSigilToggleable.java +++ b/src/main/java/WayofTime/bloodmagic/api/impl/ItemSigilToggleable.java @@ -65,7 +65,7 @@ public class ItemSigilToggleable extends ItemSigil implements IActivatable @Override public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { - return (NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed()) && onSigilUse(player.getHeldItem(hand), player, world, pos, side, hitX, hitY, hitZ)) ? EnumActionResult.SUCCESS : EnumActionResult.FAIL; + return (NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, getLpUsed()) && onSigilUse(player.getHeldItem(hand), player, world, pos, side, hitX, hitY, hitZ)) ? EnumActionResult.SUCCESS : EnumActionResult.FAIL; } public boolean onSigilUse(ItemStack itemStack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) @@ -80,7 +80,7 @@ public class ItemSigilToggleable extends ItemSigil implements IActivatable { if (entityIn.ticksExisted % 100 == 0) { - if (!NetworkHelper.getSoulNetwork((EntityPlayerMP) entityIn).syphonAndDamage((EntityPlayer) entityIn, getLpUsed())) + if (!NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage((EntityPlayer) entityIn, getLpUsed())) { setActivatedState(stack, false); } diff --git a/src/main/java/WayofTime/bloodmagic/api/util/helper/NetworkHelper.java b/src/main/java/WayofTime/bloodmagic/api/util/helper/NetworkHelper.java index 8a8540b5..d2841ae3 100644 --- a/src/main/java/WayofTime/bloodmagic/api/util/helper/NetworkHelper.java +++ b/src/main/java/WayofTime/bloodmagic/api/util/helper/NetworkHelper.java @@ -110,7 +110,9 @@ public class NetworkHelper * - Amount of LP to syphon * * @return - Whether the action should be performed. + * @deprecated Use {@link #getSoulNetwork(EntityPlayer)} and {@link SoulNetwork#syphonAndDamage(EntityPlayer, int)} */ + @Deprecated public static boolean syphonAndDamage(SoulNetwork soulNetwork, EntityPlayer user, int toSyphon) { diff --git a/src/main/java/WayofTime/bloodmagic/command/sub/SubCommandNetwork.java b/src/main/java/WayofTime/bloodmagic/command/sub/SubCommandNetwork.java index 1e47012f..f54f501d 100644 --- a/src/main/java/WayofTime/bloodmagic/command/sub/SubCommandNetwork.java +++ b/src/main/java/WayofTime/bloodmagic/command/sub/SubCommandNetwork.java @@ -73,7 +73,7 @@ public class SubCommandNetwork extends CommandBase if (Utils.isInteger(args[2])) { int amount = Integer.parseInt(args[2]); - NetworkHelper.syphonAndDamage(NetworkHelper.getSoulNetwork(player), player, amount); + NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, amount); CommandBloodMagic.displaySuccessString(sender, "commands.network.syphon.success", amount, player.getDisplayName().getFormattedText()); } else { diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilAir.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilAir.java index bf95f42a..86f794ee 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilAir.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilAir.java @@ -54,7 +54,7 @@ public class ItemSigilAir extends ItemSigilBase implements ISentientSwordEffectP if (!world.isRemote) { if (!player.capabilities.isCreativeMode) - this.setUnusable(stack, !NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed())); + this.setUnusable(stack, !NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, getLpUsed())); if (!unusable) player.fallDistance = 0; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java index d7118cda..9cff0cd1 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBase.java @@ -6,7 +6,6 @@ import java.util.List; import WayofTime.bloodmagic.BloodMagic; import WayofTime.bloodmagic.api.impl.ItemSigil; -import WayofTime.bloodmagic.api.util.helper.NBTHelper; import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import com.google.common.base.Strings; import lombok.Getter; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java index 42ddb560..aaf30f0c 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java @@ -50,7 +50,7 @@ public class ItemSigilBloodLight extends ItemSigilBase { world.setBlockState(blockPos, ModBlocks.BLOOD_LIGHT.getDefaultState()); if (!world.isRemote) - NetworkHelper.syphonAndDamage(NetworkHelper.getSoulNetwork(player), player, getLpUsed()); + NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, getLpUsed()); resetCooldown(stack); player.swingArm(hand); return super.onItemRightClick(world, player, hand); @@ -60,7 +60,7 @@ public class ItemSigilBloodLight extends ItemSigilBase if (!world.isRemote) { world.spawnEntity(new EntityBloodLight(world, player)); - NetworkHelper.syphonAndDamage(NetworkHelper.getSoulNetwork(player), player, getLpUsed()); + NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, getLpUsed()); } resetCooldown(stack); } diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilEnderSeverance.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilEnderSeverance.java index 20a869f2..cad5d7f9 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilEnderSeverance.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilEnderSeverance.java @@ -9,7 +9,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; -import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.registry.ModPotions; public class ItemSigilEnderSeverance extends ItemSigilToggleableBase diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java index 38631787..a42dd360 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java @@ -6,8 +6,6 @@ import net.minecraft.block.IGrowable; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.util.ActionResult; -import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHaste.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHaste.java index 3eaf082a..4ad3fb96 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHaste.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHaste.java @@ -1,6 +1,5 @@ package WayofTime.bloodmagic.item.sigil; -import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import WayofTime.bloodmagic.registry.ModPotions; import net.minecraft.entity.player.EntityPlayer; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java index c362e1cc..ce9eac0d 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java @@ -65,7 +65,7 @@ public class ItemSigilLava extends ItemSigilBase return super.onItemRightClick(world, player, hand); } - if (this.canPlaceLava(world, blockpos1) && NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed()) && this.tryPlaceLava(world, blockpos1)) + if (this.canPlaceLava(world, blockpos1) && NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, getLpUsed()) && this.tryPlaceLava(world, blockpos1)) { return super.onItemRightClick(world, player, hand); } @@ -96,7 +96,7 @@ public class ItemSigilLava extends ItemSigilBase FluidStack fluid = new FluidStack(FluidRegistry.LAVA, 1000); int amount = handler.fill(fluid, false); - if (amount > 0 && NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed())) + if (amount > 0 && NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, getLpUsed())) { handler.fill(fluid, true); return EnumActionResult.SUCCESS; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java index e5d97e22..d8b4e4c3 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java @@ -15,7 +15,6 @@ import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.world.World; -import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.altar.IBloodAltar; import WayofTime.bloodmagic.api.iface.IAltarReader; import WayofTime.bloodmagic.api.util.helper.NetworkHelper; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTransposition.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTransposition.java index c9a65ccf..7d226a48 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTransposition.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTransposition.java @@ -106,7 +106,7 @@ public class ItemSigilTransposition extends ItemSigilBase stack.getTagCompound().setByte(Constants.NBT.CONTAINED_BLOCK_META, metadata); stack.getTagCompound().setTag(Constants.NBT.CONTAINED_TILE_ENTITY, tileNBTTag); - NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, cost); + NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, cost); world.removeTileEntity(blockPos); world.setBlockToAir(blockPos); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java index 749bcff2..9d8db890 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java @@ -102,7 +102,7 @@ public class ItemSigilVoid extends ItemSigilBase IFluidHandler handler = tile.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side); FluidStack amount = handler.drain(1000, false); - if (amount != null && amount.amount > 0 && NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed())) + if (amount != null && amount.amount > 0 && NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, getLpUsed())) { handler.drain(1000, true); return EnumActionResult.SUCCESS; @@ -118,7 +118,7 @@ public class ItemSigilVoid extends ItemSigilBase return EnumActionResult.FAIL; } - if (world.getBlockState(newPos).getBlock() instanceof IFluidBlock && NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed())) + if (world.getBlockState(newPos).getBlock() instanceof IFluidBlock && NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, getLpUsed())) { world.setBlockToAir(newPos); return EnumActionResult.SUCCESS; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java index 9e93f578..c125b03e 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java @@ -62,7 +62,7 @@ public class ItemSigilWater extends ItemSigilBase if (!player.canPlayerEdit(blockpos1, rayTrace.sideHit, stack)) return super.onItemRightClick(world, player, hand); - if (this.canPlaceWater(world, blockpos1) && NetworkHelper.getSoulNetwork(player).syphonAndDamage(player, getLpUsed()) && this.tryPlaceWater(world, blockpos1)) + if (this.canPlaceWater(world, blockpos1) && NetworkHelper.getSoulNetwork(getOwnerUUID(stack)).syphonAndDamage(player, getLpUsed()) && this.tryPlaceWater(world, blockpos1)) return super.onItemRightClick(world, player, hand); } }