Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.particle.EntityFX;
- import net.minecraft.creativetab.CreativeTabs;
- import net.minecraft.entity.Entity;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.world.World;
- public class ItemWhirlwindStaff extends Item {
- private int whirlwindActive = 1;
- private double whirlwindSpawnX = 0.0f;
- private double whirlwindSpawnY = 0.0f;
- private double whirlwindSpawnZ = 0.0f;
- public ItemWhirlwindStaff()
- {
- super();
- setCreativeTab(CreativeTabs.tabMisc);
- }
- public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer entityPlayer)
- {
- itemStack.stackTagCompound = new NBTTagCompound();
- if(whirlwindSpawnX == 0.0f || whirlwindSpawnY == 0.0f || whirlwindSpawnZ == 0.0f)
- {
- whirlwindSpawnX = entityPlayer.posX;
- whirlwindSpawnY = entityPlayer.posY;
- whirlwindSpawnZ = entityPlayer.posZ;
- itemStack.stackTagCompound.setDouble("WhirlwindSpawnX", whirlwindSpawnX);
- itemStack.stackTagCompound.setDouble("WhirlwindSpawnY", whirlwindSpawnY);
- itemStack.stackTagCompound.setDouble("WhirlwindSpawnZ", whirlwindSpawnZ);
- System.out.println(whirlwindSpawnX);
- System.out.println(whirlwindSpawnY);
- System.out.println(whirlwindSpawnZ);
- System.out.println("Not Set");
- }
- Random rand = new Random();
- double entPosX = entityPlayer.posX;
- double entPosY = entityPlayer.posY;
- double entPosZ = entityPlayer.posZ;
- if(world.isRemote && whirlwindSpawnX != 0.0f || whirlwindSpawnY != 0.0f || whirlwindSpawnZ != 0.0f)
- {
- if(entityPlayer.isAirBorne)
- {
- //entityPlayer.addVelocity(0.0f, 0.030f, 0.0f);
- }
- for (int l = 0; l < 10; ++l)
- {
- double randPosX = (entPosX - 0.7f) + ((entPosX + 0.7f) - (entPosX - 0.7f)) * rand.nextDouble();
- double randPosY = (entPosY - 1.2) + ((entPosY-1.7f) - (entPosY - 1.2)) * rand.nextDouble();
- double randPosZ = (entPosZ - 0.7f) + ((entPosZ + 0.7f) - (entPosZ - 0.7f)) * rand.nextDouble();
- double particleDistPlayerX = Math.sqrt((entPosX) * (entPosX) + (randPosX) * (randPosX));
- double particleDistPlayerZ = Math.sqrt((entPosZ) * (entPosZ) + (randPosZ) * (randPosZ));
- double w = 2 * Math.PI * 1;
- double motionX = w * (particleDistPlayerX/Math.abs(particleDistPlayerX));
- double motionZ = w * (particleDistPlayerZ/Math.abs(particleDistPlayerZ));
- //world.spawnParticle("smoke", randPosX, randPosY, randPosZ, 0.0D, 0.0D, 0.0D);
- EntityFX whirlwindFX = new EntityWhirlwindDustFX(world, randPosX, randPosY, randPosZ, 0.0D, 0.0D, 0.0D, entPosX, entPosY, entPosZ, RandomHelpers.randomPos(0.0f, 2.0f));
- Minecraft.getMinecraft().effectRenderer.addEffect(whirlwindFX);
- }
- }
- return itemStack;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment