Improved Bound tools. Made them actually use LP!
This commit is contained in:
parent
ae14eac769
commit
dc0925c5a6
|
@ -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<ItemStackWrapper> 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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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<ItemStackWrapper> 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));
|
||||
}
|
||||
|
|
|
@ -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<ItemStackWrapper> 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));
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue