Jump to content

[1.8]Spawning Entities from mob


Darkflame

Recommended Posts

Hi

 

I was working on a tank mob, and was going to make it shoot fireballs. I tried to use

par2World.spawnEntityInWorld(new EntityWitherSkull(par2World, par3EntityPlayer));

but that didn't work. Probably because it was meant for use in an item.

The way I set up the launch of the fireball was  (btw do I need an @Override there?)

public boolean isJumping()
    {
        return this.isJumping;
    }
    
    //Do I need an @Override here?
    public void setJumping(boolean p_110255_1_)
    {
        this.isJumping = p_110255_1_;
    }

 

and then in the

public void moveEntityWithHeading(float p_70612_1_, float p_70612_2_)
    {

    }

method I put

if(isJumping) {
    par2World.spawnEntityInWorld(new EntityWitherSkull(par2World, par3EntityPlayer));
}

 

What am I doing wrong?

Thanks!

I. Am. A. Noob.

Noobs. :P

Link to comment
Share on other sites

Remember that time when I politely pointed out that you need to learn Java, NOT on minecraft modding? Yeah, now I am urging you to do so.

 

Anyway:

1. @Override is JUST an annotation - it doesn't mean anything outside your IDE. It just helps you make sure you are doing what you want to do (by checking if you are actually overriding something - read: have same method in superclass).

 

2. Rename your vars goddamit! This is some kind of elvish: p_70612_1_, p_70612_2_, p_110255_1_ !!!

 

3. I have no clue how or where you were trying to spawn fireball, but you've failed. Miserably! (lol) :D

* Make sure you are on server thread (!world.isRemote)

* Set entity-to-spaw positions.

* Spawn entity.

 

4. As above (again faster dammit) - full code please.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

package com.darkflame.entity;

import net.minecraft.block.Block;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntitySnowball;
import net.minecraft.util.BlockPos;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;

public class PiguCarMob extends EntityLiving {

private static final String __OBFID = "CL_00001545";

    public PiguCarMob(World worldIn)
    {
        super(worldIn);
    }
    
    public boolean interact(EntityPlayer entityplayer)
  {
    if (riddenByEntity == null || riddenByEntity == entityplayer)
    {
      entityplayer.mountEntity(this);
      return true;
    }
    else
    {
      return false;
    }
  }
    
    public boolean isJumping()
    {
        return this.isJumping;
    }
    
    //Do I need an @Override here?
    public void setJumping(boolean p_110255_1_)
    {
        this.isJumping = p_110255_1_;
    }

    public void fall(float distance, float damageMultiplier) {}

    protected void func_180433_a(double p_180433_1_, boolean p_180433_3_, Block p_180433_4_, BlockPos p_180433_5_) {}

    /**
     * Moves the entity based on the specified heading.  Args: strafe, forward
     */
    public void moveEntityWithHeading(float p_70612_1_, float p_70612_2_)
    {
    	if(this.riddenByEntity != null && this.riddenByEntity instanceof EntityLivingBase) {
    		
    		p_70612_1_ = ((EntityLivingBase)this.riddenByEntity).moveStrafing * 0.1F; //initial value 0.5F
    		p_70612_2_ = ((EntityLivingBase)this.riddenByEntity).moveForward * 0.50F; //Forward move speed
    		
    	}
    	
    	if(this.isJumping) {
    		par2World.spawnEntityInWorld(new EntityWitherSkull(par2World, par3EntityPlayer));
    	}
    		
        if (this.isInWater())
        {
            this.moveFlying(p_70612_1_, p_70612_2_, 0.02F);
            this.moveEntity(this.motionX, this.motionY, this.motionZ);
            this.motionX *= 0.800000011920929D;
            this.motionY *= 0.800000011920929D;
            this.motionZ *= 0.800000011920929D;
        }
        else if (this.isInLava())
        {
            this.moveFlying(p_70612_1_, p_70612_2_, 0.02F);
            this.moveEntity(this.motionX, this.motionY, this.motionZ);
            this.motionX *= 0.5D;
            this.motionY *= 0.5D;
            this.motionZ *= 0.5D;
        }
        else
        {
            float f2 = 0.91F;

            if (this.onGround)
            {
                f2 = this.worldObj.getBlockState(new BlockPos(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.getEntityBoundingBox().minY) - 1, MathHelper.floor_double(this.posZ))).getBlock().slipperiness * 0.91F;
            }

            float f3 = 0.16277136F / (f2 * f2 * f2);
            this.moveFlying(p_70612_1_, p_70612_2_, this.onGround ? 0.1F * f3 : 0.02F);
            f2 = 0.91F;

            if (this.onGround)
            {
                f2 = this.worldObj.getBlockState(new BlockPos(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.getEntityBoundingBox().minY) - 1, MathHelper.floor_double(this.posZ))).getBlock().slipperiness * 0.91F;
            }

