6de529a889
Finished Wireless Terminal. Added WAP Gui. Added Battery Config. Added Wireless Config. Fixed bug with dense cable channels, and the controller.
54 lines
1.5 KiB
Java
54 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;
|
|
}
|
|
}
|