Configuration - ASangarin/TechTree GitHub Wiki
TechTree reads any .yml file from the techtrees folder inside the main plugin folder of TechTree.
Each .yml file can contain any amount of entry configurations.
Example structure of a TechTree config file:
#example structure of each techtree
title: "Displayed in the GUI" # Supports colors!
display-name "Displayed when Referenced" # Supports colors!
id: "techtree-id"
entries:
entry1-name: # This is the ID of the entry! Can be anything
slot: 11 # Which slot to show this in
name: "Epic Entry" # Shows up in the GUI
display:
material: APPLE # The base material to display
custom-model-data: 1 # For custom textures
description: # Will replace the <desc> tag in lore.
- "&6Color codes!"
- "Multi-Lined!"
requirements:
- 'lineconfig{entry=1,example=true}' # Check out the Line
- 'lineconfig{entry=2,example=true}' # Configurations below!
rewards:
- 'lineconfig{entry=1,example=true}' # Check out the Line
- 'lineconfig{entry=2,example=true}' # Configurations below!
entry2-name: # This is the ID of the entry! Can be anything
slot: 15 # Which slot to show this in
name: "Another Entry!!" # Shows up in the GUI
display:
material: ARROW
description: ["Simple lore line..."]
requirements: [] # No requirements!
rewards: [] # No rewards!Rewards are certain triggers that are triggered when the player unlocks the entry in context.
These are configured as a list of 'Line Configurations'. More about those below!
For a list of available Rewards, see Tech Rewards
Requirements are certain conditions that must be met before the player can unlock the entry in context.
These are configured as a list of 'Line Configurations'. More about those below!
For a list of available Requirements, see Tech Requirements
Both rewards and requirements are String Lists containing Line Configs.
These line configs have a key and then a short JSONObject containing required information.
An example of two Line Configurations:
-
- 'permission{node="tt.example.permission"}'(Example Reward)
This will grant the player thett.example.permissionwhen they unlock the entry. -
- 'entry{tree="example-tree",path="example-entry"}'(Example Requirement)
This will require the player to have unlocked the entry with an id of ´example-entry´ in the tech tree with the id:example-tree.