Overview
The Stellaris Event Builder is a work-in-progress tool designed to make creating and editing Stellaris Events simpler, faster, and easier. While not designed as a complete replacement for text-based editing - in particular when writing complex code blocks - it is very well-suited to things like mass refactoring, editing chains, changing properties like the MTTH or graphics, or error checking.
Interface
The title bar (1) provides access to many of the core operations, and will be discussed below. Once a mod is selected, a namespace can be chosen from those present in the mod via a dropdown (3). This will populate the event list (2) with an entry for each loaded event. Clicking any event will open it in the main panel at right. The top of this panel (4) shows "general" information about the event, including its name/ID, its scope/type (and a dropdown to change it if desired), and the title (localized if possible).
Below this is a row of tabs (5) to navigate between the various sections of the event's data. Note that tabs cannot be loaded if that property is not valid for the event as currently defined (so in the pictured example, the "triggered only" event cannot also have a generic "ambient" trigger and MTTH, since those are conceptually mutually exclusive; likewise, a hidden event would not have options or a description, and so on). Some tabs contain a toggle to enable or disable that property.
The data view and editor pane (6) is where the actual data for the selected section of the active event is shown and able to be modified. The contents of this panel change extensively depending on the selected section and what data the event has, and will be described in more detail later.
There is an indicator for current loaded mod near the bottom (7) and below that, a status bar (8) which will show statuses like "reloading data" or error messages when they arise.
Title Bar
The title bar is the root navigational element with which all other functions are accessed or at least made relevant.
Control
This contains "core" program features like access to the settings menu, as well as "generic" operations like "reload all data".
Mods
Once a mod folder has been selected, all the available mods, plus the base game, will appear as entries in this dropdown. Selecting one is a requirement to begin any meaningful editing.
Tools
The tools menu contains utility functions, like checking the current event for errors (invalid property combinations, calling nonexistent other events, et cetera), and performance issues (eg complex trigger conditions in an ambient-trigger event). At the time of writing, most of these are incomplete.
Namespaces
This menu allows for the loading and saving of all or specific namespaces, renaming or deletion of existing namespaces, and creation of new ones.
Events
This offers similar options to the namespaces menu, just on an event level. This also has a "copy event" function.
Help
This provides access to some basic helper tools, including three menu options to load the wiki pages for conditions, effects, and modifiers.
Data Sections
Basic Properties
This is for the basic properties any event can have, including whether it is hidden, what its sound and image are, and whether it uses a MTTH/trigger system or an explicit call elsewhere. These are what determine which of the other tabs are accessible.
Descriptions
This contains a read-only view of the localized description, both the default - if it exists - and any conditional descriptions, along with their conditions. Unlike the text of the descriptions, which is read-only, these conditions can be edited via the code editor tool.
Trigger Condition
This provides a preview and access to the code editor for the "trigger" block of the event, ie the condition which must be fulfilled for ambient event activation to occur.
Mean Time To Happen
This panel is where the timing of ambient activation is controlled, with the base duration - time unit and number - is chosen, as well as any modifiers on the MTTH. Like the conditional descriptions, these code blocks can be both previewed and opened in the code editor.
Immediate Block
From here, the "immediate" code block, if any, can be previewed and edited.
Options
This pane contains entries for each option the event has. Each entry contains the internal ID, a tooltip key if applicable, text options, triggers for visibility and selectability of that option, AI weight, and the effect of selecting that option.
Settings
The program has several options to modify how it is used and how it exports files. Most of these are self-explanatory. If the application is loaded without the paths values set to valid folders, such as when the application is first launched, it will divert to a small window asking you for the paths to the game install and the mod folder, as without these nothing of value can be done.
Code Editor
The code editor is a planned feature to allow the editing of code blocks with more ease than a text editor. While it will not be designed to completely supplant text editors, it will be useful for things like restructuring logic, or duplicating or expanding blocks.
Implementation
The Event Builder is written in Java, using the JavaFX GUI and windowing library. Parsing of events is done with an ANTLR grammar that is now part of their standard library, with a custom converter to build internal representations of the events.
Source Code
The source code for Stellaris Event Builder can be found here:
GitHub
License
Stellaris Event Builder is released under a personal-use visible-source license. It may be used for the intended or similar purposes, for personal use (including creation/maintenance of your own projects). It may not be used for commercial purposes or paid software. Unless given explicit written permission, it cannot be redistributed, nor can it be adapted or packaged into a larger product. Derivative works of Stellaris Event Builder can be produced, but only for your own personal use; these works or modified versions may never be shared with others.
Downloads
Downloads for this item are not currently available.