Compatibility
Minecraft: Java Edition
Platforms
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
Changelog
General philosophy: every job has its own "warper" and we grab that warper for each villager during the time warp phase of the town flag's loading process.
Each warper simulates the passage of time and then returns an updated town state which is passed into the next warper as the starting point.
Also:
- Store state before restoring villagers so they have the warped state
- Prevent a critical log when nothing is wrong
- Updating all jobs to be more declarative (and thus have warpers)
- Explicit "is player close" logic for time warp
Better handling of multi-villager warps:
First, we calculate the specific ticks where the work for each villager would be run and store a tuple of [tick, lambda function] in a list. Finally, we sort that list by tick and run each lambda in the sorted list. This should mean that each villager action (lambda) is run in the order that it would be run if this were happening in real-time.
Some light play testing shows that this seems to be working well.
Play testing
- Preventing infinite loop when loot table lookup fails
- Fixing job logic for tool-less jobs that require work
- Tested via time warp, NOT TESTED by playing
- Added some new villager skins (Thanks Niki)
- Added logic to show non-error graphics for some production statuses
- Added logic to remove entities from town state when killed
- Fixing world interaction logic to make crafters work properly
- Removed all while loops to avoid game-breaking freezes
- Fixed bug where villagers were taking more than one ingredient from town containers.
- Adjusted gatherers to prefer "no tool" work if it can produce the requested results.
- Fixing world interaction logic to make smelters work properly
- Adding translations for smelters
- TDD: Fix bug where gatherers do not leave Fixed: Gatherers no longer return home when job board is updated
- Make workers stand beside job block ... instead of walking around it randomly
- Also removed some old TODOs that are no longer relevant
- Better "go to job" nav + skin logic fix
- Fixing handling of 1x1 rooms
- Setting some more status art for production jobs
- Fixing bug where job board was missing addable items
- Rendering item in Villager's hand
- Fixed a bug where work results had extra quanties on their NBT
- Added
qtfreeze
flag block command to make it easier to run theqtsetjob
on villagers (because they will stand still) - Introducing randomness so villagers will better share resources, job blocks, and requests
- Villagers will choose a random work room and block and then keep it until they have finished the work.
- Villagers will now "give up" on their current work if they go too long with no supplies in town.
Dependencies
Files
Metadata
Release channel
AlphaVersion number
1.19.2-0.0.5-alpha.5Loaders
Game versions
1.19.2Downloads
28Publication date
January 9, 2024 at 4:02 AMPublisher
bradsk88
Owner