Redefining Plants: Moddable Plants, Berries, & Watermelons

Date: Sat, 16 Nov 2024
Stationeers Game Banner
Genre: Action, Indie, Simulation, Early Access
Developer: RocketWerkz
Release Date: Tue, 12 Dec 2017

Due to a critical issue we've had to roll this patch back.



Not everyone was experiencing this issue but enough that it justifies rolling back until we can resolve the problem.

This update is still available on the Beta branch.

If you have been playing on Default and have any of the new items(any of the 3 new plants or the Icarus suit) then you will need to switch to beta.

The update will be available on Default branch as soon as we have a solution.



Data Defined Prefabs


Until now our pipeline for creating new prefabs, things in the game, was very Unity dependant. This process has largely stayed the same since the beginning of the project, and while it does allow us to add new things to the game quickly it does not follow the data driven mindset that we now follow.

We've taken a small subset of prefabs, plants and moved them to be defined entirely in XML. This means that to add a new plant we simply create a new custom plant in our game data XML. This data points to the relevant meshes and textures that are loaded at run time, instead of build time.

A few extra tools have been included with the game to help generate the blueprints and thumbnails required.

thing blueprint // Generates blueprint
thing thumb // Generates thumbnail from thing by reference id



We would like to roll this out to all kinds of things the game but have started with something smaller to prove the concept. Being able to define completely new devices purely from XML would be the ultimate goal but we will see how this goes before making any decisions.


New Plants


We've also added 3 new fruit plants to help test the new system. When consumed these new plants will have a positive effect on your mood, but they are not currently used in any recipes, they will be later when we do a food update.

The new plants are Strawberry, Blueberry, and Watermelon.





Your support makes these updates possible



https://store.steampowered.com/bundle/2624/Stationeers_Complete_the_Set/




