Morning, folks! <3
The unstable release of Starbound 1.3 is here! That means you can check it out now, but if you don’t want to deal with bugs/unfinished bits, a stable release of Starbound 1.3 is just around the corner.
For Starbound 1.3, our goal was to give players more things to do in space! Starbound has always focused heavily on traveling from planet to planet, but objectively space is just much cooler than any planet.
Read on for details!
The cockpit navigation interface has been completely overhauled. Planets, moons and ships are all visible and orbit each other in real time. Systems will now contain NPC stations, friendly and hostile NPC ships, and strange space anomalies to visit!
Explore these new space locations in customizable spacefaring mechs! Traverse hostile space in zero gravity, fight powerful new space monsters, and collect unique rewards as you upgrade your mech to progress through more difficult hazards. Mechs can also be deployed to planets, to crush your enemies with overwhelming firepower!
Modular Space Stations
Make a permanent home among the stars with player-owned stations! Use a station transponder to place your station into orbit, then expand it with modular rooms to suit your needs.
Minor Changes / Bug Fixes
- Gameplay now pauses while menu is open (single player only)
- Non-piercing projectiles (e.g.) rockets now stop at the edge of the entity they hit, correcting knockback direction from explosions
- Adjusted player and other physics to behave better in zero gravity
- Remove gravity from asteroid fields
- Asteroid fields now ring their stars and can be entered at any position
- Add rail tram vehicles and tram stop objects
- When opening inventory, first tab will be selected by default
- Auto-sorting inventory will also stack items
- Add visual novel engine
- Fix threat level of player ships to always be 1 for colonist purposes
- Cheese is now considered produce and players will be paid to launch it into space
- Made several block types permeable to liquids
- Perfect armor set now slightly weaker than tier 6 crafted armors
- Fix several issues with NPC pathfinding
- Various performance improvements
Modding API Changes
- Support script panes opening and closing with inventory (like containers)
- Item slots / grids in script panes now display tooltips for contained items
- Special keys are now passed separately to techs as special1, special2, and special3. If a player is lounging, they will be suppressed and instead passed to the active vehicle (if applicable)
- Support rectangular force regions with a linear force gradient
- Support setting gravity for specific dungeon IDs in dungeon files
- Rework canvas widget bindings. Canvas widgets can now be bound to a Lua object and controlled directly
- Support damage sources for vehicles
- Behavior nodes must now be explicitly defined in .nodes files. This includes specifying node parameters and outputs, with associated types. (Supported types: json, entity, position, vec2, number, bool, list, table, string)
- Behavior trees (.behavior) now explicitly specify whether a parameter is a blackboard key or a raw value. This includes parameters passed into module (sub-tree) nodes.
- Behavior node Lua implementations no longer directly perform blackboard lookups (BData methods). Lookups are performed before running the function, and the raw values are directly available in the “args” argument.
- Behavior node Lua implementations no longer directly set blackboard values. Node output is set by returning or yielding a second value. This second value is a table of output key to output values.
Added Lua bindings:
Removed Lua bindings:
- activeItem.giveOwnerItem (now available via player)
- activeItem.ownerHasItem (now available via player)
- activeItem.takeOwnerItem (now available via player)
- player.addBookmark (use addTeleportBookmark / addOrbitBookmark instead)
- root.materialPath (use materialConfig instead)
- root.getConfiguration (removed for security)
- root.setConfiguration (removed for security)
- root.getConfigurationPath (removed for security)
- root.setConfigurationPath (removed for security)