❗ This preview build has a known regression on MacOS. The game does not render correctly and instead just displays a red flickering screen. ❗
ℹ️ The minimal system requirements have changed. The GPU now has to support at least OpenGL 3.3 ℹ️
Changes
🚀 Features
- #4724 feat?: Don't swallow exceptions in EventSystem#invoke (@skaldarnar)
- #4705 feat: rework location change event (@pollend)
- #4634 feat(rendering)!: add vertex attribute scheme (@pollend)
- #4620 feat!: refactor mesh for GL330 (@pollend)
- #4614 feat: Allow entities to be rendered like chunks (@4Denthusiast)
- #4613 feat: migrate gestalt v7 discord subsystem (@pollend)
- #4609 feat: allow repeated jumping by key press (@mahela97)
- #4599 feat(player-config): migrate
PlayerConfig
to AutoConfig (@DarkWeird) - #4597 feat(entitySystem): Introduce DoNotPersist annotation (@antag99)
🐛 Bug Fixes
- #4751 fix: world generation with zones (@tolziplohu)
- #4745 fix: resolve lightgeometry pass problems with nonfunctional point lights (@pollend)
- #4744 fix: correct extra indices sphere builder (@pollend)
- #4726 fix: adjust 'Land.ogg' sound asset to be mono channel (@skaldarnar)
- #4725 fix: ensure absolute path in PathManager (@skaldarnar)
- #4732 fix(rendering): correct order of initilization for GLSLShader (@pollend)
- #4723 fix(DiscordRPC): NPE on shutdown (@skaldarnar)
- #4717 fix: version directives need to come before comments (@jdrueckert)
- #4711 fix: set core profile to 3.3 (@Hume2)
- #4706 fix: fix opengl memory leak in OpenGLMesh (@pollend)
- #4700 fix: remove restriction of input bindings to source modules (@jdrueckert)
- #4696 fix(engine): explicitly register
TypeHandler.class
as representative for TypeHandlerLibrary (@skaldarnar) - #4694 fix: don't restrict world generators to a certain type of module source (@keturn)
- #4693 fix: update hasInSight with camera position instead of viewPosition (@pollend)
- #4691 fix: update FloatingTextRender with GLSL change for mesh layout (@pollend)
- #4689 fix: correct getModulesProviding for screenquad (@pollend)
- #4677 fix: replace gl_TexCoord with v_uv0 for post_frag (@pollend)
- #4676 fix: texture3d is deprecated after 120 for nvidia cards (@pollend)
- #4674 fix: UI in game will get scaled with chaning "Resolution Scale" in world (@pollend)
- #4672 fix: version file for launcher + increment to next major release (@Cervator)
- #4660 fix(json-config-loading): Fix handling invalid AutoConfigs and config writing (@DarkWeird)
- #4651 fix: add excluded entity for rayTrace (@pollend)
- #4630 fix: Gitignore some more files that Intellij automatically generates. (@4Denthusiast)
- #4625 fix: correct colliders for LIQUID (@pollend)
- #4619 fix: avoid writing window size of 0 to the config (@mahela97)
- #4608 fix: could place blocks inside the player (@tolziplohu)
- #4602 fix: restore version info (@keturn)
- #4590 fix: Don't move the camera when window is refocused (@tolziplohu)
- #4531 fix: save world gen facet information in manifest (@pollend)
🧰 Maintenance
- #4750 chore(rendering): remove usage of GL_ARB_framebuffer and reworked shadowmap and lightpass (@pollend)
- #4748 chore: consume TeraNUI v3 release (@jdrueckert)
- #4746 chore(rendering): remove refrences to immediate mode (@pollend)
- #4741 chore: change entity dump filename to '-entityDump.json' (@skaldarnar)
- #4739 chore(rendering): remove OpenGLUtils (@pollend)
- #4738 chore: mark stateChange as deprecated with changes to camera (@pollend)
- #4737 chore(rendering): remove bindings from ShaderManager (@pollend)
- #4735 refactor(rendering)!: migrate chunk vertex attribute changes (@pollend)
- #4731 refactor(rendering): rework AABBRenderer with Mesh and update default glsl (@pollend)
- #4730 chore: migrate light deferred shader and cleanup usage of Sphere (@pollend)
- #4729 chore(rendering): migrate sky sphere (@pollend)
- #4722 chore: rename engine-module.txt to module.txt (@jdrueckert)
- #4721 refactor(rendering): migrate ssaoBlur for GLSL 330 (@pollend)
- #4720 refactor(rendering): replace defaultTextured with outputPass shader (@pollend)
- #4715 rendering: fix canvas fbo render with GL330 (@pollend)
- #4714 chore: mark methods using deprecated opengl for removal camera (@pollend)
- #4712 rendering: migrate extension logic (@pollend)
- #4697 chore: add doc and todo on module presence as source check (@jdrueckert)
- #4695 chore(telemetry): drop module scanning from telemetry.TelemetryScreen (@jdrueckert)
- #4692 chore: remove unused displaylist in SpriteParticleRenderer (@pollend)
- #4690 chore: migrate lightBufferPass to glsl 330 (@pollend)
- #4688 chore: migrate prePostComposite to glsl 330 (@pollend)
- #4687 chore: migrate downsampler to glsl 330 (@pollend)
- #4686 chore: migrate highpass to glsl 330 (@pollend)
- #4685 chore: remove unused shaders (@pollend)
- #4684 chore: migrate vignette to glsl 330 (@pollend)
- #4683 chore: migrate blur to glsl 330 (@pollend)
- #4682 chore: migrate sobel to glsl 330 (@pollend)
- #4681 chore: migrate initialPost to glsl 330 (@pollend)
- #4680 chore: migrate lightshafts to glsl 330 (@pollend)
- #4679 chore: migrate ssao 330 (@pollend)
- #4678 chore: migrate tone mapping to GLSL 330 (@pollend)
- #4675 chore(telemetry): drop module scanning from telemetry.Metrics (@jdrueckert)
- #4668 chore: replace map with switch for mapping direction (@pollend)
- #4667 chore: clean up usage of getPosition for chunk (@pollend)
- #4666 chore: inline ImmutableCollectionUtil within CollectionWidgetFactory (@pollend)
- #4664 chore: replace TypeMap with ClassToInstanceMap (@pollend)
- #4663 chore: remove unused collection utilities (@pollend)
- #4661 chore: add logging for when location is invalid for playing sound (@pollend)
- #4659 chore: combine NativeHelper and OS (@pollend)
- #4658 chore: remove EnumBooleanMap in favor of a boolean array (@pollend)
- #4657 chore: replace ViewFrustum with JOML FrustumIntersection (@pollend)
- #4656 chore: replace hex logic from color (@pollend)
- #4654 chore: minor cleanup for string operations (@pollend)
- #4652 chore: simplify logic for getShapeFor (@pollend)
- #4644 chore: remove unused qualifier org.joml.* (@pollend)
- #4636 chore: remove GLBufferPool (@pollend)
- #4635 chore: remove deprecated ProtobufSerializer (@keturn)
- #4624 chore: remove unused gelatinousCube asset (@pollend)
- #4623 chore: improve block mesh generator (@pollend)
- #4622 chore: migrate to gestalt v7—fork 🅰, keep subsystems separate (@keturn)
- #4616 chore: add primative mesh producer in-place of OpenGLUtils#renderFullscreenQuad (@pollend)
- #4615 chore: refactor physics voxel world system (@pollend)
- #4610 chore: remove DebugPropertySystem (@pollend)
- #4604 chore: TeraNUI 3.0 update: Implemented
UISkinTypeHandler.getAsString
(@BenjaminAmos) - #4600 refactor!: Simplify Chunk inheritance hierarchy (@4Denthusiast)
- #4598 chore: update to TeraNUI 3.0 from 1.5, for gestalt separation (@keturn)
- #4584 refactor(CreateWorldEntity): aggressive refactoring (@keturn)
- #4719 style: fix checkstyle findings (@jdrueckert)
- #4710 style: fix AnnotationUseStyle (@skaldarnar)
- #4702 style: improve code style (@skaldarnar)
🐢 Performance
- #4727 perf: reuse Vector3f/Quaternionf between game ticks (@skaldarnar)
📚 Documentation
- #4734 doc: broken wiki link in README (@meetcshah19)
- #4728 doc: improve document of PlaySound and PlaySoundForOwner events (@skaldarnar)
- #4665 doc: Update README (@Onkar627)
- #4594 doc: Fixing spelling error (@mahela97)
🧪 Tests
- #4703 test(ModuleManager): new tests for existing behavior (@keturn)
- #4648 test: provide a stub PathManager during tests (@keturn)
- #4605 test: add "TteTest" tag (@jdrueckert)
⚙️ Logistics
- #4701 ci: split Analytics stage (@jdrueckert)
- #4669 build(github): add common 'labels.json'; update release drafter config (@skaldarnar)
- #4649 build(modules): use same DependencyInfo -> String logic for modules and engine (@skaldarnar)
- #4645 build(modules): improve matching of compatible versions in module deps (@keturn)
- #4632 logistics: Replace usage of jcenter (shutting down) (@Cervator)
- #4631 logistics: use new pre-cached builder image in Jenkins (@Cervator)
- #4611 build: add tasks for 'unit' and 'integration' tests (@skaldarnar)