mojira.dev
MC-40949

The movement_speed attribute has no effect on flying mobs

The bug

Mobs which fly (ghasts, bats, vexes, etc.) are not affected by the movement_speed attribute as terrestrial mobs are.

How to reproduce

Run the following:

/summon bat ~ ~ ~ {attributes:[{id:"minecraft:movement_speed",base:0d}]}

Observe how the bat flies around at normal speed.

Related issues

Attachments

Comments

migrated
[media][media]
migrated

Is this still a concern in the current Minecraft version 1.7.4 / Launcher version 1.3.8 or later? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases.

Torabi

Hmmm... Compare to MC-33110 and MC-44849.

migrated

This ticket is incomplete without the requested information, no response has been received within a reasonable time and we are assuming the issue has been resolved. If you are still experiencing this issue, we can reopen it at your request.

migrated

Very old ticket issue, but can confirm that ender dragons, ghasts, and bats do not obey the generic.movementSpeed attribute for MC version 15w40b using commands per below (replacing Ghast for the other two entitiy names)

summon Ghast ~ ~ ~ {Attributes:[{Name:"generic.movementSpeed",Base:0.001}]}

Variants for the base value (0.1, etc) have been tried as well with no success or notice in movement speed differences.

Edit: Apparently I dont understand site formatting mechanics even with the use of the help.

migrated

That's intended, movementSpeed is about walking, bats, ghasts, withers, squid and enderdragons don't walk, they fly/swim

migrated

flying or swimming is still a movement, which is what the attribute name implies it should modify - movement speeds, it isn't titled walkingSpeed, so I do not see this as intended.

migrated

Reopened and gave the ticket to Anthoni Wiese. Please update the list of affected versions, title and description to accurately reflect the issue as it in current versions.

migrated

True, same for speed/slowness potion effect then as well (which I saw get resolved by that reason if I remember correctly)

migrated

Confirmed for 15w51b/latest 1.9 Snapshot.
generic.movementSpeed still not working.

I tested this command in 15w51b, without success (Bat is still moving normally fast):

summon Bat ~ ~ ~ {Tags:[LLPartShow,PartBat],Attributes:[{Name:generic.movementSpeed,Base:0.05}],Invulnerable:1,Silent:1,ActiveEffects:[{Id:14,Amplifier:0,Duration:630720000,ShowParticles:0b}]}

Kind regards, Meri

migrated

I can confirm it still not working in 15w51b, added it to the affected versions list. I am still keeping tabs on this particular report.

Skylinerw

A slight change to the bat's hard-coded movement speed multiplier (class EntityBat, method updateAITasks) seemed to work pretty well. Original section via MCP:

this.motionX += (Math.signum(var3) * 0.5D - this.motionX) * 0.10000000149011612D;
this.motionY += (Math.signum(var5) * 0.699999988079071D - this.motionY) * 0.10000000149011612D;
this.motionZ += (Math.signum(var7) * 0.5D - this.motionZ) * 0.10000000149011612D;

Modified:

double movementSpeed = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue();

this.motionX += (Math.signum(var3) * 0.5D - this.motionX) * movementSpeed;
this.motionY += (Math.signum(var5) * 0.699999988079071D - this.motionY) * movementSpeed;
this.motionZ += (Math.signum(var7) * 0.5D - this.motionZ) * movementSpeed;

While upon instantiation its default would be set to the original multiplier (method applyEntityAttributes):

this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.10000000149011612D);

For ghasts, I did the same (class EntityGhast, method onUpdateMoveHelper). Original:

this.field_179927_g.motionX += var1 / var7 * 0.1D;
this.field_179927_g.motionY += var3 / var7 * 0.1D;
this.field_179927_g.motionZ += var5 / var7 * 0.1D;

Modified:

double movementSpeed = this.field_179927_g.getEntityAttribute(SharedMonsterAttributes.movementSpeed).getAttributeValue();

