Hello everyone! We delayed this update by a month so we could resync to publishing new releases at the end of each month, rather than the start of them.
Hopefully it was worth the wait! We've got a lot to go through, so let's get to it.
For this release, we mark new work on 1.13+, performance improvements, a switch to Gradle, and more!
And just a note: we're currently doing a forked release strategy, where we release a 1.12 working server along with our progress to 1.13+. This is done through our protocol version, i.e, for this month, we're releasing 2021.8.0 for 1.12 (as we did release 2021.7.0 prior), while 1.13+ was on 2021.7.1 & 2021.8.1. We will be doing this release strategy until our dev branch is working with clients!
- Added Gradle! (#1117)
- Add Redstone Transformer to gradle build (#1120)
- Mark gradlew as executable (#1121)
- Use Gradle for GitHub PR checks (#1123)
- Replaced Glowstone CraftingManager and WIP tags system with Redstone Transformer's RecipeManager and TagManager (#1116)
- Added missing tags to ArrowStore and ProjectileStore (#1115)
- Added support for new 1.13 air types (#1114)
- Rebased checkstyle config onto latest Google Checkstyle
- Fixes import order issues
- Restored support for BungeeCord connections
- Removed support for LilyPad proxy
- Optimized protocol memory usage by adding support for different codec allocation sizes for inbound and outband
- Optimized ChunkDataMessage data allocation to pool and deallocate within the session
- Optimized chunk query in entity pulse
- Optimized bitfields in metadata map
- Optimized player and entity pulse loops
- Optimized per chunk block updates
- Optimized empty ticks
- Optimized chunk generation when it is disabled
- Optimized chunk keying and access
- Avoided boxing for chunks and block entities
- Optimized network compression handler
- State data is no longer recreated when it could be modified instead
- Prevented allocations in EntityManager when an entity type is queried for which there are no instances of
- Skipped physics updates in a few world generator objects
- Removed block state create in world generator where it was not needed
- Removed unused
stateBaseIds.yml file, which has been superseded by Redstone Transformer
- Fixed chat message and command coloring
- Fixed Linkstone plugin not loading
- Fixed Linkstone plugin errors on later version of Java
- Fixed blocks flickering upon dig
- Fixed handshake version check
- Fixed nullability and various other issues (#1118)
- Fixed NPE in GlowContainer isLocked (#1119)
- Fixed login username handling
- Fixed some server panels not detecting Glowstone was started
- Fixed line ending handling on Windows
Outside of the repo, we also cleaned up our issues backlog, reducing our open issues (by 10) from 59 to 49, and updating the status of 11 open ones! We also closed out 7 issues on our 1.13 board.
Since we launched our new site 2 months ago, it continues to get upgrades! We've now updated to the latest version of Bulma Sass
and did some minor UI tweaks here and there based on feedback. For developers, we've improved the experience by adding screenshot diffing
to PRs, improved live reload performance, added Sass live reloading, and changed to use relative links.
Ongoing 1.13+ work
A huge amount of 1.13 work has landed in Glowstone's dev branch, as seen above, adding support for recipes and tags.
There is still a bit of ongoing work on tags to replace material set tags, with the last pending work being converting TagManager to a singleton. There's still a lot to go, though, and we'd appreciate your help! Right now, our most pressing needs are chunk and networking updates, so that we can begin testing with the client properly.