❗ This preview build has a known regression in Dynamic Cities which causes no cities to be generated. Therefore, game modes relying on this module currently do not work as expected (this includes Metal Renegades) ❗
Engine Changes
🚀 Features
- feat(subsystems): extract TypeHandlerLibrary. (#4255)
- feat(JOML): migrate world gen (#4322)
- feat: add BlockArea to replace Rect2i (#4050)
- feat(JOML): migrate to Rectanglei nui.animation (#4341)
🐛 Bugfixes
- fix: don't delete camera during purgeWorld command (#4310)
- fix: add borders to atlas subtextures (#4311)
- fix: add missing absolute value for box collider extent (#4325)
- fix: make use of constant vectors and blockregion
- fix(world): Compute border requests from rasterizers and
@Updates
annotations. (#4313) - fix: casing fix for homedir arg from Gradle (#4337)
👨🏫 JOML
- feat(JOML): migrate BlockRegionComponent logic (#4296)
- feat(JOML): migrate
character
package events and systems (#4279) - feat(JOML): add toBlockMapping utility (#4314)
- feat(JOML): remove Transfrom from MeshRenderer (#4261)
- feat(JOML): migrate block placement (#4228)
- feat(JOML): migrate ThirdPersonRemoteClientSystem (#4302)
- feat(JOML): migrate character movment (#4303)
- feat(JOML): migrate camera target system (#4262)
🧰 Maintenance
- chore: removed count field for issue #4242 (#4308)
- chore: Remove all the remaining occurences of SurfaceHeightFacet (#4290)
- refactor!(BlockRegion): Rewrite of BlockRegion (#4321)
- refactor!(BlockRegion): full API overhaul (#4326)
- chore: remove SubSampledNoise2D/3D (#4334)
⚙️ CI/CD
- ci(subsystems): Make TypeHandlerLibrary publishable with engine's version (#4307)
- build(gradle)!: no longer append
-SNAPSHOT
to versions based on current git branch (#4032, #4039) - build(gradle): remove mavenLocal from project repositories (#4330)
- build(gradle): save build time by not checking jcenter for terasology dependencies (#4342)
📚 Documentation
- doc: add system requirements to README (#4332)
Module Changes
✨ New Modules
- Add https://github.com/Terasology/FallingBlocks module to Omega (Terasology/Index#9)
- Add https://github.com/Terasology/Notifications module to Omega
- Add https://github.com/Terasology/Xmas module to Omega
🚀 Features
- feat: Use 3D noise to add cliffs, overhangs, arches and floating islands. (Terasology/CoreWorlds#18)
- feat: generate fir trees (Terasology/Xmas#3)
- feat: give players a little christmas present (Terasology/Xmas#1)
- feat: Let it Snow (Terasology/Xmas#4)
- feat(BlockRegion): adjust for changes to BlockRegion
Terasology/ClimateConditions#41, Terasology/CombatSystem#63, Terasology/DynamicCities#77, Terasology/Furnishings#6, Terasology/Health#57, Terasology/LightAndShadow#179, Terasology/MasterOfOreon#85, Terasology/MetalRenegades#121, Terasology/MultiBlock#13, Terasology/Rails#67, Terasology/Smithing#13, Terasology/StructureTemplates#52, Terasology/WoodAndStone#65, Terasology/WorkstationCrafting#19 - feat: Replace custom widget with Notifications (Terasology/EventualSkills#13)
- feat: Replace custom widget with Notifications (Terasology/InGameHelp#11)
- feat: Update the world generator to use the new simplex-based providers
Terasology/Exoplanet#15, Terasology/DynamicCities#78, Terasology/ParadIce#7 - feat: Update world generator for compatibility (Terasology/MetalRenegades#122)
- feat: Replace SurfaceHeightFacet with ElevationFacet and SurfacesFacet (adjust for #4237)
Terasology/Minerals#12, Terasology/AlchemyPlantGenerator#4, Terasology/FlyingIslands#1 - feat(SpawnPlateauProvider): derive target height from elevation and sea level facets (Terasology/CoreWorlds#16)
🐛 Bugfixes
- fix: add CoreAdvancedAssets optional dependency (Terasology/Xmas#2)
- fix: Change biome selection so that snow biomes are actually possible. (Terasology/CoreWorlds#20)
- fix: remove out-of-date copy of the default world generator (Terasology/Inferno#15)
- fix: typo (Terasology/JoshariasSurvival#47)
- fix: Reduce the priority for placing fluids (Terasology/Fluid#28)
- fix: add missing mature guava bush (Terasology/AdditionalFruits#13)
- test: fix failing tests (Terasology/DynamicCities#79)
- fix: Make less assumptions on the relative sizes of facet borders. (Terasology/Caves#12)
- fix: enemy height offset (Terasology/GooeyDefence#48)
👨🏫 JOML
- feat(JOML): migrate location component for SegmentSystem (Terasology/SegmentedPaths#16)
- feat(JOML): migrate world generation
Terasology/Minerals#14, Terasology/Minesweeper#17, Terasology/OreGeneration#11, Terasology/WeatherManager#17, Terasology/MasterOfOreon#84, Terasology/Lost#28, Terasology/LightAndShadow#178, Terasology/Lakes#15, Terasology/JoshariasSurvival#46, Terasology/Inferno#14, Terasology/GrowingFlora#23, Terasology/GooeyDefence#49, Terasology/FlowingLiquids#22, Terasology/FlexiblePathfinding#13, Terasology/Exoplanet#14, Terasology/EdibleFlora#10, Terasology/DynamicCities#76, Terasology/CustomOreGen#9, Terasology/CoreWorlds#19, Terasology/Cities#41, Terasology/Caves#13, Terasology/AnotherWorld#16, Terasology/AlchemyPlantGenerator#5, Terasology/ClimateConditions#40 - chore(JOML): align with block placement migration (#4228)
Terasology/AnotherWorldPlants#8, Terasology/DynamicCities#74, Terasology/GrowingFlora#22, Terasology/ChangingBlocks#9, Terasology/Climbables#4, Terasology/ItemPipes#25, Terasology/StructureTemplates#50, Terasology/Fluid#26, Terasology/FlowingLiquids#21, Terasology/ModularComputers#14, Terasology/MobileBlocks#4, Terasology/Smithing#12, Terasology/IRLCorp#31, Terasology/MultiBlock#12, Terasology/Rails#66, Terasology/Furnishings#5, Terasology/StructuralResources#13, Terasology/Minimap#18- feat: Set instigator in DamageFollowedEntityAction.java (Terasology/Behaviors#54) - feat(JOML): migrate JOML for BlockRegion (Terasology/Furnishings#4)
Terasology/Machines#42, Terasology/Health#55, Terasology/MultiBlock#11, Terasology/WorkstationCrafting#17, Terasology/IRLCorp#29, Terasology/StructureTemplates#48, Terasology/WoodAndStone#63, Terasology/LightAndShadow#176, Terasology/Smithing#11 - chore(JOML): align for character event and system changes in #4279
Terasology/MasterOfOreon#81, Terasology/LightAndShadow#174, Terasology/GooKeeper#32, Terasology/FunnyBlocks#19, Terasology/CombatSystem#59, Terasology/AdventureAssets#32, Terasology/Rails#62, Terasology/FlowingLiquids#18, Terasology/Health#54, Terasology/BiomesAPI#7 - chore(JOML): minor cleanup (Terasology/AdventureAssets#34)
- feat(JOML): module migrations
Terasology/FallingBlocks#1, Terasology/CoreWorlds#17, Terasology/ItemRendering#11, Terasology/Health#56, Terasology/FunnyBlocks#20, Terasology/FlowingLiquids#20, Terasology/CombatSystem#62, Terasology/Breathing#13, Terasology/Sensors#9
🧰 Maintenance
- chore: remove SurfaceHeightFacet entirely (Terasology/CoreWorlds#15)
- chore(extract-subsystem): align with extracted TypeHandlerLibrary (Terasology/Dialogs#22)
- chore: minor import cleanup (Terasology/BiomesAPI#8)
⚙️ CI/CD
- chore(CI): add "-SNAPSHOT" due to recent release process changes (Terasology/IRLCorp#33)
- chore(CI): add "-SNAPSHOT" due to recent release process changes (Terasology/ModuleTestingEnvironment#32)