Introduction
68 Pull Requests merged | 49 Issues resolved | 134 Commits |
This release is a little smaller than usual due to the previously-mentioned schedule shift, but 5.13.0 still has quite a few new things for developers to play with, as well as plenty of bug fixes.
You can download Luanti from our website, check out the code on GitHub, or read the full changelog.
Table of Contents
- Persistent Object IDs
- Working with Nodes
- Show Them Their Inventory
- A Couple of Controls
- Bugs-B-Gone
- What’s Next?
Persistent Object IDs
Let’s start with the big one: Object IDs! Why is this important? You see, before persistent object IDs, developers had to track unloaded entities and objects manually using staticdata or other gross tricks. With #14135, the engine provides Object:get_guid()
, returning a globally unique identifier that will remain consistent across unloads and world sessions until the entity is destroyed. Never lose track of your objects ever again!
Working with Nodes
Here’s a handful of methods you can use when working with nodes and chunks.
core.get_node_raw()
to query nodes from the map, but faster, and with a content ID (#16265)VoxelManip:initialize()
to create an empty VM storage object (aa1bab2)core.get_mapgen_chunksize()
to determine the configured chunksize for your custom mapgens (#16289)
Handy, no?
Show Them Their Inventory
It might not seem significant, but manually pulling up a player’s inventory has been a long-requested feature. Now, by passing an empty string (""
, reserved for the player inventory) as the formname to core.show_formspec()
, you can open the player’s inventory without their input (#15963). The inventory formspec is smoother when updating after input so mods can create forms that update with less flow interruption. I bet this could be used in some creative ways…
A Couple of Controls
Firstly, you can now cycle through inventory tabs using ctrl+tab
(+shift
to cycle in reverse). This is a standard keybind for application tab switching, so we are happy to see it arrive in Luanti (#16167).
Secondly, the keybind modifier for exiting to the main menu is configurable (#16250). ESC
plus whatever you desire. More importantly, it is no longer set by default, preventing players from accidentally leaving the game due to pressing Shift+ESC
during quick movements. Now you can play CTF in (relative) peace.
Bugs-B-Gone
The exterminators developers have been hard at work making Luanti more stable and consistent. You may be happy to learn that a plethora of issues have been resolved regarding:
- 9-slice image button rendering (#16146)
- Animated world-aligned texture rendering (#16091)
- Broken keybinds (#16049)
- Lagging bone attachments and animation blending (#14722)
- Menu freezing on world join (#16303)
[verticalframe
transparency (158bfa6)- Particlespawner crashes (#16351)
What’s Next?
Back to the 3-month intervals. By the time 5.14.0 lands, you might see camera color effects, matrix and rotation APIs, glTF morph animations, animated inventory images, and more!
Questions? Ideas? Feel free to get involved!
Cover image by GreenXenith.