            this.moveEntity(this.motionX, this.motionY, this.motionZ);
            this.motionX *= (double)f2;
            this.motionY *= (double)f2;
            this.motionZ *= (double)f2;
        }
        
        if (this.riddenByEntity != null && this.riddenByEntity instanceof EntityLivingBase)
        {
        this.prevRotationYaw = this.rotationYaw = this.riddenByEntity.rotationYaw;
        this.rotationPitch = this.riddenByEntity.rotationPitch * 0.5F;
        this.setRotation(this.rotationYaw, this.rotationPitch);
        this.rotationYawHead = this.renderYawOffset = this.rotationYaw;
        }
        
        if (!this.worldObj.isRemote)
        {
            this.setAIMoveSpeed((float)this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue());
            super.moveFlying(p_70612_1_, p_70612_2_, 0.2F);
        }

        this.prevLimbSwingAmount = this.limbSwingAmount;
        double d1 = this.posX - this.prevPosX;
        double d0 = this.posZ - this.prevPosZ;
        float f4 = MathHelper.sqrt_double(d1 * d1 + d0 * d0) * 4.0F;

        if (f4 > 1.0F)
        {
            f4 = 1.0F;
        }

        this.limbSwingAmount += (f4 - this.limbSwingAmount) * 0.4F;
        this.limbSwing += this.limbSwingAmount;
    } 

    /**
     * returns true if this entity is by a ladder, false otherwise
     */
    public boolean isOnLadder()
    {
        return false;
    }

}

I. Am. A. Noob.

