Fixed check on unbreakable blocks for Crusher ritual, added event for items draining the SN

This commit is contained in:
WayofTime 2014-11-06 21:25:53 -05:00
parent 42afd64e30
commit 40a45be05e
12 changed files with 293 additions and 16 deletions

View file

@ -375,8 +375,8 @@ public class BoundArmour extends ItemArmor implements IAlchemyGoggles, ISpecialA
if (!player.capabilities.isCreativeMode)
{
EnergyItems.syphonBatteries(itemStack, player, itemStack.getItemDamage() * 75);
itemStack.setItemDamage(0);
if( EnergyItems.syphonBatteries(itemStack, player, itemStack.getItemDamage() * 75))
itemStack.setItemDamage(0);
}
}

View file

@ -123,6 +123,11 @@ public class BoundAxe extends ItemAxe implements IBindable
{
return par1ItemStack;
}
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 10000))
{
return par1ItemStack;
}
Vec3 blockVec = SpellHelper.getEntityBlockVector(par3EntityPlayer);
int posX = (int) (blockVec.xCoord);
@ -176,7 +181,7 @@ public class BoundAxe extends ItemAxe implements IBindable
}
}
EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 10000);
return par1ItemStack;
}
@ -198,7 +203,10 @@ public class BoundAxe extends ItemAxe implements IBindable
{
if (!par3EntityPlayer.capabilities.isCreativeMode)
{
EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 20);
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 20))
{
this.setActivated(par1ItemStack, false);
}
}
}

View file

@ -130,6 +130,11 @@ public class BoundPickaxe extends ItemPickaxe implements IBindable
{
return par1ItemStack;
}
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 10000))
{
return par1ItemStack;
}
Vec3 blockVec = SpellHelper.getEntityBlockVector(par3EntityPlayer);
int posX = (int) (blockVec.xCoord);
@ -184,7 +189,6 @@ public class BoundPickaxe extends ItemPickaxe implements IBindable
}
}
EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 10000);
return par1ItemStack;
}
@ -207,7 +211,10 @@ public class BoundPickaxe extends ItemPickaxe implements IBindable
{
if (!par3EntityPlayer.capabilities.isCreativeMode)
{
EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 20);
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 20))
{
this.setActivated(par1ItemStack, false);
}
}
}

View file

@ -3,7 +3,9 @@ package WayofTime.alchemicalWizardry.common.items;
import WayofTime.alchemicalWizardry.AlchemicalWizardry;
import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable;
import WayofTime.alchemicalWizardry.common.spell.complex.effect.SpellHelper;
import com.google.common.collect.Multimap;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
@ -127,6 +129,11 @@ public class BoundShovel extends ItemSpade implements IBindable
{
return par1ItemStack;
}
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 10000))
{
return par1ItemStack;
}
Vec3 blockVec = SpellHelper.getEntityBlockVector(par3EntityPlayer);
int posX = (int) (blockVec.xCoord);
@ -181,7 +188,6 @@ public class BoundShovel extends ItemSpade implements IBindable
}
}
EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 10000);
return par1ItemStack;
}
@ -203,7 +209,10 @@ public class BoundShovel extends ItemSpade implements IBindable
{
if (!par3EntityPlayer.capabilities.isCreativeMode)
{
EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 20);
if(!EnergyItems.syphonBatteries(par1ItemStack, par3EntityPlayer, 20))
{
this.setActivated(par1ItemStack, false);
}
}
}

View file

@ -66,7 +66,7 @@ public class EnergyItems extends Item implements IBindable
{
if (!player.worldObj.isRemote)
{
return syphonAndDamageWhileInContainer(ist, player, damageToBeDone);
return SoulNetworkHandler.syphonAndDamageFromNetwork(ist, player, damageToBeDone);
} else
{
World world = player.worldObj;

View file

@ -109,6 +109,10 @@ public class RitualEffectCrushing extends RitualEffect
{
Block block = world.getBlock(x + i, y + j, z + k);
int meta = world.getBlockMetadata(x + i, y + j, z + k);
if(block.getBlockHardness(world, x + i, y + j, z + k) == -1)
{
continue;
}
if (block != null && !world.isAirBlock(x + i, y + j, z + k))
{