diff --git a/src/main/java/WayofTime/bloodmagic/api/impl/ItemSigilToggleable.java b/src/main/java/WayofTime/bloodmagic/api/impl/ItemSigilToggleable.java index f635297d..a577b9f4 100644 --- a/src/main/java/WayofTime/bloodmagic/api/impl/ItemSigilToggleable.java +++ b/src/main/java/WayofTime/bloodmagic/api/impl/ItemSigilToggleable.java @@ -4,6 +4,7 @@ import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.iface.IActivatable; import WayofTime.bloodmagic.api.util.helper.NBTHelper; import WayofTime.bloodmagic.api.util.helper.NetworkHelper; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -46,6 +47,9 @@ public class ItemSigilToggleable extends ItemSigil implements IActivatable @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + if (!world.isRemote && !isUnusable(stack)) { if (player.isSneaking()) diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilAir.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilAir.java index ebe15e3c..7908a6b8 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilAir.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilAir.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.item.sigil; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.MobEffects; @@ -7,6 +8,7 @@ import net.minecraft.init.SoundEvents; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumHand; import net.minecraft.util.SoundCategory; import net.minecraft.util.math.Vec3d; @@ -26,6 +28,9 @@ public class ItemSigilAir extends ItemSigilBase implements ISentientSwordEffectP @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + boolean unusable = isUnusable(stack); if (world.isRemote && !unusable) { diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java index 977a0551..fcfe44dd 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBloodLight.java @@ -1,9 +1,11 @@ package WayofTime.bloodmagic.item.sigil; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.Entity; 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.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; @@ -31,6 +33,9 @@ public class ItemSigilBloodLight extends ItemSigilBase @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + RayTraceResult mop = this.rayTrace(world, player, false); if (getCooldownRemainder(stack) > 0) diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBounce.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBounce.java index 37492009..997f79f1 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBounce.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilBounce.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.item.sigil; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; @@ -16,6 +17,9 @@ public class ItemSigilBounce extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + player.addPotionEffect(new PotionEffect(ModPotions.bounce, 2, 0, true, false)); } } diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilClaw.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilClaw.java index 1314ff5a..e2778691 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilClaw.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilClaw.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.item.sigil; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; @@ -16,6 +17,9 @@ public class ItemSigilClaw extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + player.addPotionEffect(new PotionEffect(ModPotions.cling, 2, 0, true, false)); } } diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilCompression.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilCompression.java index 82b2dcc9..6cc0eeb8 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilCompression.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilCompression.java @@ -2,6 +2,7 @@ package WayofTime.bloodmagic.item.sigil; import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.api.compress.CompressionRegistry; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -20,6 +21,9 @@ public class ItemSigilCompression extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + ItemStack compressedStack = CompressionRegistry.compressInventory(player.inventory.mainInventory, world); if (compressedStack != null) diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java index 6a762069..5a4af378 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilDivination.java @@ -7,6 +7,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumHand; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.text.ITextComponent; @@ -46,6 +47,9 @@ public class ItemSigilDivination extends ItemSigilBase implements IAltarReader // world.spawnEntityInWorld(fred); // } + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + if (!world.isRemote) { super.onItemRightClick(stack, world, player, hand); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilElementalAffinity.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilElementalAffinity.java index bf77aa98..45d0f5bf 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilElementalAffinity.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilElementalAffinity.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.item.sigil; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.MobEffects; import net.minecraft.item.ItemStack; @@ -16,6 +17,9 @@ public class ItemSigilElementalAffinity extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + player.fallDistance = 0; player.extinguish(); player.addPotionEffect(new PotionEffect(MobEffects.FIRE_RESISTANCE, 2, 1, true, false)); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilEnderSeverance.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilEnderSeverance.java index d25503c9..20a869f2 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilEnderSeverance.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilEnderSeverance.java @@ -2,6 +2,7 @@ package WayofTime.bloodmagic.item.sigil; import java.util.List; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.player.EntityPlayer; @@ -21,6 +22,9 @@ public class ItemSigilEnderSeverance extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + List entityList = world.getEntitiesWithinAABB(Entity.class, new net.minecraft.util.math.AxisAlignedBB(player.posX - 4.5, player.posY - 4.5, player.posZ - 4.5, player.posX + 4.5, player.posY + 4.5, player.posZ + 4.5)); for (Entity entity : entityList) { diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFastMiner.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFastMiner.java index 831a331b..6b99eb6d 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFastMiner.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFastMiner.java @@ -3,6 +3,7 @@ package WayofTime.bloodmagic.item.sigil; import java.util.List; import WayofTime.bloodmagic.api.BloodMagicAPI; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.MobEffects; import net.minecraft.item.ItemStack; @@ -21,6 +22,8 @@ public class ItemSigilFastMiner extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; player.addPotionEffect(new PotionEffect(MobEffects.HASTE, 2, 0, true, false)); } diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFilledHand.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFilledHand.java index b8bfd6c1..3f99aa2c 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFilledHand.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFilledHand.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.item.sigil; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -15,6 +16,8 @@ public class ItemSigilFilledHand extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; GenericHandler.filledHandMap.put(player, 4); } } diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFrost.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFrost.java index 9aaeb7da..990b0040 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFrost.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilFrost.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.item.sigil; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.enchantment.EnchantmentFrostWalker; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -15,6 +16,9 @@ public class ItemSigilFrost extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + EnchantmentFrostWalker.freezeNearby(player, world, player.getPosition(), 1); } } diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java index e4b5a2f2..38631787 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilGreenGrove.java @@ -1,10 +1,13 @@ package WayofTime.bloodmagic.item.sigil; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.block.Block; 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; @@ -24,6 +27,9 @@ public class ItemSigilGreenGrove extends ItemSigilToggleableBase @Override public boolean onSigilUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) { + if (PlayerHelper.isFakePlayer(player)) + return false; + if (applyBonemeal(world, blockPos, player)) { if (!world.isRemote) @@ -39,6 +45,9 @@ public class ItemSigilGreenGrove extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World worldIn, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + int range = 3; int verticalRange = 2; int posX = (int) Math.round(player.posX - 0.5f); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHaste.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHaste.java index c828002a..3eaf082a 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHaste.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHaste.java @@ -1,6 +1,7 @@ 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; import net.minecraft.item.ItemStack; @@ -17,6 +18,9 @@ public class ItemSigilHaste extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + player.addPotionEffect(new PotionEffect(ModPotions.boost, 2, 0, true, false)); } } diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHolding.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHolding.java index 18c2c249..5214d64a 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHolding.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilHolding.java @@ -3,6 +3,7 @@ package WayofTime.bloodmagic.item.sigil; import java.util.Collections; import java.util.List; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import WayofTime.bloodmagic.client.key.KeyBindings; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -99,6 +100,9 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer playerIn, World worldIn, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { + if (PlayerHelper.isFakePlayer(playerIn)) + return EnumActionResult.FAIL; + int currentSlot = getCurrentItemOrdinal(stack); ItemStack[] inv = getInternalInventory(stack); @@ -119,6 +123,9 @@ public class ItemSigilHolding extends ItemSigilBase implements IKeybindable, IAl @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + int currentSlot = getCurrentItemOrdinal(stack); ItemStack[] inv = getInternalInventory(stack); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java index 0d70e333..51846c0f 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilLava.java @@ -1,6 +1,7 @@ package WayofTime.bloodmagic.item.sigil; import WayofTime.bloodmagic.api.util.helper.NetworkHelper; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -29,6 +30,9 @@ public class ItemSigilLava extends ItemSigilBase @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + if (!world.isRemote && !isUnusable(stack)) { RayTraceResult rayTrace = this.rayTrace(world, player, false); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilMagnetism.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilMagnetism.java index 9f62f752..5ab19bc1 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilMagnetism.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilMagnetism.java @@ -2,6 +2,7 @@ package WayofTime.bloodmagic.item.sigil; import java.util.List; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityXPOrb; import net.minecraft.entity.player.EntityPlayer; @@ -19,6 +20,9 @@ public class ItemSigilMagnetism extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + int range = 5; int verticalRange = 5; float posX = Math.round(player.posX); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilPhantomBridge.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilPhantomBridge.java index 8a8846a0..70ec5abe 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilPhantomBridge.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilPhantomBridge.java @@ -3,8 +3,11 @@ package WayofTime.bloodmagic.item.sigil; import java.util.HashMap; import java.util.Map; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; 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.math.BlockPos; import net.minecraft.world.World; @@ -26,6 +29,9 @@ public class ItemSigilPhantomBridge extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + if (!prevPositionMap.containsKey(player)) { prevPositionMap.put(player, Pair.of(player.posX, player.posZ)); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java index 6c09f727..818a440b 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSeer.java @@ -9,6 +9,7 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumHand; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.text.ITextComponent; @@ -32,6 +33,9 @@ public class ItemSigilSeer extends ItemSigilBase implements IAltarReader @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + if (!world.isRemote) { super.onItemRightClick(stack, world, player, hand); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSuppression.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSuppression.java index 3810f596..af684fe6 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSuppression.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilSuppression.java @@ -1,10 +1,13 @@ package WayofTime.bloodmagic.item.sigil; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import WayofTime.bloodmagic.api.Constants; @@ -22,6 +25,9 @@ public class ItemSigilSuppression extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + int x = (int) player.posX; int y = (int) player.posY; int z = (int) player.posZ; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTeleposition.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTeleposition.java index 825ea25f..a01999e3 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTeleposition.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTeleposition.java @@ -2,6 +2,7 @@ package WayofTime.bloodmagic.item.sigil; import java.util.List; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -48,6 +49,9 @@ public class ItemSigilTeleposition extends ItemSigilBase @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + if (!world.isRemote && NBTHelper.checkNBT(stack) != null && stack.getTagCompound().hasKey(Constants.NBT.DIMENSION_ID) && stack.getTagCompound().hasKey(Constants.NBT.X_COORD) && stack.getTagCompound().hasKey(Constants.NBT.Y_COORD) && stack.getTagCompound().hasKey(Constants.NBT.Z_COORD)) { BlockPos blockPos = new BlockPos(getValue(stack.getTagCompound(), Constants.NBT.X_COORD), getValue(stack.getTagCompound(), Constants.NBT.Y_COORD), getValue(stack.getTagCompound(), Constants.NBT.Z_COORD)).up(); @@ -65,6 +69,9 @@ public class ItemSigilTeleposition extends ItemSigilBase @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { + if (PlayerHelper.isFakePlayer(player)) + return EnumActionResult.FAIL; + if (!world.isRemote && player.isSneaking() && NBTHelper.checkNBT(stack) != null) { if (world.getTileEntity(pos) != null && world.getTileEntity(pos) instanceof TileTeleposer) diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTransposition.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTransposition.java index 3db64229..04ae9a4b 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTransposition.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilTransposition.java @@ -2,16 +2,14 @@ package WayofTime.bloodmagic.item.sigil; import java.util.List; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntityMobSpawner; -import net.minecraft.util.EnumActionResult; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.EnumHand; -import net.minecraft.util.ResourceLocation; +import net.minecraft.util.*; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.ForgeRegistries; @@ -70,6 +68,9 @@ public class ItemSigilTransposition extends ItemSigilBase @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { + if (PlayerHelper.isFakePlayer(player)) + return EnumActionResult.FAIL; + stack = NBTHelper.checkNBT(stack); IBlockState state = world.getBlockState(blockPos); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java index 5ef7f1ce..80d18508 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilVoid.java @@ -1,6 +1,7 @@ package WayofTime.bloodmagic.item.sigil; import WayofTime.bloodmagic.api.util.helper.NetworkHelper; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; @@ -27,6 +28,9 @@ public class ItemSigilVoid extends ItemSigilBase @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + if (!world.isRemote && !isUnusable(stack)) { RayTraceResult rayTrace = this.rayTrace(world, player, true); @@ -77,6 +81,9 @@ public class ItemSigilVoid extends ItemSigilBase @Override public EnumActionResult onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) { + if (PlayerHelper.isFakePlayer(player)) + return EnumActionResult.FAIL; + if (world.isRemote || player.isSneaking() || isUnusable(stack)) { return EnumActionResult.FAIL; diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java index 826f2128..9a0bb270 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWater.java @@ -1,6 +1,7 @@ package WayofTime.bloodmagic.item.sigil; import WayofTime.bloodmagic.api.util.helper.NetworkHelper; +import WayofTime.bloodmagic.api.util.helper.PlayerHelper; import net.minecraft.block.BlockCauldron; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -32,6 +33,9 @@ public class ItemSigilWater extends ItemSigilBase @Override public ActionResult onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { + if (PlayerHelper.isFakePlayer(player)) + return ActionResult.newResult(EnumActionResult.FAIL, stack); + if (!world.isRemote && !isUnusable(stack)) { RayTraceResult rayTrace = this.rayTrace(world, player, false); diff --git a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWhirlwind.java b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWhirlwind.java index beb95bce..ea2b230b 100644 --- a/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWhirlwind.java +++ b/src/main/java/WayofTime/bloodmagic/item/sigil/ItemSigilWhirlwind.java @@ -1,10 +1,13 @@ 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; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.ActionResult; +import net.minecraft.util.EnumActionResult; import net.minecraft.world.World; public class ItemSigilWhirlwind extends ItemSigilToggleableBase @@ -17,6 +20,9 @@ public class ItemSigilWhirlwind extends ItemSigilToggleableBase @Override public void onSigilUpdate(ItemStack stack, World world, EntityPlayer player, int itemSlot, boolean isSelected) { + if (PlayerHelper.isFakePlayer(player)) + return; + player.addPotionEffect(new PotionEffect(ModPotions.whirlwind, 2, 0, true, false)); } }