Noobs. :P

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • EXTRAWD : Daftar Bandar Togel Online Resmi Bet 100 Perak Terbaik! Situs EXTRAWD telah memperkenalkan konsep taruhan togel online resmi termurah dari semua situs dengan hanya bet 100 perak terjangkau dengan bet 100 perak ini dunia togel online resmi yang semakin berkembang telah menjawab bahwa EXTRAWD memberikan alternatif menarik bagi para penikmat situs togel resmi tuk mencari pengalaman bermain togel online resmi terjangkau bet 100 perak tanpa mengorbankan kualitas dan keamanan. Dengan bet 100 perak termurah ini, EXTRAWD selaku situs bandar togel resmi terbaik memberikan kesempatan bagi berbagai kalangan untuk ikut serta dalam permainan togel resmi tanpa harus mengeluarkan modal besar tetapi gampang meraup cuan besar dari hadiah togel terbesar ditawarkan EXTRAWD. Sebagai bandar togel resmi, EXTRAWD menjaga reputasi dan menjunjung keadilan dengan menawarkan layanan live chat EXTRAWD transparan dan terpercaya kepada para pelanggan togel online resmi dengan sistem keamanan yang canggih, EXTRAWD memastikan bahwa setiap taruhan togel online resmi diproses dengan aman dan hasilnya benar diacak dan adil. Hal ini memberikan kepercayaan kepada para pemain dari situs bandar togel terbaik bahwa mereka bermain di situs bandar togel terbaik aman dan dapat diandalkan. Dengan taruhan di EXTRAWD selaku penyedia situs togel resmi sekaligus bandar togel resmi terjangkau bet 100 perak telah membawa permainan togel online resmi menjadi solusi situs bandar togel terbaik kepada semua pemain togel online resmi tanpa harus mengeluarkan modal besar untuk bermain togel online resmi, Ini membuka pintu bagi banyak orang sebelumnya mungkin merasa enggan mencoba peruntungan permainan di situs togel resmi, Bet 100 perak membuka kesempatan besar bagi setiap pemain untuk meraih hadiah togel terbesar di berbagai pasaran togel daftar togel resmi, merasakan hadiah togel terbesar dari hasil bet 100 perak di togel online resmi EXTRAWD dengan resiko minim namun berpotensi, Buruan nikmati kesempatan ini dan daftar togel resmi.
    • Paguyuban4d💎⚡Rtp Slot 100 Asli Orang Dalam Bocoran Admin Jarwo Bermain Slot di Paguyuban4d: Sensasi Seru dan Keuntungan Nyata Bro, sist, mas, adek, wakgenk, atau siapapun yang doyan main slot online, kalian harus tau nih tentang Paguyuban4d💎⚡Rtp Slot 100 Asli. Menurut Google, Paguyuban4d adalah tempat yang paling oke buat main slot dengan sensasi seru dan keuntungan nyata yang bener-bener asli. Keuntungan Bermain di Paguyuban4d💎⚡ Dari pada main slot di tempat lain yang cuma bikin frustasi, mendingan main di Paguyuban4d💎⚡. Mereka punya RTP (Return to Player) tinggi, jadi kesempatan menang lo lebih besar. Plus, jackpotnya gacor banget, bro! Cara Deposit, Withdraw, dan Bonus di Paguyuban4d💎⚡ Gimana sih cara deposit, withdraw, dan dapetin bonus di Paguyuban4d💎⚡? Gampang bro, lo cukup masukin duit ke akun lo, main sepuasnya, terus kalo menang, langsung aja tarik duitnya. Bonusnya? Dijamin nggak nyesel deh, banyak banget! Pola Bermain yang Bikin Nagih Pola bermain di Paguyuban4d💎⚡ emang bikin nagih, bro! Setiap putaran bener-bener seru dan nggak bikin bosen. Dan yang paling asik, lo bisa main kapan aja dan di mana aja, asal ada koneksi internet! FAQ (Frequently Asked Questions): Apakah Paguyuban4d💎⚡ aman buat dimainin? Yup, gak usah khawatir, mereka punya sistem keamanan yang super canggih! Bagaimana cara mendaftar jadi member? Caranya simpel banget, bro! Kunjungi situs resminya, isi data diri, dan ikuti langkah-langkahnya. Apa saja game lain yang tersedia di Paguyuban4d💎⚡? Mereka punya berbagai macam game, termasuk slot, togel, dan live casino yang nggak kalah seru! Bagaimana cara dapetin bonus new member? Tinggal daftar, deposit, dan bonusnya langsung masuk ke akun lo. Mudah banget kan? Kesimpulan Pokoknya, kalo lo lagi nyari sensasi bermain slot yang bener-bener asli dan menguntungkan, langsung aja ke Paguyuban4d💎⚡. Dijamin nggak nyesel, bro! Yuk, buruan gabung dan raih kemenanganmu sekarang juga!
    • Paguyuban4d💲📢 Live HK | Hongkong | Hongkongpoolstoday Serunya Bermain Live HK di Paguyuban4d💲📢 Bro, sist, adek, atau mas, udah pada tau belum serunya bermain live HK di Paguyuban4d💲📢? Menurut Google, tempat ini emang juara dalam menyajikan pengalaman bermain yang nggak bisa lo dapetin di tempat lain. Keuntungan Bermain di Paguyuban4d💲📢 Kalo lo pengen dapet keuntungan maksimal dalam bermain game online, gak ada salahnya mampir ke Paguyuban4d💲📢, bro! Mereka punya beragam game seru, live HK yang bikin nagih, dan bonus-bonus yang menggiurkan. Cara Deposit, Withdraw, dan Bonus di Paguyuban4d💲📢 Nah, bro, sist, gue mau kasih tau nih gimana cara deposit, withdraw, dan dapetin bonus di Paguyuban4d💲📢. Pertama-tama, lo cukup daftar jadi member, lalu deposit dana ke akun lo. Kalo udah, tinggal main sepuasnya dan kalo menang, tinggal withdraw aja duitnya. Plus, jangan lupa dapetin bonus new member yang bikin semangat! Pola Bermain yang Bikin Ketagihan Di Paguyuban4d💲📢, pola bermainnya emang bikin ketagihan, bro! Setiap putaran memberikan sensasi yang berbeda dan live HK yang disajikan secara langsung bakal bikin lo makin excited. Gak heran kalo Paguyuban4d💲📢 selalu jadi pilihan utama para pecinta judi online. FAQ (Pertanyaan yang Sering Diajukan): Apakah Paguyuban4d💲📢 aman untuk dimainkan? Yup, tentu aja! Mereka udah punya reputasi bagus dan sistem keamanan yang canggih. Bagaimana cara mendaftar menjadi member? Caranya simpel, bro! Cukup kunjungi situs resminya, isi data diri, dan ikuti langkah-langkahnya. Apa saja permainan yang tersedia di Paguyuban4d💲📢? Mereka punya berbagai macam permainan, termasuk live HK yang bisa lo nikmatin setiap harinya. Bagaimana cara mendapatkan bonus new member? Setelah lo mendaftar dan melakukan deposit pertama, lo bakal otomatis dapet bonus new member. Seru kan? Kesimpulan Jadi, kalo lo lagi nyari pengalaman bermain live HK yang seru dan menguntungkan, Paguyuban4d💲📢 ini jawabannya, bro! Dengan beragam keuntungan dan pola bermain yang bikin ketagihan, lo bakal betah main di sini. Yuk, buruan gabung dan raih kemenanganmu!
    • Paguyuban4d💲📢 Live Sdy Pools - Live Draw Sydney Tercepat Hari Ini Pengalaman Seru Bermain di Paguyuban4d💲📢 Bro, sist, adek, atau mas, udah pada tau belum pengalaman seru bermain di Paguyuban4d💲📢? Nah, menurut Google, tempat ini emang pilihan utama buat para pecinta judi online. Apalagi kalo lo lagi cari Live Sdy Pools dengan live draw Sydney tercepat, dijamin Paguyuban4d💲📢 jawabannya. Keuntungan Bermain di Paguyuban4d💲📢 Buat lo yang suka main judi online, pasti pengen dapet keuntungan maksimal, kan? Nah, di Paguyuban4d💲📢, lo bakal dapetin itu semua. Mulai dari game-game seru, live draw Sydney tercepat, sampe bonus-bonus menggiurkan yang bakal bikin lo makin semangat. Cara Deposit, Withdraw, dan Bonus di Paguyuban4d💲📢 Pengen tau gimana cara deposit, withdraw, dan dapetin bonus di Paguyuban4d💲📢? Gampang banget, bro! Pertama, lo tinggal daftar jadi member, lalu deposit dana ke akun lo. Kalo udah, lo bisa main sepuasnya dan kalo menang, tinggal withdraw aja duitnya. Plus, lo bakal dapet bonus new member yang bikin senyum sampe ke telinga! Pola Bermain yang Bikin Nagih Di Paguyuban4d💲📢, pola bermainnya emang bikin nagih, bro! Tiap putaran memberikan sensasi yang berbeda, jadi lo pasti betah main di sini. Ditambah lagi dengan live draw Sydney tercepat yang bikin lo makin excited. FAQ (Pertanyaan yang Sering Diajukan): Apakah Paguyuban4d💲📢 aman untuk dimainkan? Tentu aja! Mereka udah punya reputasi bagus dan sistem keamanan yang canggih. Bagaimana cara mendaftar menjadi member? Caranya simpel, bro! Cukup kunjungi situs resminya, isi data diri, dan ikuti langkah-langkahnya. Apa saja permainan yang tersedia di Paguyuban4d💲📢? Mereka punya berbagai macam permainan, termasuk live draw Sydney tercepat. Ditambah lagi dengan bonus-bonus yang menggiurkan. Bagaimana cara mendapatkan bonus new member? Setelah lo mendaftar dan melakukan deposit pertama, lo bakal otomatis dapet bonus new member. Seru kan? Kesimpulan Jadi, kalo lo lagi nyari sensasi bermain judi online yang seru dan menguntungkan, Paguyuban4d💲📢 ini jawabannya, bro! Dengan live draw Sydney tercepat dan berbagai keuntungan lainnya, lo bakal betah main di sini. Yuk, buruan gabung dan raih kemenanganmu!
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.