this.field_179927_g.motionX += var1 / var7 * movementSpeed;
this.field_179927_g.motionY += var3 / var7 * movementSpeed;
this.field_179927_g.motionZ += var5 / var7 * movementSpeed;

Attribute instantiation (method applyEntityAttributes):

this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.1D);

Both seemed to work fine with no obvious issues. Able to change their movementSpeed attribute and see the changes take place (such as a value of 0.0 preventing movement), and the /effect command can successfully modify their movementSpeed.

migrated

Can confirm this issue still exists in 16w03a and 16w04a snapshots. Updated the versions list for this, and fixed an issue in the description saying to compare the skeletons instead of ghasts.

migrated

Confirmed for pre-2.

migrated

Posting to confirm for ghasts and bats in 1.11.2. Neither movementSpeed or speed/slowness effect/potions will alter their movement speeds:

/summon bat ~ ~1 ~ {Attributes:[{Name:generic.movementSpeed,Base:0.001}]}
/summon bat ~ ~1 ~ {ActiveEffects:[{Id:2,Amplifier:5,Duration:19980,ShowParticles:0b}]}
/summon ghast ~ ~1 ~ {Attributes:[{Name:generic.movementSpeed,Base:0.001}]}
/summon ghast ~ ~1 ~ {ActiveEffects:[{Id:2,Amplifier:5,Duration:19980,ShowParticles:0b}]}

Oddly, it seems to work for blazes, but only when they're "walking" (touching the ground)

Sonicwave

Confirmed for 17w13a (and 1.12-pre3).

migrated

Confirmed for 1.12-pre7 (already added)

SunCat

@unknown, you don't have to comment when you add affected version(s) yourself

migrated

I may not need to SunCat but not everyone looks at the activity logs, or sees the full version list and may repeat whats already been added.

Sonicwave

Affects 1.12.1 (and 1.12.2)

migrated

Confirmed for 1.13.1.

AjaxGb

Confirmed for 19w04b.

jamesmoton

Confirmed for 1.15.2 with the above command, and also with the following command:

/effect give @e[type=ghast,limit=1,sort=nearest] slowness 30 7
Avoma

Can confirm in 20w48a.

Avoma

Can confirm in 20w51a.

Avoma

Can confirm in 21w03a.

Avoma

Can confirm in 21w05b.

Avoma

Can confirm in 21w06a.

Avoma

Can confirm in 21w07a. Video attached.

Avoma

Can confirm in 21w11a.

Avoma

Can confirm in 21w14a.

Avoma

Can confirm in 21w17a.

Avoma

Can confirm in 1.17.

Avoma

Can confirm in 1.17.1.

Avoma

Can confirm in 22w13a. This also now affects the allay.

Avoma

Can confirm in 1.19.2.

Brain81505

Can confirm in 23w04a and 1.19.3

[Mod] Jingy

Related to MC-172801

Dhranios

Avoma's comment regarding allays is only partially true: allays, bees, withers, and parrots have a flying_speed attribute that controls their flying speed. Expected is that ghasts, bats, phantoms, ender dragons, blazes❓ and players (creative/spectator) also have that attribute, as they can all fly. Either that, or the attributes should be merged, which makes speed/slowness also affect the mobs with the attribute already.

himazinn_Japan

Can confirm in 1.21.4.

RossGamer2048

Can confirm in 25w15a, 25w16a, 25w17a, 25w18a, and 25w19a.

Example: /summon happy_ghast ~ ~ ~ {attributes:[{id:"minecraft:movement_speed",base:0d}]} and observe how happy ghasts flying at normal speed.

migrated

(Unassigned)

Confirmed

Platform

Normal

Commands

/summon, attribute, movementSpeed

Minecraft 1.7.2, Minecraft 15w39c, Minecraft 15w40a, Minecraft 15w40b, Minecraft 15w51b, ..., 1.19.3, 23w04a, 1.20.4, 1.21.4, 25w06a

Retrieved