diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundAxe.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundAxe.java index 1596f879..fda42289 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundAxe.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundAxe.java @@ -37,17 +37,22 @@ public class ItemBoundAxe extends ItemBoundTool @Override protected void onBoundRelease(ItemStack stack, World world, EntityPlayer player, int charge) { + if (world.isRemote) + { + return; + } + boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(player); int fortuneLvl = EnchantmentHelper.getFortuneModifier(player); - int range = (int) (charge * 0.25); + int range = (int) (charge / 6); //Charge is a max of 30 - want 5 to be the max HashMultiset drops = HashMultiset.create(); - BlockPos playerPos = player.getPosition().add(0, -1, 0); + BlockPos playerPos = player.getPosition(); for (int i = -range; i <= range; i++) { - for (int j = -range; j <= range; j++) + for (int j = 0; j <= 2 * range; j++) { for (int k = -range; k <= range; k++) { @@ -79,7 +84,9 @@ public class ItemBoundAxe extends ItemBoundTool } } - world.createExplosion(player, playerPos.getX(), playerPos.getY(), playerPos.getZ(), 0.5F, false); + ItemBindable.syphonNetwork(stack, player, (int) (charge * charge * charge / 2.7)); + + world.createExplosion(player, playerPos.getX(), playerPos.getY(), playerPos.getZ(), 0.1F, false); dropStacks(drops, world, playerPos.add(0, 1, 0)); } diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundPickaxe.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundPickaxe.java index 816dc640..3bdea9c8 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundPickaxe.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundPickaxe.java @@ -1,24 +1,23 @@ package WayofTime.bloodmagic.item; -import WayofTime.bloodmagic.api.ItemStackWrapper; -import com.google.common.collect.HashMultiset; -import com.google.common.collect.Multimap; -import com.google.common.collect.Multiset; -import com.google.common.collect.Sets; +import java.util.List; +import java.util.Set; + import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.BlockPos; import net.minecraft.world.World; +import WayofTime.bloodmagic.api.ItemStackWrapper; -import java.util.List; -import java.util.Set; +import com.google.common.collect.HashMultiset; +import com.google.common.collect.Multimap; +import com.google.common.collect.Sets; public class ItemBoundPickaxe extends ItemBoundTool { @@ -44,17 +43,22 @@ public class ItemBoundPickaxe extends ItemBoundTool @Override protected void onBoundRelease(ItemStack stack, World world, EntityPlayer player, int charge) { + if (world.isRemote) + { + return; + } + boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(player); int fortuneLvl = EnchantmentHelper.getFortuneModifier(player); - int range = (int) (charge * 0.25); + int range = (int) (charge / 6); //Charge is a max of 30 - want 5 to be the max HashMultiset drops = HashMultiset.create(); - BlockPos playerPos = player.getPosition().add(0, -1, 0); + BlockPos playerPos = player.getPosition(); for (int i = -range; i <= range; i++) { - for (int j = -range; j <= range; j++) + for (int j = 0; j <= 2 * range; j++) { for (int k = -range; k <= range; k++) { @@ -86,6 +90,8 @@ public class ItemBoundPickaxe extends ItemBoundTool } } + ItemBindable.syphonNetwork(stack, player, (int) (charge * charge * charge / 2.7)); + world.createExplosion(player, playerPos.getX(), playerPos.getY(), playerPos.getZ(), 0.5F, false); dropStacks(drops, world, playerPos.add(0, 1, 0)); } diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundShovel.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundShovel.java index 1aa87d5a..76e038fc 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundShovel.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundShovel.java @@ -1,9 +1,11 @@ package WayofTime.bloodmagic.item; import WayofTime.bloodmagic.api.ItemStackWrapper; + import com.google.common.collect.HashMultiset; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; + import net.minecraft.block.Block; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.SharedMonsterAttributes; @@ -35,17 +37,22 @@ public class ItemBoundShovel extends ItemBoundTool @Override protected void onBoundRelease(ItemStack stack, World world, EntityPlayer player, int charge) { + if (world.isRemote) + { + return; + } + boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(player); int fortuneLvl = EnchantmentHelper.getFortuneModifier(player); - int range = (int) (charge * 0.25); + int range = (int) (charge / 6); //Charge is a max of 30 - want 5 to be the max HashMultiset drops = HashMultiset.create(); - BlockPos playerPos = player.getPosition().add(0, -1, 0); + BlockPos playerPos = player.getPosition(); for (int i = -range; i <= range; i++) { - for (int j = -range; j <= range; j++) + for (int j = 0; j <= 2 * range; j++) { for (int k = -range; k <= range; k++) { @@ -77,6 +84,8 @@ public class ItemBoundShovel extends ItemBoundTool } } + ItemBindable.syphonNetwork(stack, player, (int) (charge * charge * charge / 2.7)); + world.createExplosion(player, playerPos.getX(), playerPos.getY(), playerPos.getZ(), 0.5F, false); dropStacks(drops, world, playerPos.add(0, 1, 0)); } diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java b/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java index 8bfb8b0e..06cea6cc 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemBoundSword.java @@ -7,7 +7,9 @@ import WayofTime.bloodmagic.api.util.helper.BindableHelper; import WayofTime.bloodmagic.api.util.helper.NBTHelper; import WayofTime.bloodmagic.registry.ModItems; import WayofTime.bloodmagic.util.helper.TextHelper; + import com.google.common.base.Strings; + import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -55,6 +57,9 @@ public class ItemBoundSword extends ItemSword // TODO Make conical charge blast Explosion explosion = new Explosion(worldIn, playerIn, playerIn.posX, playerIn.posY, playerIn.posZ, (float) (i * 0.5), true, true); + + ItemBindable.syphonNetwork(stack, playerIn, (int) (i * i * i / 2.7)); + if (net.minecraftforge.event.ForgeEventFactory.onExplosionStart(worldIn, explosion)) return; explosion.doExplosionA();