Change Log v0.2.5314.23994



  • First pass on moving plant life requirements to xml.
  • Added Scripts and models for future content.
  • Fixed Multigrid structures not registering to every cell they block.
  • Fixed Global Atmosphere mix calculation issue in previous commit (rev.23875)
  • Added Prototype Global Liquid Renderer. Very large quantities of Liquids in the global atmosphere will now be rendered via a liquid plane.
  • Added strawberry xml plant example.
  • Added first pass on importing plants from xml. Meshes, textures and plant stages can be defined in xml and will be imported at runtime. Blueprints can also be created but for now, the wireframe edges will have to be manually entered into the xml. Later on we plan to make this automatic or add a tool to export edges for custom meshes.
  • Fixed nullref on dedicated server when instantiating prefabs from source list.
  • Added Missing scene update from last commit
  • Fixed normals on strawberry meshes.
  • Added thumbnails for strawberry plant and seedbag.
  • Made custom plants fail to register if their name is already taken to stop potential name conflicts with existing things.
  • Changed Global Liquid visualiser now uses the same system as in-world liquid. Global liquid will now not be drawn inside rooms.
  • Removed 1st global liquid prototype from scene.
  • Missing class name changes from last commit.
  • Removed some unused files and directories
  • Removed associated meta files for removed directories
  • Added scripts and prefabs for future content.
  • Made organics printer recipes resolve their prefab references after all data files are loaded.
  • Moved blueprints out to their own file and made them DataCollections.
  • Renamed CustomPlants.xml to plants.xml.
  • Moved tomato plant and seedbag to xml.
  • Renamed PrefabResolver to DataResolver.
  • Removed Director.cs
  • Refactored WeatherManager to remove un-necessary abstraction & complexity in Storm scheduling code.
  • Added Additional storm properties to the weather event data. ParticleId, Allowed Directions, Damage Multiplier.
  • Changed Storms can now come from any of the 4 cardinal directions.
  • Changed Worlds can now have multiple storm types.
  • Changed Moved weather data into a library in weather.xml. WorldSettings can now reference weatherID form the library or they can declare them inline.
  • Fixed items in input slots being invisible in tier one manufacturing machines
  • Fixed some manufacturing machines / printers only allowing ingots in their input slots. It is intended for them to be able to get blocked up if you poorly manage your manufacturing
  • Added plant meshes and textures to streaming assets.
  • Removed a few empty directories.
  • Updated SeedBag template material with new normal and spec textures.
  • Changed plant template to Plant script rather than Potato.
  • Stopped nullref when plant blueprint is not setup. Instead a default blueprint will be used and an error will be logged.
  • Added blueberry and watermelon plants.
  • Added Rain Storm particle effects and sounds.
  • Changed Exposed Weather Event Fog start and end distance and weather audio to XML.
  • Added Rain weather event to weather library.
  • Updated plant blueprint default mesh.
  • Added ServerProviderPanel for managing ServerProvider buttons
  • Added empty ServerProviders xml file for populating button data
  • Added ServerProviderButton prefab
  • Added system for setting up and managing links to server providers
  • Slightly changed how damage from toxic gases is calculated. Partial pressure thresholds are per gas rather than combined. This may change as we test further.
  • Moved water usage, breathed gases and toxic gases for plants into the liferequiements xml.
  • Fixed normals for plant meshes.
  • Changed Updated stationpedia to show in-world volume of each Liquid type.
  • Changed In-World Volume Multiplier for gasses is now calculated at run-time based on gas Properties. In as a general rule the more cryogenic the liquid the lower in the inworld volume multiplier. This will solve pressure anomalies and run-away phase change effects that were happening to players condensing cryogenic liquids in world grids. Under the old fixed multiplier of 50x some condensed Gasses would take up more volume once in liquid form which would spike the pressure causing a feedback loop of Condensation phaseChange.
  • Added Rain and snow weather effects will now trigger when Condensation/Freezing happens in the global atmosphere.
  • Added Snow Weather Effect.
  • Moved switchgrass, potato and corn to xml.
  • Added ability for custom plants to be set as microwave ingredients, chemistry ingredients and animal food.
  • Fixed potato meshes having bad normals.
  • Added IAnimalFood to some plants and refactored how animal food is registered.
  • Updated ItemSwitchgrass mesh.
  • Added blueprint edges for a few more plants in xml.
  • Added command for generating blueprint wireframe edges with the format: "thing generateblueprint ". This will output edges to a text file which will have to be added the blueprints.xml manually for now.
  • Fixed life requirements not being set on xml based plants correctly.
  • Moved fern and darga fern to xml.
  • Removed unused seedbag meshes.
  • Committed auto prefab changes from editor due to new IsCustomThing field.
  • Tweaked generate blueprint command to output a file with a more descriptive name.
  • Added blueprints for darga fern and fern.
  • Updated normals for darga fern mesh.
  • Fixed an issue with LerpToGlobalAtmosphere() function that was causing Rockets to generate large numbers of instanced atmosphere grids. Issue introduced in rev. 23827. This was causing frame-time degradation and occasional frame-time spikes due to garbage collection. Users who were experiencing this issue may find it takes a few minutes for the performance issue to resolve upon loading the game as the erroneously created atmosphere-grids will have been serialized and will take several minutes to clean-up.
  • Fixed deconstructing cladding not using any power. They now use a small amount
  • Added blueprint info for migrated plants.
  • Moved soybean, cocoa, sugarcane, wheat, mushroom, rice and pumpkin to xml.
  • Added max stack quantity and reagent mix to xml based plants.
  • Converted hades flower and winterspawn to xml.
  • Added scale variable to MeshReference so imported models can be scaled appropriately.
  • Added Models/scripts for future content.
  • Fixed a tooltip error.
  • Fixed all obj normals.
  • Moved celestial textures into their own folder
  • Fixed plants from xml not showing up in the debug spawn menu.
  • Moved celestial textures back to root texture folder for now so as not to break mods.
  • Fixed switchgrass not producing the hay item when harvesting.
  • Updated ItemStrawberry mesh and blueprint.
  • Added a new command 'plant grown all' which makes all plants progress to the next growth state
  • Fixed some plants not showing the correct growth state. For example the strawberry was showing the wrong mesh when it was fruiting and not showing the correct mesh until it was seeding. All the new plants have been fixed as well as a few existing plants such as the tomato
  • Stopped plant grow all command moving plants to dead stage. Specifying a plant tray with plant grow will still move plants to dead stage.
  • Updated ItemSwitchgrass mesh.
  • Added thumbnails for new plants and seedbags.
  • Updated ItemSwitchgrass thumbnail and blueprint.
  • Changed "thing generateblueprint" command to just "thing blueprint".
  • Added wip thumbnail generator command that can be used to generate a thumbnail for a thing: "thing thumb ".
  • Fixed blueprint wireframe generator not including some edges.
  • Added switchgrass blueprint wireframe edges back in.
  • Updated blueprint wireframes for ItemFern and ItemDargaFern.
  • Increased size of ItemFern slightly.
  • Added editor tool to generate wireframes.
  • Fixed an issue where rockets saved while in space would get deleted on load due to an incorrect grid registration.
  • Fixed seedbag blueprint wirefame being slightly offset.
  • removed missing script reference from Asteroid.prefab
  • Fixed game loading issue when current weather event is null.
  • Fixed server provider button logos not being centered on the viewport
  • Removed Debug.Log calls
  • Removed chat popup window when running in editor.
  • Moved a few reagent classes into their own files.
  • Removed missing script on some voxel prefabs to stop errors while starting dedicated server.
  • Added Icarus suit to the tool manufacturing. You must own Icarus to be able to print it
  • Added new help text for the thing command

Write your comment!