Applied-Energistics-2-tiler.../items/tools/powered/ToolChargedStaff.java
AlgorithmX2 6de529a889 Wireless Terminal now respects WAPs and distances.
Finished Wireless Terminal.
Added WAP Gui.
Added Battery Config.
Added Wireless Config.
Fixed bug with dense cable channels, and the controller.
2014-02-03 22:23:14 -06:00

55 lines
1.5 KiB
Java

package appeng.items.tools.powered;
import java.io.IOException;
import java.util.EnumSet;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import appeng.core.Configuration;
import appeng.core.features.AEFeature;
import appeng.core.sync.packets.PacketLightning;
import appeng.items.tools.powered.powersink.AEBasePoweredItem;
import appeng.server.ServerHelper;
import appeng.util.Platform;
public class ToolChargedStaff extends AEBasePoweredItem
{
public ToolChargedStaff() {
super( ToolChargedStaff.class, null );
setfeature( EnumSet.of( AEFeature.ChargedStaff, AEFeature.PoweredTools ) );
maxStoredPower = Configuration.instance.staff_battery;
}
@Override
public boolean hitEntity(ItemStack item, EntityLivingBase target, EntityLivingBase hitter)
{
if ( this.getAECurrentPower( item ) > 300 )
{
extractAEPower( item, 300 );
if ( Platform.isServer() )
{
try
{
for (int x = 0; x < 2; x++)
{
float dx = (float) (Platform.getRandomFloat() * target.width + target.boundingBox.minX);
float dy = (float) (Platform.getRandomFloat() * target.height + target.boundingBox.minY);
float dz = (float) (Platform.getRandomFloat() * target.width + target.boundingBox.minZ);
ServerHelper.proxy.sendToAllNearExcept( null, dx, dy, dz, 32.0, target.worldObj, (new PacketLightning( dx, dy, dz )).getPacket() );
}
}
catch (IOException e)
{
}
}
target.attackEntityFrom( DamageSource.magic, 6 );
return true;
}
return false;
}
}