Posted September 18, 201510 yr 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.
September 18, 201510 yr 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) * 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.
September 18, 201510 yr Author 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.
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.