Behavior Tick Rates aren't operating as designed
Expected behavior
The behaviours tick rates configured to the configurable tick rate in the Paper World Config.
(Recorded using Paper-1.19 Latest with same configuration from 1.20.2)
Observed/Actual behavior
The behaviours tick rates aren't configuring to the configurable tick rate set in the Paper World Config.
Steps/models to reproduce
- Set configuration with the following settings in
paper-world-defaults-yml
tick-rates:
behavior:
villager:
validatenearbypoi: 300
aquirepoi: 300
- Start up server and make a similar build to build shown in the videos.
- Villager is changing POI as soon as lever is pressed rather than 300 ticks after.
Plugin and Datapack List
- Essentials
- LuckPerms
- PlugManX
- ViaBackwards
- ViaVersion
Paper version
This server is running Paper version git-Paper-280 (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT) (Git: 4675152)
Other
No response
I did some testing locally and saw similar behaviour:
On 1.19.1-81 Setting validatenearbypoi to -1 resulted in job changes occurring in about 2 seconds or less. Setting validatenearbypoi to 300 resulted in job changes taking up to 15 seconds.
On 1.20.2-290 (latest) Changing the value of validatenearbypoi had no affect on how long it took the villager to switch jobs. The longest it took was about 2 seconds.
I thought maybe the name of the behaviour had changed as strange as that would be but its still present in the world configuration reference and the default configuration so that seems unlikely.
Both tests were done on fresh profiles with no mods or datapacks and the only value that was changed was validatenearbypoi because I'm not sure that aquirepoi is a valid option.
EDIT: I believe I was mistaken about aquirepoi, it seems to be used by unemployed villagers to find an unclaimed workstation.
I have done some extensive checking and tested multiple versions and returned the following results:
- 1.20.2-290 - Broken
- 1.19.3-448 - Broken
- 1.19.3-429 - Broken
- 1.19.3-428 - Broken
- 1.19.3-320 - Broken
- 1.19.3-308 - Broken
- 1.19.2-307 - Working
- 1.19.2-112 - Working
- 1.19.0-81 - Working
After some research, I believe this may have been caused by the 1.19.3 update where the addition of entity sub-predicate types were introduced, adding the following:
- variant- values: seevillager_typeregistry
- Also works for Zombie Villagers
- Profession and level are separate values and not matched
I would go into looking to fix this but I honestly have no clue where to actually start...