-
Added smelter and generalized jobs to make it easier to add new ones
- https://github.com/bradsk88/Questown/commit/9d27ce6d281ba0f94ad7ccaf9a97e5c583b5ec14
- https://github.com/bradsk88/Questown/commit/5e0b10d5e105fa9674eaa47ba8444b8e52fd051e
- https://github.com/bradsk88/Questown/commit/bb6d86dac92204e76c78926051e50ff1d81b4534
- https://github.com/bradsk88/Questown/commit/c3736a11aa18335ce26623d4965d2e1d445b6cb0
- https://github.com/bradsk88/Questown/commit/d09626442b32bb55d769fc1852c5829522b5e80f
- https://github.com/bradsk88/Questown/commit/24ff6a96c12f8c783e89c3242ffdc1cb08dabce1
-
Smelter's work cycle:
- Add ore to block
- Stay at block and process it
- Extract raw ore
-
- Updated production jobs to go to correct chest for supplies
- Updated InventoryAndStatusMenu to support non-gatherer statuses
- Updated smelter to show InventoryAndStatusMenu1
- Created a central repository for status textures
- Reduced bloat on some logs
- Reduced a redundant calculation in production jobs (rooms needing ingr.)
-
WIP: Smelter's tools degrade (not 100% sure this is working)
-
Adding model for Ore Processing Block
... formerly "smelting oven".
-
Blacksmith declarative job
- Enable walk timeout to be set via Config
- Improvements to pathfinding over water
- Villagers will do a better job of pathfinding on above-water paths
- Increased pathfinding "give up" duration significantly
- Removed "door" position as a wander target
- All positions within room are now included as potential targets
- Also:
- Do not consider stairs "walls"
- Improvements to pathfinding in water
- Very specific edge case with water, under air, under fence
- Villagers will view the "gap" as a wall
- i.e. They will not swim into a 1-block gap
- Very specific edge case with water, under air, under fence
- Server side utilities
- Right click on flag with oak log to write Quests to server logs (get it?)
- Stop logging the town state. I think it was causing lag spikes.
- Baker and room improvements
- Bakers will switch to "relaxing" in the evening
- Doors will be de-registered upon destruction
- Make sure room recipes don't get double-filled on server start
- Quest UUID improvements
- Quests will no longer be assigned a random UUID on creation.
- Quests with an owner UUID that does not match a villager will be replaced with a random villager's UUID.
- Added the ability to see a specific villager's quests
- Added a service function for calculating room recipe item weights
- Added "job" quests that are added after finishing a batch
- Upon completing the quest (e.g. "build a farm", "build a bakery"), a villager will change to the appropriate job.
- Quests will now tend to include a bed if one is needed
- Adjusted factors for quest batch building (and added config)
- Gatherers with axes will acquire biome-specific wood
- Better documentation around job quests
- You get a page in the journal to explain it
- The quests screen will show the villager and job
- The player gets an achievement when a job quest is added
- Added debug utility to add upgrade quests to flag (right click it with diamond)
- Upgrade quests added
- Quests will be marked "lost" when a bloc is removed
- Room upgrade quests can involve swapping blocks out for better ones
- Room upgrades will be selected randomly if there is more than one option
- Randomly select "new villager" or "upgrade room" quest
- Updated "no gate" status text
Gatherers can be given one or more tools. These tools will occupy an inventory slot and change the loot that they return with. They can use axes, pickaxes, shovels, and fishing rods.
When the player gives the gatherer an item (any item), that item will be "locked" and the gatherer will not drop it. The player can remove that item to unlock the slot.
Fixes:
- Critical: Stop clearing quantity/NBT in town chests
- Visitors could not sleep in a bed more than once. And the bed stayed occupied.
- Liquid blocks could cause a fatal crash during wall detection
- Progress messages should hopefully show up in chat when using a server
- Villagers will be hidden while their status is returning, regardless of position
- You can no longer click on hidden villagers
- Stop respawning villagers every morning (store town state on sleep)
- Clear bed occupancy for all villagers in the morning
- Disable collisions when villager is hidden
Adds:
- Town door item
- Logic to support town door item
- Persist registered doors on town flag
- Welcome mat blocks can now be associated with a flag by right-clicking the item on the flag
- Support preservation of quantity and NBT data on items in town chests