- Fix citizen model rendering update after growup (improve gitignore too)
- Feature/api (#3777)
API Note this is a longer post, Orion.
Well here it is. After fixing my last attempt and completely redoing a lot of other things that came in contact with now moved abstract classes, we have a fully working API.
Features Full abstraction layer for almost all core functions of the mod: Citizens Jobs Buildings GuardTypes Entities Mobs (Separation between Archer / Melee / Chief, as well as Pirate / Barbarian) Most of the registries have been overhauled: Some registries have been turned into ForgeRegistries: Jobs (via JobEntries) Buildings (via BuildingEntries) GuardTypes (via IGuardType) Others have been completely rewritten to fulfill their specific needs: Mob AI PathNavigate ModelType DataManagers that take over part of the functionality the old registries performed and now mainly interact with the new registries to provide backwards compatibility. Complete removal of reflection. Replaced with the java Function lambda interface call, using the same parameters, but now much more flexible. Component description: Accessing the API components Before I start listing all the changes and how they effect us, I wanted to take a look at how to access the components. Virtually all components have a static getInstance()-method on their interface that can be used to access the components current implementation registered in the API.
This is done so that most people can use their existing learned names and keep on programming without a big shift. Examples are:
IColonyManager.getInstance() IBuildingRegistry.getInstance() These methods are of course just wrappers around their API container parts and are equivalent to: IMinecoloniesAPI.getInstance().getColonyManager() IMinecoloniesAPI.getInstance().getBuildingRegistry() A quick note on some of these endpoints (in particular the API endpoints which are IForgeRegistries): Some of these endpoints are defined by external sources, like forge. As such we are not able to ad... * pathdebugging (#3782)
Massive pathing improvement * Two hotfixes * Merge remote-tracking branch 'origin/schematics' into version/1.12 * Fixed Dwarven Farmer * Replace Birch TH 5 with the correct one * Naming issue * Fixed Stone Cook * Merge remote-tracking branch 'origin/schematics' into schematics * keep taiga at least for this merge, remove after nordic is ready. * Merge branch 'version/1.12' into schematics * Few schematic updates * Re-upload all schematics except Taiga and Dark Oak * Stone Townhall Fix * Merge remote-tracking branch 'origin/schematics' into schematics * Merge branch 'version/1.12' into schematics * Merge branch 'version/1.12' into schematics * Fixed naming on walls * New Mesa and Birch Buildings * Merge remote-tracking branch 'origin/schematics' into schematics * Merge branch 'version/1.12' into schematics * Merge branch 'version/1.12' into schematics * Remove Taiga * Merge remote-tracking branch 'origin/schematics' into schematics * Merge branch 'version/1.12' into schematics * Merge branch 'version/1.12' into schematics * Wooden Composter * Wooden Citizen * Wooden Townhall * Dark Oak Blacksmith * Merge remote-tracking branch 'origin/schematics' into Schematics * Merge remote-tracking branch 'origin/version/1.12' into schematics * Taiga Barracks * Merge remote-tracking branch 'origin/schematics' into Schematics * Merge branch 'version/1.12' into schematics * Rescans of wooden and stone * Merge branch 'version/1.12' into schematics * Fix schematics, 2 hotfixes, fix claim, fix scan command * Medieval Styles updated with new buildings and alternative buildings. * Chest to Rack update for Stone and other minor changes * Update Wooden Style for Racks * Fix Medieval Spruce Lumberjack 2 * Merge remote-tracking branch 'origin/schematics' into schematics * Merge branch 'version/1.12' into schematics * Fix Stone cook 5 to remove music disc * Merge remote-tracking branch 'origin/schematics' into schematics * Merge branch 'version/1.12' into schematics * Re-scanned Dwarven barracks * Fix missing rack in Taiga Baker5 * Fix Medieval Dark Oak WareHouse * Merge remote-tracking branch 'origin/schematics' into schematics * Merge branch 'version/1.12' into schematics * Add New Deco Wooden Wall, add some parks * Removed incorrect files, and rearranged decorations * Fix Medieval Birch Warehouse * Fix Dwarven Farmer * Taiga Townhall 1 fixed * Merge remote-tracking branch 'origin/schematics' into schematics * Merge branch 'version/1.12' into schematics * Fixes and Spacewars Sifter. * fix missing getBlock * hotfix request spam * citizen wall workaround (#3775)
- citizen wall workaround
setting the right home for guards. (#3770)
setting the right worker home for guards.
Minor fixes (#3767)
fix th teleport
- Revert "Increase the size of the API and add an actuall API. (#3756)" (#3759)
This reverts commit 007c558f5cece4716504a5d9ce7f09b75cd048ae. * Increase the size of the API and add an actuall API. (#3756)
- Fixed entire api refactoring and started rework on rs api surface. Should be more unit testable now.
Api needs another pass, some interfaces (like ICitizenEntity) should be replaced with abstract classes instead.
Working on the RS Unit testing.
Initial API work split from the RS patch.
Updated to the current live version.
Fixing unit tests not properly running due to a missing mock of the API.
- Schematics (#3723)
Tons of Schematic fixes * fix recipe detection (#3751) * hotix #3748 * Create FUNDING.yml * hotfix baker * Feature/abstract filterables (#3733)
Makes lumberjack replace snow Allows to sort ores the smelter requests. - Big abstraction work. Abstract the filterable lists into maps with keys which identify the type to be filtered. This allows each building to have several filterable lists (The smelter can now filter fuel and ores).
This rework should also improve the performance by prefiltering the most common types (smeltable ores, fuel and food) * Hostile mobs (#3673)
Features: - adding config option to make mobs hostile to citizens - adding config option to let citizens and guards call for help when attacked - citizens run away after getting hit and keeps avoiding the attacker(if there is one) - reworking old avoidance AI, now only scans the area actively after beeing attacked before. - adding mercenaries which defend the colony for a price summoned at the townhall via a button last 20 min and reappear to be hired after 40min(so a 20min cooldown) - adding housing to guards in guardtowers
Fixes: - bfix child sounds not beeing registered - fix damage sources of our entites to be entitydamagesources (so attacked citizens recognise raiders correctly) - fix raider attackspeed, previous formula was broken and not scaling at all - fix raiders stuck recognition causing them to ignore entity collision - fixing barracks citizen limit recalculation, was only recalculated on building upgrade instead of citizen assignment - fixed two pathing bugs which caused entites to not move towards their target frequently, e.g. some - raiders not moving to the colony. - fix lumberjack trying to save null values to nbt * Fixed equipped armour being taken by Guard. (#3725)
Fixed issue where Guard would take equipped armour. * Added default values to all config options. (#3730)
Default values added to each option. * fix claim radius (#3722) * Schematics (#3706)
Medieval Styles updated with new buildings and alt buildings * Fix multi dim (#3712)
Fix multi dim issues * add way to detect unloaded chunks (#3705)
Fix lag with unloaded chunks
Correctly rerequest #3598
hotfix client side crash
- hotfix handle blocks
- Several Fixes (#3690)
Tons of fixes * Fixing lumberjacks sapling map to support modded leaves (#3686)
- - fixing lumberjack exception when the 1:1 relation of the hashbimap cannot be guranteed
- Fireworks upon building upgrade! (#3663)
- Bump junit from 4.11 to 4.12 (#3637)
Bumps junit from 4.11 to 4.12. * Fixing lumberjack's sapling to leaf(blockstate) mapping (#3676)
- fixes the lumberjack's sapling to leaf mapping, so the on/off toggles in the gui are correct added a BlockStateStorage, similar to Itemstorage for using states as map keys and comparing them easily
- adjusting guard speed levels (#3671)
- Guard rework (#3668)
- Small fixes (#3661)
- Citizen despawn (#3659)
- Add code of conduct (#3657)
- Improving builder a bit (#3656)
Fixes: Herder Requests
Herders now request 8 breeding attempts worth of items, instead of just 1
Feature: RS Reassign on rack update (#3646)
Allows RS to reassign requests when a rack in a warehouse is updated
- Small fixes (#3641)
- Schematics (#3630)
Bunch of schematic fixes * Small fixes (#3631)
Fix several Issues Add suggestion GUI before manually placing block. * adding child grow message, and reducing initial delay a bit. (#3628)
Improve children growth