Package appeng.items.tools.powered

Source Code of appeng.items.tools.powered.ToolChargedStaff

package appeng.items.tools.powered;

import java.util.EnumSet;

import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import appeng.core.AEConfig;
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 = AEConfig.instance.chargedStaffBattery;
  }

  @Override
  public boolean hitEntity(ItemStack item, EntityLivingBase target, EntityLivingBase hitter)
  {
    if ( this.getAECurrentPower( item ) > 300 )
    {
      extractAEPower( item, 300 );
      if ( Platform.isServer() )
      {
        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 ) );
        }
      }
      target.attackEntityFrom( DamageSource.magic, 6 );
      return true;
    }

    return false;
  }
}
TOP

Related Classes of appeng.items.tools.powered.ToolChargedStaff

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.