Skip to content

Configuration

Aria edited this page Aug 3, 2020 · 8 revisions

Understanding the Configuration:

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!

Tech 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

Tech Requirements

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

Line Configuration

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 the tt.example.permission when 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.

Clone this wiki locally