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
|
@Override
|
||||||
protected void onBoundRelease(ItemStack stack, World world, EntityPlayer player, int charge)
|
protected void onBoundRelease(ItemStack stack, World world, EntityPlayer player, int charge)
|
||||||
{
|
{
|
||||||
|
if (world.isRemote)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(player);
|
boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(player);
|
||||||
int fortuneLvl = EnchantmentHelper.getFortuneModifier(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();
|
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 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++)
|
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));
|
dropStacks(drops, world, playerPos.add(0, 1, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,23 @@
|
||||||
package WayofTime.bloodmagic.item;
|
package WayofTime.bloodmagic.item;
|
||||||
|
|
||||||
import WayofTime.bloodmagic.api.ItemStackWrapper;
|
import java.util.List;
|
||||||
import com.google.common.collect.HashMultiset;
|
import java.util.Set;
|
||||||
import com.google.common.collect.Multimap;
|
|
||||||
import com.google.common.collect.Multiset;
|
|
||||||
import com.google.common.collect.Sets;
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.enchantment.EnchantmentHelper;
|
import net.minecraft.enchantment.EnchantmentHelper;
|
||||||
import net.minecraft.entity.SharedMonsterAttributes;
|
import net.minecraft.entity.SharedMonsterAttributes;
|
||||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||||
import net.minecraft.entity.item.EntityItem;
|
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.util.BlockPos;
|
import net.minecraft.util.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import WayofTime.bloodmagic.api.ItemStackWrapper;
|
||||||
|
|
||||||
import java.util.List;
|
import com.google.common.collect.HashMultiset;
|
||||||
import java.util.Set;
|
import com.google.common.collect.Multimap;
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
public class ItemBoundPickaxe extends ItemBoundTool
|
public class ItemBoundPickaxe extends ItemBoundTool
|
||||||
{
|
{
|
||||||
|
@ -44,17 +43,22 @@ public class ItemBoundPickaxe extends ItemBoundTool
|
||||||
@Override
|
@Override
|
||||||
protected void onBoundRelease(ItemStack stack, World world, EntityPlayer player, int charge)
|
protected void onBoundRelease(ItemStack stack, World world, EntityPlayer player, int charge)
|
||||||
{
|
{
|
||||||
|
if (world.isRemote)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(player);
|
boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(player);
|
||||||
int fortuneLvl = EnchantmentHelper.getFortuneModifier(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();
|
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 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++)
|
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);
|
world.createExplosion(player, playerPos.getX(), playerPos.getY(), playerPos.getZ(), 0.5F, false);
|
||||||
dropStacks(drops, world, playerPos.add(0, 1, 0));
|
dropStacks(drops, world, playerPos.add(0, 1, 0));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
package WayofTime.bloodmagic.item;
|
package WayofTime.bloodmagic.item;
|
||||||
|
|
||||||
import WayofTime.bloodmagic.api.ItemStackWrapper;
|
import WayofTime.bloodmagic.api.ItemStackWrapper;
|
||||||
|
|
||||||
import com.google.common.collect.HashMultiset;
|
import com.google.common.collect.HashMultiset;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.enchantment.EnchantmentHelper;
|
import net.minecraft.enchantment.EnchantmentHelper;
|
||||||
import net.minecraft.entity.SharedMonsterAttributes;
|
import net.minecraft.entity.SharedMonsterAttributes;
|
||||||
|
@ -35,17 +37,22 @@ public class ItemBoundShovel extends ItemBoundTool
|
||||||
@Override
|
@Override
|
||||||
protected void onBoundRelease(ItemStack stack, World world, EntityPlayer player, int charge)
|
protected void onBoundRelease(ItemStack stack, World world, EntityPlayer player, int charge)
|
||||||
{
|
{
|
||||||
|
if (world.isRemote)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(player);
|
boolean silkTouch = EnchantmentHelper.getSilkTouchModifier(player);
|
||||||
int fortuneLvl = EnchantmentHelper.getFortuneModifier(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();
|
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 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++)
|
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);
|
world.createExplosion(player, playerPos.getX(), playerPos.getY(), playerPos.getZ(), 0.5F, false);
|
||||||
dropStacks(drops, world, playerPos.add(0, 1, 0));
|
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.api.util.helper.NBTHelper;
|
||||||
import WayofTime.bloodmagic.registry.ModItems;
|
import WayofTime.bloodmagic.registry.ModItems;
|
||||||
import WayofTime.bloodmagic.util.helper.TextHelper;
|
import WayofTime.bloodmagic.util.helper.TextHelper;
|
||||||
|
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
|
|
||||||
import net.minecraft.entity.EntityLiving;
|
import net.minecraft.entity.EntityLiving;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
@ -55,6 +57,9 @@ public class ItemBoundSword extends ItemSword
|
||||||
|
|
||||||
// TODO Make conical charge blast
|
// TODO Make conical charge blast
|
||||||
Explosion explosion = new Explosion(worldIn, playerIn, playerIn.posX, playerIn.posY, playerIn.posZ, (float) (i * 0.5), true, true);
|
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))
|
if (net.minecraftforge.event.ForgeEventFactory.onExplosionStart(worldIn, explosion))
|
||||||
return;
|
return;
|
||||||
explosion.doExplosionA();
|
explosion.doExplosionA();
|
||||||
|
|
Loading…
Reference in a new issue