Posted April 11, 201411 yr So first off the mob works fine besides this. All the other values are as intended, and everything works as intended. However, in the line this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.94234232343D); which is found here in my code in the Entity Class, it doesn't affect the mobs movement speed. I've spawned new ones with new eggs and everything, the other values keep updating but the movement speed won't. I am able to make it move slower by lowering the value below 0.6999D to something like 0.3333D, but if I make it higher it does nothing. public void applyEntityAttributes(){ super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5.0D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(52.0D); this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.94D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(13.0D);
April 11, 201411 yr Author Have you tried @Override ? I've put it before the public void applyEntityAttributes(){ before and nothing changed.
April 11, 201411 yr Hmm. There might be another way. Can I see your whole entire Entity class - real quick?
April 12, 201411 yr Author Hmm. There might be another way. Can I see your whole entire Entity class - real quick? Here ya go: package mainlandModding.mob.entity; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; public class EntityRunner extends EntityMob { public EntityRunner(World par1World) { super(par1World); this.setSize(1.0F, 1.0F); // TODO Auto-generated constructor stub } protected String getLivingSound(){ return "mob.wither.idle"; } protected String getDeathSound(){ return "mob.wither.death"; } protected String getHurtSound(){ return "mob.wither.hurt"; } protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_) { this.playSound("mob.pig.step", 0.15F, 1.0F); } protected Entity findPlayerToAttack(){ EntityPlayer entityPlayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 32.0D); return entityPlayer != null && this.canEntityBeSeen(entityPlayer) ? entityPlayer : null; } public void applyEntityAttributes(){ super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5.0D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(52.0D); this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.94234232343D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(13.0D); } }
April 12, 201411 yr Author Still can't get this to work. :\ Tried adding living update code to it, but it didn't help. This is strange considering the other attributes work fine.
April 12, 201411 yr That's bizarre. I just tried it on one of my entities and he was zipping around with a movement at 3.3D. Are you sure you just aren't noticing the difference between 0.69 and 0.94? Try setting it higher and see if it still doesn't work for you. http://i.imgur.com/NdrFdld.png[/img]
April 12, 201411 yr Author That's bizarre. I just tried it on one of my entities and he was zipping around with a movement at 3.3D. Are you sure you just aren't noticing the difference between 0.69 and 0.94? Try setting it higher and see if it still doesn't work for you. I've tried setting it at 3.0D, 50.0D, 300.0D. Doesn't affect anything.
April 12, 201411 yr That's bizarre. I just tried it on one of my entities and he was zipping around with a movement at 3.3D. Are you sure you just aren't noticing the difference between 0.69 and 0.94? Try setting it higher and see if it still doesn't work for you. I've tried setting it at 3.0D, 50.0D, 300.0D. Doesn't affect anything. Then you probably need to turn on the AI, because it is not enabled by default in EntityMob: @Override protected boolean isAIEnabled() { return true; } http://i.imgur.com/NdrFdld.png[/img]
April 12, 201411 yr Author That's bizarre. I just tried it on one of my entities and he was zipping around with a movement at 3.3D. Are you sure you just aren't noticing the difference between 0.69 and 0.94? Try setting it higher and see if it still doesn't work for you. I've tried setting it at 3.0D, 50.0D, 300.0D. Doesn't affect anything. Then you probably need to turn on the AI, because it is not enabled by default in EntityMob: @Override protected boolean isAIEnabled() { return true; } Adding below the attributes section just makes my mob stand there, and he doesn't use his AI anymore.
April 12, 201411 yr Adding below the attributes section just makes my mob stand there, and he doesn't use his AI anymore. Oh right, you aren't using the new AI... maybe try that instead? Take a look at a vanilla mob such as the zombie to see what kinds of AI you can add. My mob was using the AI system and the speed worked correctly, though I haven't looked through the code to find out why. http://i.imgur.com/NdrFdld.png[/img]
April 12, 201411 yr Author Adding below the attributes section just makes my mob stand there, and he doesn't use his AI anymore. Oh right, you aren't using the new AI... maybe try that instead? Take a look at a vanilla mob such as the zombie to see what kinds of AI you can add. My mob was using the AI system and the speed worked correctly, though I haven't looked through the code to find out why. Worked, thanks.
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.