Player Movement Doesn't Work Properly
When attempting to change a players movement speed via behavior events where a component group is added with a new movement value, the movement will take effect for about a tick and then revert back to default, even when the movement component has been removed from the general components section. This requires us to use an environment sensor (or some other method) to update movement every tick, which will cause unnecessary lag, especially with multiple players.
This is probably happening with underwater movement as well.
Perhaps a potential fix could be adding the attributes system that Java Edition has?
Steps To Reproduce:
- Download, install and start a new world with the supplied pack (experimental features on)
- Run the following command
/event entity @s player_movement
- Observe that your movement speed will speed up for a tick
- Run the following command
/tag @s add player_movement
- Your movement speed will now be properly doubled
- The tag is a trigger for an environment sensor trigger that will constantly trigger the player_movement event (with multiple players this can get quite laggy)
Expected Results:
- Player movement saves across component groups without the need to constantly update it
Actual Results:
- Player movement reverts to the original movement when not constantly updated
- Unresolved
Gruntastic- 10
- 6
- Confirmed
- 528115
- Multiple
- add-on behavior behavior-pack component-group components player player-movement
1.18.10.27 Beta - 1.20.41 Hotfix
1.18.10.27 Beta 1.18.10.26 Beta 1.18.0.24 Beta 1.18.0.22 Beta 1.18.0.20 Beta 1.17.40.23 Beta 1.17.40.20 Beta 1.17.30.24 Beta 1.17.30.23 Beta 1.17.30.22 Beta 1.17.30.21 Beta 1.17.30.20 Beta 1.17.11 Hotfix 1.17.20.22 Beta 1.17.20.21 Beta 1.17.10 1.17.10.23 Beta 1.17.1 Hotfix 1.17.10.20 Beta 1.17.0.58 Beta 1.17.0.56 Beta 1.17.0.54 Beta 1.17.0.52 Beta 1.17.0.50 Beta 1.16.230.56 Beta 1.16.230.54 Beta 1.16.220 1.16.230.50 Beta 1.16.220.52 Beta 1.16.220.51 Beta 1.16.220.50 Beta 1.16.210.61 Beta 1.16.210.60 Beta 1.16.210.59 Beta 1.16.210.58 Beta 1.16.210.57 Beta 1.16.210.56 Beta 1.16.210.55 Beta 1.16.201 Hotfix 1.16.210 1.16.221 Hotfix 1.17.0 1.18.2 Hotfix 1.18.30.33 Preview 1.18.12 Hotfix 1.19.20.24 Preview 1.19.11 Hotfix 1.19.63 1.20.50.22 Preview 1.20.50.23 Preview 1.20.41 Hotfix
Created Issue:
Player Movement Doesn't Work Properly
When attempting to change a players movement speed via behavior events where a component group is added with a new movement value, the movement will take effect for about a tick and then revert back to default, even when the movement component has been removed from the general components section. This requires us to use an environment sensor to update movement every tick, which can cause unnecessary lag.
This is probably happening with underwater movement as well.
Steps To Reproduce:
- In the players behavior file:
- Create a new component group with the component ' "minecraft:movement": {"value": 0.5}
- Create an event that will add this component group
- Load a world and observe the player has normal movement
- Using the event command, run the event and observe the players movement changing to the higher one for a tick before reverting to the original movement speed.
- Go back to the player file and add a trigger to the environment sensor that will run the event when the player has a certain tag
- Tag yourself with this tag and the movement will now properly change to the higher value, only reverting once the tag is removed
Expected Results:
- Player movement saves across component groups without the need to constantly update it
Actual Results:
- Player movement reverts to the original movement when not constantly updated
When attempting to change a players movement speed via behavior events where a component group is added with a new movement value, the movement will take effect for about a tick and then revert back to default, even when the movement component has been removed from the general components section. This requires us to use an environment sensor to update movement every tick, which can cause unnecessary lag.
This is probably happening with underwater movement as well.
Steps To Reproduce:
- In the players behavior file:
- Create a new component group with the component ' "minecraft:movement": {"value": 0.5} '
- Create an event that will add this component group
- Load a world and observe the player has normal movement
- Using the event command, run the event and observe the players movement changing to the higher one for a tick before reverting to the original movement speed.
- Go back to the player file and add a trigger to the environment sensor that will run the event when the player has a certain tag
- Tag yourself with this tag and the movement will now properly change to the higher value, only reverting once the tag is removed
Expected Results:
- Player movement saves across component groups without the need to constantly update it
Actual Results:
- Player movement reverts to the original movement when not constantly updated
When attempting to change a players movement speed via behavior events where a component group is added with a new movement value, the movement will take effect for about a tick and then revert back to default, even when the movement component has been removed from the general components section. This requires us to use an environment sensor to update movement every tick, which
cancause unnecessary lag.This is probably happening with underwater movement as well.
Steps To Reproduce:
- In the players behavior file:
- Create a new component group with the component ' "minecraft:movement": {"value": 0.5} '
- Create an event that will add this component group
- Load a world and observe the player has normal movement
- Using the event command, run the event and observe the players movement changing to the higher one for a tick before reverting to the original movement speed.
- Go back to the player file and add a trigger to the environment sensor that will run the event when the player has a certain tag
- Tag yourself with this tag and the movement will now properly change to the higher value, only reverting once the tag is removed
Expected Results:
- Player movement saves across component groups without the need to constantly update it
Actual Results:
- Player movement reverts to the original movement when not constantly updated
When attempting to change a players movement speed via behavior events where a component group is added with a new movement value, the movement will take effect for about a tick and then revert back to default, even when the movement component has been removed from the general components section. This requires us to use an environment sensor (or some other method) to update movement every tick, which will cause unnecessary lag, especially with multiple players.
This is probably happening with underwater movement as well.
Perhaps a potential fix could be adding the attributes system that Java Edition has?Steps To Reproduce:
- In the players behavior file:
- Create a new component group with the component ' "minecraft:movement": {"value": 0.5} '
- Create an event that will add this component group
- Load a world and observe the player has normal movement
- Using the event command, run the event and observe the players movement changing to the higher one for a tick before reverting to the original movement speed.
- Go back to the player file and add a trigger to the environment sensor that will run the event when the player has a certain tag
- Tag yourself with this tag and the movement will now properly change to the higher value, only reverting once the tag is removed
Expected Results:
- Player movement saves across component groups without the need to constantly update it
Actual Results:
- Player movement reverts to the original movement when not constantly updated
When attempting to change a players movement speed via behavior events where a component group is added with a new movement value, the movement will take effect for about a tick and then revert back to default, even when the movement component has been removed from the general components section. This requires us to use an environment sensor (or some other method) to update movement every tick, which will cause unnecessary lag, especially with multiple players.
This is probably happening with underwater movement as well.
Perhaps a potential fix could be adding the attributes system that Java Edition has?Steps To Reproduce:
- In the players behavior file:
- Create a new component group with the component ' "minecraft:movement": {"value": 0.5} '
- Create an event that will add this component group
- Load a world and observe the player has normal movement
- Using the event command, run the event and observe the players movement changing to the higher one for a tick before reverting to the original movement speed.
- Go back to the player file and add a trigger to the environment sensor that will run the event when the player has a certain tag
- Tag yourself with this tag and the movement will now properly change to the higher value, only reverting once the tag is removed
Expected Results:
- Player movement saves across component groups without the need to constantly update it
Actual Results:
- Player movement reverts to the original movement when not constantly updated
When attempting to change a players movement speed via behavior events where a component group is added with a new movement value, the movement will take effect for about a tick and then revert back to default, even when the movement component has been removed from the general components section. This requires us to use an environment sensor (or some other method) to update movement every tick, which will cause unnecessary lag, especially with multiple players.
This is probably happening with underwater movement as well.
Perhaps a potential fix could be adding the attributes system that Java Edition has?Steps To Reproduce:
- Download, install and start a new world with the supplied pack (experimental features on)
- Run the following command
/event entity @s player_movement
- Observe that your movement speed will speed up for a tick
- Run the following command
/tag @s add player_movement
- Your movement speed will now be properly doubled
- The tag is a trigger for an environment sensor trigger that will constantly trigger the player_movement event (with multiple players this can get quite laggy)
Expected Results:
- Player movement saves across component groups without the need to constantly update it
Actual Results:
- Player movement reverts to the original movement when not constantly updated
Resolving temporarily as Awaiting Response. Could you please attach the add-ons you're using to this ticket?
Added example pack and redid the steps to reproduce