Grenade Class:
package palmerjj01.YoshiCraft.Grenades;
import palmerjj01.YoshiCraft.Entity.EntityYoshiGrenade;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class ItemYoshiGrenade extends Item {
public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer player){
if(!player.capabilities.isCreativeMode){
--itemstack.stackSize;
}
world.playSoundAtEntity(player, "random.fizz", 0.7F, 0.8F);
if(!world.isRemote){
world.spawnEntityInWorld(new EntityYoshiGrenade(world, player));
}
return itemstack;
}
}
EntityGrenadeClass:
package palmerjj01.YoshiCraft.Entity;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class EntityYoshiGrenade extends EntityThrowable {
public EntityYoshiGrenade(World p_i1776_1_) {
super(p_i1776_1_);
}
public EntityYoshiGrenade(World world, EntityLivingBase entity){
super(world, entity);
}
@Override
public void onImpact(MovingObjectPosition p_70184_1_) {
for(int i = 0; i < 10; i++){
this.worldObj.spawnParticle("flame", this.posX, this.posY, this.posZ, 0,9F, 0.9F);
}
if(!this.worldObj.isRemote){
this.setDead();
if(!this.worldObj.isRemote){
this.worldObj.createExplosion((Entity) null, this.posX, this.posY, this.posZ, 4.5F, true);
}
}
}
}