Engine 4.1.0 / Alpha 17
Engine Changes
π Features
- feat: Upgrade Netty to version 4 (#4224)
- feat(MutableComponentContainer): Handle 'null' values in [update|upsert]Component (#4258)
- feat: start first game day at sunrise (#4253)
- feat(rendering): Adjust minimal amount of daylight at night
- feat: remove use of Transform for BulletShapes (#4202)
- feat(subsystems): extract DiscordRPCSubSystem (#4233)
- feat: Add AFK state for players in multiplayer (#3571)
- feat: Add ElevationFacet and SurfacesFacet to replace SurfaceHeightFacet. (#4237)
- feat: add TypeHandler for BlockRegion, Color/c, Rectanglei/f and clean up code (#4182)
- feat(controllers): replaced Jinput controller lib with LWJGL3 (GLFW) controller lib (#4218)
- feat: increase default window size to 8:5 WXGA (#4160)
- feat: add type handlers for Vector2/3/4fc and Vector2/3/4ic TypeHandlers and basic test cases for Event (#4174)
- feat: LWJGL 3 β¨ (#4216)
- feat: glTF Support π±βπ (#4150)
- feat(i18n): Update Czech translations (#4187)
- feat: replace deprecated md5 assets with new gltf floating cube (#4293)
- feat(nui): allow batch-adding multiple paragraphs to HTMLDocument (#4291)
- feat(BlockRegion): add BlockRegion helpers (#4272)
- feat(subsystems): add creating and loading
reflections.cache
for subsystems (#4274) - feat(player): increase player's eye height 0.7 >>> 0.85 (#4276)
π Bugfixes
- fix: InputSystem#getInputsForBindButton was throwing NPE (#4256)
- fix: reverse order of notification in PojoEntityManager (#4254)
- fix: reduce default mouse sensitivity from 0.75 to 0.25 (#4252)
- fix: remove afk screen (#4248)
- fix: index out of bounds in
GLTFAnimationFormat
(#4247) - fix(skeletal-mesh-scaling): add scaling for skeletal-meshes (#4246)
- fix: afk screen closing string
- fix: Fix not killed process. (#4241)
- fix: Reloading .ui file for screens during game (#4121)
- fix(menu): remove notification to configure identity service (#4229)
- fix: moving on typing, typing keybind in console/chat (#4222)
- fix: Re-add collision mesh for liquid blocks
- fix(screenshot): fix quad screenshots (#4220)
- fix(nui-input): access to
KeyboardDevice
(#4219) - fix(build): added "java-platform" gradle plagin for "platform"/BOM dependencies. Seems, broken after upgrading gradle to version 6.7
- fix: AGS selection weirdness (#4213)
- fix(gradle-server): restore missing suffix for jvmarg -Xmx (#4212)
- fix(gradle): remove obsolete comment
- fix(nui):
InputSettings:onClose
out-of-bounds crash (#4199) - fix: action construction exception log (#4192)
- fix: reduce volume and overmodulation of main theme (#4298)
- fix: dispose physic's natives, stop threads. (#4299)
- fix(world/chunks): make GenerateQueueEntity as Concurrent Collection (#4297)
- fix(networking-timeout): graceful shutdown after failed connection (#4266)
- fix: tweak lighting for over exposure problem (#4285)
- fix(worldgen): Remove weird features near the origin from BrownianNoise (#4288)
- fix: prevent NPE during movement interpolation (#4278)
- fix: item pickup radius (again) (#4282)
- fix(i18n): misspells / typing errors in czech translation (#4268)
- fix(network): fix server info request and ping error handling (#4267)
- fix: Time out of sync for players in multiplayer (#4292)
- fix(BlockRegion): correct center calculation for BlockRegion (#4301)
π¨βπ« JOML
- feat(JOML): migrate LocalPlayerSystem (#4249)
- feat(JOML): migrate core commands (#4251)
- feat(JOML): migrate lwjglCanvasRenderer (#4230)
- feat(JOML): migrate BlockItemSystem and Physics#scanArea (#4193)
- feat(JOML): migrate player factory (#4205)
- feat(JOML): migrate ChunkMath#getChunkRegionAroundWorldPos (#4204)
- feat(JOML): migrate storage transaction (#4203)
- feat(JOML): migrate FirstPeronHeldItem/Mount/Transform Component (#4178)
- feat(JOML): migrate target system (#4161)
- feat(JOML): migrate NetClient (#4183)
- feat(JOML): migrate block (#4164)
- feat(JOML): migrate DistanceComparator (#4165)
- feat(JOML): remove use of JOMLUtil for #getBlock (#4163)
- feat(JOML): migrate wavefront format (#4191)
- feat(JOML): Fixes invisible spawning when scale is used (#4198)
- feat(JOML): prepare
BlockComponent
for migration (#4186) - feat(JOML): add orientation for Rotation (#4168)
- feat(JOML): migrate CharacterMovmentComponent (#4177)
- feat(JOML): migrate ChangeVelocity/Force, Impulse events (#4176)
- feat(JOML): migrate action event (#4172)
- feat(JOML): migrate LocalPlayer and correct Direction (#4162)
- feat(JOML): migrate random (#4167)
- feat(JOML): Migrate JOML for MultiConnectFamily and UpdateWithNeighboursFamily (#4069)
- feat(JOML): add BlockRegion#center (#4159)
- feat(JOML): migrate Side#inDirection(Vector3f) (#4130)
- feat(JOML): migrate StandardBatchPropagator region (#4195)
- feat(JOML): Migrate side#getVector3i() to direction() (#4101)
- feat(JOML): migrate SkeletonRenderer (#4283)
- feat(JOML): add util for
Region3i
fromBlockRegion
(#4284) - feat(JOML): migrate player spawn component and logic (#4281)
- feat(JOML): migrate
AudioManager
(#4275) - feat(JOML): migrate CharacterTeleportEvent (#4273)
- feat(JOML): migrate
InputSystem
and events (#4259) - feat(JOML): migrate monitoring (#4260)
π’ Performance
- perf(chunkprovider): add sorting for incoming request on chunk loading/generation. (#4280)
- perf: drop creation of unnecessary array on new chunk event (#4269)
π§° Maintenance
- chore: reduce log-level of
NetworkSystemImpl
's component added/removed logs - chore: make older builds in Jenkins prune their attached artifacts + minor quality tweaks
- chore: bump dependency on splash screen to a fully released version, should be no real functional changes (#4239)
- chore: change texture file for 'engine:gui' atlas (crosshair-only) (#4232)
- chore: Extract "run game" task configurations (#4245)
- chore(settings): disable identity service login ui features (#4125)
- chore: Archive COLLADA format (#4227)
- chore(chunkprovider): Streamline ChunkProvier (#4214)
- chore: remove ImmutableBlockLocation (#4170)
- chore: remove md5 loader (#4184)
- chore: remove Has/Cancel/Add DelayedActionEvent (#4166)
- chore: remove ConcurrentMapChunkCache (#3962)
- chore(JNA): update JNA to 5.6.0, remove com.sun.jna from jopenvr.jar (#4169)
- chore: backport changes from old bullet branch (#4139)
- refactor: Chunk provider refactoring. Part 2. (#4140)
- perf: tweak sort for validating chunk n^2 cost (#4179)
- chore: remove some of the most noisy debug logs (#4294)
β CI/CD
- build: log Java version and JDK path with gradle warning. (#4223)
- build: add extract natives for jinput (#4217)
- build: Upgrade Gradle to 6.7 (#4171)
- build: convert facades/PC to gradle to kts (#4175)
π Documentation
- doc: archive
WildAnimalsMadness
(#4207) - doc: update module lineup list (#4173)
- doc: fix some JavaDoc errors (#4264)
Module Changes
π Features
- feat: add prefabs with TimedMusicTrigger for music assets (Terasology/ChrisVolume2OST#4)
- feat: Replace SurfaceHeightFacet with SurfacesFacet and ElevationFacet (Terasology/Lost#24)
- feat: Replace SurfaceHeightFacet with SurfacesFacet and ElevationFacet (Terasology/PolyWorld#28)
- feat: remove minimap (Terasology/LightAndShadow#168)
- feat: Significant re-write, changing the algorithm and lake shape. (Terasology/Lakes#14)
- feat: Replace SurfaceHeightFacet with SurfacesFacet and ElevationFacet (Terasology/LightAndShadow#167)
- feat: Replace SurfaceHeightFacet with SurfacesFacet and ElevationFacet (Terasology/ParadIce#4)
- feat: Replace SurfaceHeightFacet with SurfacesFacet and ElevationFacet (Terasology/MetalRenegades#112)
- feat: Replace SurfaceHeightFacet with SurfacesFacet and ElevationFacet (Terasology/DynamicCities#70)
- feat: Replace SurfaceHeightFacet with SurfacesFacet and ElevationFacet. (Terasology/CoreWorlds#13)
- feat: Replace SurfaceHeightFacet with SurfacesFacet (Terasology/JoshariasSurvival#44)
- feat: Allow surface decorations into cave entrances (Terasology/Caves#10)
- feat: add robot models (Terasology/MetalRenegades#107)
- feat(icons): update icons for hypo-/hyperthermia conditions (Terasology/ClimateConditions#34)
- feat: add sheep assets (Terasology/WildAnimals#68)
- feat: More rock types (Terasology/GenericRocks#2)
- feat: replace animals with Quaternion's cute monsters (Terasology/WildAnimals#67)
- feat: improve `EnemySpawnSystem (Terasology/MetalRenegades#103)
- feat: merge in
WildAnimalsMadness
assets, add new icons (Terasology/WildAnimals#64) - feat: Upgrading LWJGL to version 3 (Terasology/CoreRendering#15)
- feat: Enable placement of liquids from containers (Terasology/Fluid#21)
- feat: Add a timer to indicate when the restart button gets enabled (Terasology/LightAndShadow#161)
- feat: add FlowingLiquids dependency (Terasology/JoshariasSurvival#40)
- feat: tweak physics for bullet changes (Terasology/ChangingBlocks#8)
- feat: Asset improvements and lore changes (Terasology/Lost#15)
- feat: Disabled mode for restart button (Terasology/LightAndShadowResources#60)
- feat: add display name component to item prefabs (Terasology/IRLCorp#28)
- feat: add display names for blocks (Terasology/ManualLabor#39)
- feat: add gooey assets (Terasology/Gooey#5)
- feat: Improve in-game help (Terasology/Workstation#15)
- feat: Improve in-game help (Terasology/WorkstationInGameHelp#10)
- feat: replace deprecated md5 assets with gooey from MawGooey (Terasology/GooeyDefence#43)
- feat: Replace SurfaceHeightFacet with ElevationFacet (Terasology/TutorialMinimalEngineDemo#2)
- feat: Replace SurfaceHeightFacet with ElevationFacet and SurfacesFacet (Terasology/ModuleTestingEnvironment#29)
- feat: Replace SurfaceHeightFacet with ElevationFacet and SurfacesFacet (Terasology/SurfaceFacets#5)
- feat: Replace SurfaceHeightFacet with ElevationFacet and SurfacesFacet (Terasology/GrowingFlora#21)
- feat: Replace SurfaceHeightFacet with ElevationFacet and SurfacesFacet (Terasology/Minesweeper#16)
- feat: Replace SurfaceHeightFacet with ElevationFacet and SurfacesFacet (Terasology/TutorialQuests#17)
- feat: use gooey from MawGooey (Terasology/GooeysQuests#56)
- feat: use gooey from MawGooey (Terasology-Archived/GooKeeper#31)
- feat: use gooey from MawGooey module (Terasology/MetalRenegades#113)
- feat(HelpItem): provide "formatted" paragraph data instead of modifying DocumentData (Terasology/InGameHelpAPI#6)
- feat(MachineWindow): sort items by display name (Terasology/Machines#41)
π Bugfixes
- fix: create
ActivateRegenEvent
with regen value (Terasology/ClimateConditions#35) - fix: regeneration starting too soon (Terasology/Health#51)
- fix: Remove dependence of exposure on whether it's night (Terasology/CoreRendering#24)
- fix: chess piece assets (Terasology/LightAndShadowResources#62)
- fix: Only place ore where there is already rock. (Terasology/OreGeneration#10)
- fix: robot citizens (Terasology/MetalRenegades#110)
- fix: model orientation (Terasology-Archived/GooKeeper#30)
- fix: model orientation (Terasology/GooeysQuests#55)
- fix: model orientation and size (Terasology/MetalRenegades#105)
- fix: keep aspect ratio of icons (just scale) (Terasology/WorldlyTooltip#15)
- fix: oreon animations and icons (Terasology/MasterOfOreon#79)
- fix: model orientation and icon (Terasology/Gooey#4)
- fix: model orientation (Terasology/WildAnimals#69)
- fix: down-size visitor model (Terasology-Archived/GooKeeper#29)
- fix: NPE in `EconomySystem (Terasology-Archived/GooKeeper#26)
- fix: Lwjgl3 compile fix (Terasology/ModularComputers#10)
- fix: mawgooey icon (Terasology/MetalRenegades#104)
- fix: add mawgooey icon to atlas (Terasology/WildAnimals#66)
- fix: Added CoreRendering to module.txt (Terasology/ParadIce#3)
- fix: inverted faces of NarrowBlockShape (Terasology/CoreAssets#10)
- fix: model sizes and offsets (Terasology/WildAnimals#65)
- fix: texture region resolution error (Terasology/SimpleFarming#102)
- fix(lwjgl): replace deprecated `getKeyCharacter (Terasology/KComputers#7)
- fix: Avoid placing liquids at the same time as filling tanks (Terasology/Machines#35)
- fix: key bind for ProgramEditingConsoleGui and PlayerCommandConsoleGui (Terasology/ModularComputers#7)
- fix: checkstyle errors (Terasology/KComputers#4)
- fix: adapt to changes to BlockRegionIterable (Terasology/ClimateConditions#38)
- fix: adapt to changes to BlockRegionIterable (Terasology/DynamicCities#73)
- fix: adapt to changes to BlockRegionIterable (Terasology/MetalRenegades#117)
- fix: adapt to changes to BlockRegionIterable #73 (Terasology/CombatSystem#61)
- fix: union regions instead of min and max (Terasology/StructureTemplates#47)
π±βπ glTF
- fix: replace deprecated md5 gooey with new gltf gooey (Terasology/MetalRenegades#101)
- fix: gltf (Terasology/HumanoidCharacters#9)
- fix(gltf): replace deprecated md5 assets (Terasology-Archived/GooKeeper#27)
- feat(gltf): Changed obj meshes to gltf (Terasology/AdvancedRails#7)
- feat(gltf): Changed obj meshes to gltf (Terasology/Rails#55)
- feat(gltf): Converted obj models to gltf (Terasology/AdditionalRails#38)
- feat(gltf): gltf support for male and female meshes (Terasology/HumanoidCharacters#4)
- feat(gltf): gltf support for Gooey and Skeleton (Terasology/GooeysQuests#52)
- feat: GLTF Support (Terasology/WildAnimals#59)
- feat(gltf): Replaces md5 mawGooey mesh with gltf (Terasology/Gooey#3)
- feat(gltf): migrate for gltf (Terasology/LightAndShadowResources#61)
- feat: add gltf support (Terasology/Oreons#8)
π¨βπ« JOML
- feat(JOML): migrate card system (Terasology/LightAndShadow#170)
- feat(joml): migrate `AnimalSpawnSystem (Terasology/MetalRenegades#106)
- feat(JOML): migrate direction (Terasology/ItemPipes#24)
- feat(JOML): migrate worldProvider setBlock (Terasology/Durability#8)
- feat(joml): `RiverRasterizer (Terasology/PolyWorld#27)
- feat(joml): `VisualEffectorSystem (Terasology/GooeyDefence#42)
- feat(joml): migrate `Explosives (Terasology/Explosives#3)
- feat(JOML): minor tweak from simplefarming (Terasology/MetalRenegades#100)
- feat(JOML): tweak for simple farming (Terasology/AdditionalRails#43)
- feat(JOML): quick migration for pathfinding (Terasology/Behaviors#47)
- feat(JOML): migrate SimpleFarming (Terasology/SimpleFarming#101)
- feat(JOML): migrate and clean up (Terasology-Archived/Pathfinding#47)
- feat(JOML): migrate and clone up code and update copyright (Terasology/WildAnimals#63)
- feat(JOML): migrate `GooKeeper (Terasology-Archived/GooKeeper#25)
- feat(joml): general cleanup and migration with support methods (Terasology/Potions#64)
- feat(JOML): migrate and clean up code (Terasology/Rails#61)
- feat(JOML): migrate CharacterMovmentComponent (Terasology/Rails#60)
- feat(JOML): migrate physic event (Terasology/Inventory#28)
- feat(joml): migrate `KallistiDisplayComponent (Terasology/KComputers#1)
- feat(joml): changes from bullet physics conversion (Terasology/AdvancedRails#5)
- feat(joml): changes from bullet physics conversion (Terasology/Alchemy#9)
- feat(joml): changes from bullet physics conversion - JOML (Terasology/Rails#51)
- feat(joml): migrate block family (Terasology/Rails#57)
- feat(joml): migrate block family (Terasology/Fences#12)
- feat(joml): migrate block family (Terasology/Machines#33)
- feat(joml): migrate block family (Terasology/ItemPipes#19)
- feat(joml): migrate block family (Terasology/GrowingFlora#16)
- feat(joml): migrate block family (Terasology/AdditionalRails#39)
- feat(joml): migrate block family (Terasology/Sample#116)
- feat: migrate JOML physics (Terasology/IRLCorp#26)
- feat: migrate JOML physics (Terasology/CombatSystem#54)
- feat: migrate JOML physics (Terasology/ItemPipes#22)
- feat: migrate JOML physics (Terasology/Projectile#10)
- feat: migrate JOML physics (Terasology/Rails#58)
- feat: migrate JOML physics (Terasology/SegmentedPaths#13)
- feat: migrate JOML physics (Terasology/Sensors#7)
- feat: migrate JOML physics (Terasology/AdditionalItemPipes#18)
- feat: migrate JOML physics (Terasology/AdditionalRails#41)
- feat: migrate JOML physics (Terasology/AdvancedRails#8)
- feat: migrate JOML physics (Terasology/AdventureAssets#29)
- feat: migrate JOML physics (Terasology/Equipment#128)
- feat: migrate JOML physics (Terasology-Archived/GooKeeper#22)
- feat: migrate JOML physics (Terasology/LightAndShadow#157)
- feat(JOML): migrate ore facet (Terasology/CustomOreGen#7)
- feat(JOML): migrate ore facet (Terasology/OreGeneration#9)
- feat: migrate JOML physics (Terasology/MetalRenegades#99)
- feat(JOML): migrate action event (Terasology-Archived/GooKeeper#24)
- feat(JOML): migrate action event (Terasology/Furnishings#3)
- feat(JOML): migrate action event (Terasology/Fluid#24)
- feat(JOML): migrate action event (Terasology/Explosives#2)
- feat(JOML): migrate action event (Terasology/CombatSystem#57)
- feat(JOML): migrate action event (Terasology/AnotherWorldPlants#7)
- feat(JOML): migrate action event (Terasology/WorkstationCrafting#16)
- feat(JOML): migrate action event (Terasology-Archived/WoodAndStone#62)
- feat(JOML): migrate action event (Terasology/StructureTemplates#44)
- feat(JOML): migrate action event (Terasology/SimpleFarming#100)
- feat(JOML): migrate action event (Terasology/Signalling#22)
- feat(JOML): migrate action event (Terasology/Projectile#12)
- feat(JOML): migrate action event (Terasology/MasterOfOreon#78)
- feat(JOML): migrate action event (Terasology/Machines#40)
- feat(JOML): migrate action event (Terasology/Lost#16)
- feat(JOML): migrate action event (Terasology/LightAndShadow#165)
- feat(joml): migrate target system (Terasology/WorldlyTooltip#13)
- feat(JOML): align with changes in `StructureTemplates (Terasology/DynamicCities#71)
- feat(JOML): align with changes in `StructureTemplates (Terasology/MasterOfOreon#82)
- feat(JOML): align with changes in `StructureTemplates (Terasology/Scenario#50)
- feat(JOML): cleanup and migrate code to joml (Terasology/AdventureAssets#31)
- feat(JOML): migrate joml structured templates (Terasology/ClimateConditions#37)
- feat(JOML): migrate joml structured templates (Terasology/CombatSystem#60)
- feat(JOML): migrate joml structured templates (Terasology/GooeysQuests#58)
- feat(JOML): migrate structured template (Terasology/Lost#27)
- feat(JOML): migrate for structured templates (Terasology/MetalRenegades#116)
π’ Performance
- perf(client): set ViewDistance to "Legally Blind" for headless clients (Terasology/ModuleTestingEnvironment#31)
π§° Maintenance
- chore: reduce
LogAction
log level to `debug(Terasology/Behaviors#49) - chore: remove deprecated md5 assets (Terasology/Sample#119)
- chore(omega): remove `WildAnimalsMadness (Terasology/Index#8)
- chore: refactor
Region
to `GraphRegion (Terasology/PolyWorld#26) - refactor: adjust to renaming of PolyWorld's graph.Region >>> GraphRegion (Terasology/Lost#22)
- perf: add relevance check to avoid creating additional entity (Terasology/ModuleTestingEnvironment#27)
- chore: formatting (Terasology/AdditionalRails#36)
- chore: TeraMath / JOML conversion (Terasology/Inventory#26)
- chore: remove skeleton from CombatSystem (Terasology/CombatSystem#56)
- chore: update direction of fool (Terasology/LightAndShadow#163)
- chore: remove JOMLUtil from block tint (Terasology/CoreRendering#23)
- chore: remove use of ImmutableBlockLocation in favor of Vector3i (Terasology/ClimateConditions#33)
- chore: align deer size with sheep (Terasology/WildAnimals#73)
- chore: remove deprecated md5 assets (Terasology/Gooey#8)
- chore: Remove reference to SurfaceHeightFacet (Terasology/Exoplanet#13)
- chore: Remove SurfaceHeightFacet (Terasology/Caves#11)
- chore: Remove unused import: ElevationCompatibilityProvider (Terasology/GooeyDefence#46)
- chore: Remove usage of SurfaceHeightFacet from IglooProvider (Terasology/ClimateConditions#39)
- chore: update copyright and remove unused imports (Terasology/WildAnimalsGenome#10)
- chore(ItemsCategory): manage and sort item help entries via custom data type (Terasology/InGameHelp#12)
π Documentation
- doc: Created README.md (Terasology/Lost#23)