-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Nexus Forge is a modular toolset designed to create and handle the creation and processing of data (dialogues, characters, items, etc.) through easy-to-use interfaces and remain UI-agnostic in-game by making use of built-in and custom signals.
Create complex dialogues with an easy-to-use interface. Dialogues allow for a high level of customisability by allowing you to change the text dynamically via the use of variables (Blackboard), methods (API) and randomised segments.
Manage globally-accessible data via the Blackboard. This module is also used to format strings on other modules. Create and access variables in a folder-like system.
Create character sheets and define its gender, species, custom data, stats (and their ranges), skills and traits.
Create different species and define the properties of each and the relations to each other. Create complex species via hybridization and obtain unique stat combinations with the genetic inheritance system.
Define the name and description for stats, skills and traits. Assign custom data to each too.
Create items and customise their name, description, rarity, value and more.
Create custom currencies and assign them each a value for use in a multi-currency game (DnD inspired). Includes a currency calculator to easily assign values to your items.
Create crafting recipes using your items. Each "ingredient" supports extra data to make your recipes as simple or complex as you need them to be.
Create multi-path quests (success/failure paths) with stages and objectives. Nexus Forge provides a quest manager to automatically keep track of and progress your quests.
A the string-formatting stand-alone feature of the dialogues, where your text will change based on the context you give it.
All modules can be accessed via the NexusForge autoload singleton.
The plugin is fully documented. Enabling the use of the offline documentation (F1) within the editor to search for technical documentation for almost all custom classes and resources provided.
Nexus Forge registers several custom classes globally. Before importing the plugin, ensure your project does not already use the following class names to avoid conflicts.
| Class Name | Type | Path |
|---|---|---|
| ArrayUtils | RefCounted | res://addons/nexus_forge/classes/utils/array_utils.gd |
| ArrayUtils | RefCounted | res://addons/nexus_forge/classes/utils/array_utils.gd |
| BitFlags | Resource | res://addons/nexus_forge/resources/bit_flags.gd |
| BitUtils | RefCounted | res://addons/nexus_forge/classes/utils/bit_utils.gd |
| BlackboardData | Resource | res://addons/nexus_forge/resources/blackboard_storage.gd |
| Cache | RefCounted | res://addons/nexus_forge/resources/cache/cache_system.gd |
| CacheLink | RefCounted | res://addons/nexus_forge/resources/cache/cache_item.gd |
| CharacterSheet | Resource | res://addons/nexus_forge/resources/character_sheet.gd |
| CurrencyCatalog | Resource | res://addons/nexus_forge/resources/currency_catalog.gd |
| CurrencyWallet | Resource | res://addons/nexus_forge/resources/currency_bag.gd |
| DialogParser | RefCounted | res://addons/nexus_forge/resources/parser/discourse_parser_base.gd |
| DictUtils | RefCounted | res://addons/nexus_forge/classes/utils/dict_utils.gd |
| DiscourseAPI | RefCounted | res://addons/nexus_forge/resources/parser/discourse_api.gd |
| DiscourseDialog | Resource | res://addons/nexus_forge/resources/dialog_storage/dialog_storage_base.gd |
| DiscourseDialogLocale | Resource | res://addons/nexus_forge/resources/dialog_storage/dialog_locale.gd |
| DiscourseGraphAnchorPointer | DiscourseGraphNode | res://addons/nexus_forge/discourse/nodes/jump_to_node.gd |
| DiscourseGraphNode | GraphNode | res://addons/nexus_forge/discourse/nodes/base.gd |
| EditorDialogParser | DialogParser | res://addons/nexus_forge/resources/parser/discourse_parser_editor.gd |
| EditorDiscourseDialog | DiscourseDialog | res://addons/nexus_forge/resources/dialog_storage/dialog_storage_editor.gd |
| EditorItemRecipeLink | RefCounted | res://addons/nexus_forge/item_recipe_link.gd |
| IDTree | Tree | res://addons/nexus_forge/classes/tree_id_script.gd |
| ItemCatalog | Resource | res://addons/nexus_forge/resources/item_catalog.gd |
| ItemSheet | Resource | res://addons/nexus_forge/resources/item_sheet.gd |
| Math | RefCounted | res://addons/nexus_forge/classes/utils/math.gd |
| ModDiscourseDialog | DiscourseDialog | res://addons/nexus_forge/resources/dialog_storage/dialog_storage_mod.gd |
| NFCatalogEntry | RefCounted | res://addons/nexus_forge/resources/catalog_entry.gd |
| NFCatalogEntryStat | NFCatalogEntry | res://addons/nexus_forge/resources/stat_catalog_entry.gd |
| NFCharacterManager | RefCounted | res://addons/nexus_forge/resources/managers/character_manager.gd |
| NFCurrencyEntry | RefCounted | res://addons/nexus_forge/resources/currency_entry.gd |
| NFCurrencyManager | RefCounted | res://addons/nexus_forge/resources/managers/currency_manager.gd |
| NFItemManager | RefCounted | res://addons/nexus_forge/resources/managers/item_manager.gd |
| NFPluginGameHandler | Node | res://addons/nexus_forge/classes/autoload/nexus_forge_singleton.gd |
| NFQuestLog | RefCounted | res://addons/nexus_forge/resources/quest_logger.gd |
| NFRecipeManager | RefCounted | res://addons/nexus_forge/resources/managers/recipe_manager.gd |
| NFSkillManager | RefCounted | res://addons/nexus_forge/resources/managers/skill_manager.gd |
| NFSpeciesManager | RefCounted | res://addons/nexus_forge/resources/managers/species_manager.gd |
| NFSpeciesStatCatalog | Resource | res://addons/nexus_forge/species/species_stat_entry.gd |
| NFStatManager | RefCounted | res://addons/nexus_forge/resources/managers/stat_manager.gd |
| NFTraitManager | RefCounted | res://addons/nexus_forge/resources/managers/trait_manager.gd |
| ParsedDialog | RefCounted | res://addons/nexus_forge/resources/dialog_storage/parsed_dialog.gd |
| PhraseAPI | RefCounted | res://addons/nexus_forge/resources/localization/phrase_api.gd |
| PhraseMap | Resource | res://addons/nexus_forge/resources/localization/phrase_map.gd |
| Quest | Resource | res://addons/nexus_forge/resources/quest_resource.gd |
| QuestManager | RefCounted | res://addons/nexus_forge/resources/managers/quest_manager.gd |
| QuestObjective | Resource | res://addons/nexus_forge/resources/quest_objective.gd |
| QuestStage | Resource | res://addons/nexus_forge/resources/quest_stage.gd |
| RandomWeightedPool | RefCounted | res://addons/nexus_forge/classes/utils/random_weight_pool.gd |
| RangeFloat | ValueRange | res://addons/nexus_forge/resources/range_float.gd |
| RangeInt | ValueRange | res://addons/nexus_forge/resources/range_integer.gd |
| RangeUtils | RefCounted | res://addons/nexus_forge/classes/utils/ranges.gd |
| RecipeCatalog | Resource | res://addons/nexus_forge/resources/recipe_catalog.gd |
| RecipeItem | Resource | res://addons/nexus_forge/resources/recipe_item.gd |
| RecipeSheet | Resource | res://addons/nexus_forge/resources/recipe_sheet.gd |
| ResourceCache | Cache | res://addons/nexus_forge/resources/cache/resource_cache.gd |
| SkillCatalog | Resource | res://addons/nexus_forge/resources/skill_catalog.gd |
| SkillSet | Resource | res://addons/nexus_forge/resources/skill_set.gd |
| SpeciesCatalog | Resource | res://addons/nexus_forge/resources/species_catalog.gd |
| SpeciesSheet | Resource | res://addons/nexus_forge/resources/species.gd |
| StatBlock | Resource | res://addons/nexus_forge/resources/stat_block.gd |
| StatCatalog | Resource | res://addons/nexus_forge/resources/stat_catalog.gd |
| StringUtils | RefCounted | res://addons/nexus_forge/classes/utils/strings.gd |
| TraitBlock | Resource | res://addons/nexus_forge/resources/trait_block.gd |
| TraitCatalog | Resource | res://addons/nexus_forge/resources/trait_catalog.gd |
| UUID | Resource | res://addons/nexus_forge/classes/utils/uuid.gd |
| ValueRange | Resource | res://addons/nexus_forge/resources/value_range.gd |