- Merge remote-tracking branch 'origin/testing/1.14' into release/1.14
- Merge branch 'testing/1.14' into origin/version/1.14
- Merge remote-tracking branch 'origin/version/1.14' into testing/1.14
- Merge branch 'version/1.14' into testing/1.14
- Merge branch 'version/1.14' into testing/1.14
regularly update request triggers (#4135)
regularly update request triggers (Improves request interaction)
- increase ancient tome chance
- Hotfix AI not using all goals (#4136)
Goals which have no mutex flags can tick again. (Fixes doors and gates opening) * hotfix server crash because of sided class * Adds a faster, custom goalselector (#4120)
Fixes an issues where sometimes the workerAI was not correctly removed. * Rpg msging (#4110)
This is the new feature to allow citizens to have interactive chat with the player.
It creates a GUI just like this:
There are different types of interactions which result in different trees, different messages, validators and response options.
Each response type has:
One inquiry: The message displayed to the player Response options: Options the player can use to respond Validator: A predicate which checks if the interaction is still valid. At the moment we have two specific types of Interactions:
StandardInteraction Which has the response options you can see in the top screenshot. It has a validator based on the citizenData only.
PosBased Same response options but the validator receives besides the citizenData more special data (the pos).
If a validator requires more information (PoS, ItemStack, Block, ChunkPos, IToken, etc) you setup a new interactionResponseHandler similarly to the PoSBased one and register and set it up in the ModInteractions.
All these interactions inherit the ServerInteraction (only exists on the server side), the ClientInteraction handler exists only on the client and when triggered it sends a message back to the server to invoke the one on the server side.
To setup an interaction of the citizen follow the following steps:
1: Setup a validator and add it to the ModValidators in a static block on top of the class where you use it.
2: Trigger the interaction in the citizen and reference the validator you used above.
This is part 1 of this interaction handling. It adds:
The framework for handling The GUI setup for generic handling. All currently basic citizen interactions. Request System integration Followup Tasks:
ChitChat status based interactions While testing this I found some bugs and fixed them:
All furnace based jobs had problems detecting a broken furnace Fisherman had problem with position finding when in water and had problems detecting wrong rods. * hotfix advancement crash * Hotfix building tool is null! issue * Add sleeping guard feature and fixes to 1.14 (#4124)
Adds a new feature where guards occasionally fall asleep. Those guards are woken up by hitting them, which either the player or other nearby guards do. Less experienced guards fall asleep faster, while more experienced guards not as often. For the sleeping I've added a sleeping particle animation, which sleeping citizens now also use. The guards also are sitting down to sleep, using a tiny invisible entity to sit one, we can re-use it later for e.g. sitting in the restaurant.
Also added a vanilla particle for when a worker levels up, using the villagers particle. For guards I've reworked part of their targeting logic, fixing various targeting bugs, like the guard not stopping to chase after a while as intended.
Rebalanced the combat stats of ranger and knight a bit, knights no longer block 100% of the damage they'd take while waiting for their attack cooldown, instead they still take 50% of the damage. In return they've received higher health and lost their attackspeed scaling from level. So that the knight is more durable/less flexible and does less damage than the rangers. For applying the health modifiers I've moved that functionality out of the citizen into an utility class and added that health changes keep them on their current percent HP, so they no longer loose current hp on levelup. Also lowered their movementspeed a bit as they were getting too fast with levels.
Added a potion regeneration effect to guards which waiting at their blockhut for health regeneration.
Fixes: Fixed the guardtowers low health retrival button description Fixed a bug where a citizen could create a new path each tick while waiting for a delay. Fixed a bug where rangers would not attack when a target is exactly at their attack range's distance Fixed guards not targeting pvp-hostile players and their guards Various other fixes for guard targeting and their combat ai Guards armor now takes damage at the same rat... * hotfix button related crashes * hotfix crash * [Port] [1.14.4] Advancements (#4114)
Add advancements to 1.14.4 * also clear queue * hotfix pathfinding crash * Fix pathfinding executor (#4109)
fixing pathfinding crash * Add pathfinding shutdown (#4093)
- add pathfinding shutdown to allow smoother server shutdown with minecolonies
Schematics 1.14 (#4095)
Pirate ships - schematic update
- Corrected IDs for sweeping edge enchantment. (#4106)
Corrected IDs for sweeping edge enchantment * Added a function to the ItemStorage to get the first creative tab index of the itemstack. (#4097) * Several minor bugfixes * - dynamic state typing (#4091)
- adding tickrate into statemachine
- making statemachine faster
- Schematics 1.14 (#4084)
Fix miner mineshafts * Arrows no longer get created on spawn (#4081) * fix dynamic claim issue * Schematics 1.14 (#4078)
Schematic update: Mineshafts, and minor fixes wooden, stone, nordic * hotfix compile error * Feature/empty hut counter (#4038)
getJobName method added to View. getMaxInhabitants method added to View. Additions to logic in getting the total max jobs. * add block drop for enchanter block * Fix miner issue and improve schematics a bit (#4073)
Fixes the miner placing solid blocks everywhere bump forge version prepare multilayer blocks (stop throwing exceptions on startup at least) * Schematics 1.14 (#4074)
- Miner schematic rescans
- hotfix restriction issues
Schematics 1.14 (#4067)
fix lumberjack1 for dark oak
- Fix/dman unblock (#4063)
Add that dman which is inactive doesn't get tasks When dman gets reactivated he tries to reassign requests which were assigned to the player * - Hotfix packets and netty memory lea (#4062) * hotfix language strings * fix crafting cycles (#4058)
This fixes the crafting cycle detection. It does this by tracking the different steps and checking if there is repetition inbetween. * Schematics 1.14 (#4059)
- Update Medieval and Alts schematics to 1.14
- - hotfix to targetSelector (#4057)
Fixes the mercenaries to also use the target selector instead of goal * add enchanter recipe for 1.14 (hotfix) * - fix chunk claim issues (#4055) * Updated README for windows (#4054)
Updated README for windows * Enchanter 1.14 (#4035)
the enchanter has a GUI where you can set from who he will drain experience he will walk to these workers daily and drain some experience (you can set how many levels per day) there is a chance of him enchanting randomly something while draining (side effect) if he has a high enough experience level he will request enchanted tomes he will enchant this tome with a random enchantment, depending on his level, there is a chance to get high level enchantments A few notes a) It is probably one of the nicest workers to watch working b) He takes only 50% of the xp he gains (because he is very skilled) but this percentage is configurable in the config file c) you can configure which books he can produce in the config file as well So, also modded enchantments work
Also adds potential max, to allow to recruit workers if there is a free space for the guard tower. Also fixes an issue with itemstorage which regularly caused crashes * hotfix right selector * Update Wooden (#4049)
fix miner schematics * Schematics 1.14 (#4048)
- Sandstone, Mesa, Dwarven schematic update
feature/cactus milling (#4042)
Add nuggets to blacksmith
- Added chiseled sandstone to stonemason fixes #4012 (#4040)
- fix subscribers add when the spawn is claimed (#4032)
fix permissions to not get overwritten by older permission versions (upgrade issue)
- 1.14 lang (#4028)
Immensive 1.14 language update * Added empty huts counter (#4005) * Schematics 1.14 (#4027)
Rescan 1.14 schematics: Birch, acacia, jungle * Schematics 1.14 (#4020)
- Stone and Nordic schematics rescanned in 1.14
- Improve Back loading 114 (#4019)
fix colony readNbt not always resetting existing lists, which caused glitches when using the loadBackup command Add backup loading on worldload when the cap is missing a non-deleted colony * - Fix claiming on 1.14 (#4017) * - increase view timing, fix colony active condition (#4018)
increased view timing adjusted colony active condition * - add subscriber/tick rework to 1.14 (#4016) * 1.14 fixes (#4002)
Respect native workOrder order * - fix circular capability call (#4011)