From d868414f5b198eca0c2646043327a47ed66752b7 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 9 Jan 2016 17:30:10 -0800 Subject: [PATCH] Sigils now don't do their effect when accessing blocks Should solve #557 --- .../bloodmagic/item/sigil/ItemSigilBloodLight.java | 4 +++- .../bloodmagic/item/sigil/ItemSigilGreenGrove.java | 2 +- .../WayofTime/bloodmagic/item/sigil/ItemSigilLava.java | 7 +++++-- .../bloodmagic/item/sigil/ItemSigilToggleable.java | 8 +++++--- .../WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java | 4 +++- .../WayofTime/bloodmagic/item/sigil/ItemSigilWater.java | 4 +++- 6 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java index 13077377..64790c9f 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java @@ -27,8 +27,10 @@ public class ItemSigilBloodLight extends ItemSigilBase } @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) { + super.onItemUse(stack, player, world, blockPos, side, hitX, hitY, hitZ); + if (world.isRemote) return false; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java index c6bad7d9..5f714bb7 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java @@ -18,7 +18,7 @@ public class ItemSigilGreenGrove extends ItemSigilToggleable } @Override - public boolean onSigilUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) + public boolean onSigilUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) { if (applyBonemeal(stack, world, blockPos)) { diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java index 9539b0c7..b1aa697b 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java @@ -10,6 +10,7 @@ import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; +import net.minecraftforge.event.ForgeEventFactory; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.IFluidHandler; @@ -30,7 +31,7 @@ public class ItemSigilLava extends ItemSigilBase if (movingobjectposition != null) { - ItemStack ret = net.minecraftforge.event.ForgeEventFactory.onBucketUse(player, world, stack, movingobjectposition); + ItemStack ret = ForgeEventFactory.onBucketUse(player, world, stack, movingobjectposition); if (ret != null) return ret; @@ -67,8 +68,10 @@ public class ItemSigilLava extends ItemSigilBase } @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) { + super.onItemUse(stack, player, world, blockPos, side, hitX, hitY, hitZ); + if (world.isRemote || !BindableHelper.checkAndSetItemOwner(stack, player) || player.isSneaking() || isUnusable(stack)) { return false; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilToggleable.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilToggleable.java index a17a8310..a5b54732 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilToggleable.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilToggleable.java @@ -50,15 +50,17 @@ public class ItemSigilToggleable extends ItemSigilBase } @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) { + super.onItemUse(stack, player, world, blockPos, side, hitX, hitY, hitZ); + if (BindableHelper.checkAndSetItemOwner(stack, player) && ItemBindable.syphonNetwork(stack, player, getLPUsed())) - return onSigilUseFirst(stack, player, world, blockPos, side, hitX, hitY, hitZ); + return onSigilUse(stack, player, world, blockPos, side, hitX, hitY, hitZ); return false; } - public boolean onSigilUseFirst(ItemStack itemStack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) + public boolean onSigilUse(ItemStack itemStack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) { return false; } diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java index 1db84e03..f031bc17 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java @@ -70,8 +70,10 @@ public class ItemSigilVoid extends ItemSigilBase } @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) { + super.onItemUse(stack, player, world, blockPos, side, hitX, hitY, hitZ); + if (world.isRemote || !BindableHelper.checkAndSetItemOwner(stack, player) || player.isSneaking() || isUnusable(stack)) { return false; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java index 8675fd0b..7cffd5bd 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java @@ -68,8 +68,10 @@ public class ItemSigilWater extends ItemSigilBase } @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) { + super.onItemUse(stack, player, world, blockPos, side, hitX, hitY, hitZ); + if (world.isRemote || !BindableHelper.checkAndSetItemOwner(stack, player) || player.isSneaking() || isUnusable(stack)) { return false;