Update and rename README.txt to README.md
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
# **Skill Engine - A Modular Skill Tree Framework for Forge Mods**
|
||||
|
||||
**Skill Engine** is **not** a standalone progression mod.
|
||||
It does **not** add gameplay, attributes, or abilities by itself.
|
||||
|
||||
Instead, **Skill Engine is a framework** designed to let other mods create their own **highly customizable skill trees**, complete with:
|
||||
|
||||
* Node unlocking
|
||||
* Attribute requirements
|
||||
* Custom icons
|
||||
* Skill point handling
|
||||
* Server synchronization
|
||||
* Requirements & tooltips
|
||||
* Interaction with other progression systems (like Ascend)
|
||||
|
||||
If you're looking for a mod that _adds_ skills, this is **not** it.
|
||||
If you are a developer who wants to **add skill trees to your mod without reinventing everything**, Skill Engine is exactly what you need.
|
||||
|
||||
***
|
||||
|
||||
# **Features**
|
||||
|
||||
### JSON-driven Skill Tree System
|
||||
|
||||
Mods can register their own skill nodes simply by adding JSON files under:
|
||||
|
||||
```
|
||||
data/<yourmodid>/skillnodes/*.json
|
||||
```
|
||||
|
||||
### Automatic Node Rendering
|
||||
|
||||
Nodes are positioned, displayed, zoomed, panned, and drawn automatically in the Skill Tree GUI.
|
||||
|
||||
### Icons Support
|
||||
|
||||
Use **your own textures** or **vanilla item textures** as node icons.
|
||||
|
||||
### Requirements System
|
||||
|
||||
Nodes can specify:
|
||||
|
||||
* Linked nodes
|
||||
* Prerequisite attributes
|
||||
* Skill costs
|
||||
* Custom tags
|
||||
|
||||
The UI automatically displays requirements in tooltips and overlays.
|
||||
|
||||
### Unlock Logic & Sync
|
||||
|
||||
Unlocking is fully handled server-side and synced to the client.
|
||||
|
||||
### Full API Support
|
||||
|
||||
Skill Engine includes a public API class that allows other mods to:
|
||||
|
||||
* Give skill points
|
||||
* Unlock skill nodes
|
||||
* Check unlock state
|
||||
* Access player skill data
|
||||
* Register or reference nodes
|
||||
|
||||
***
|
||||
|
||||
# **How to Use Skill Engine in Your Mod**
|
||||
|
||||
Skill Engine is designed to be extremely easy to integrate.
|
||||
|
||||
## **1\. Add Skill Engine as a Dependency**
|
||||
|
||||
In your `mods.toml`:
|
||||
|
||||
```toml
|
||||
[[dependencies.yourmodid]]
|
||||
modId="skillengine"
|
||||
type="required"
|
||||
versionRange="[1.0.0,)"
|
||||
```
|
||||
|
||||
In your Gradle build:
|
||||
|
||||
```gradle
|
||||
implementation fg.deobf("net.fretux.skillengine:SkillEngine:<version>")
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
# **2\. Create Your Skill Nodes (JSON)**
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "Basic Strength",
|
||||
"description": "You feel your muscles tighten.",
|
||||
"cost": 1,
|
||||
"position": { "x": -150.0, "y": -50.0 },
|
||||
"links": ["skillengine:welcome"],
|
||||
"tags": ["yourmodid:strength_1"],
|
||||
"icons": "minecraft:textures/item/iron_sword.png",
|
||||
"prerequisites": {
|
||||
"strength": 10,
|
||||
"agility": 5
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Place this in:
|
||||
|
||||
```
|
||||
data/yourmodid/skillnodes/basic_strength.json
|
||||
```
|
||||
|
||||
Skill Engine will automatically detect it and add it to the tree.
|
||||
|
||||
***
|
||||
|
||||
# **3\. Use the API in Your Code**
|
||||
|
||||
Skill Engine exposes a simple API:
|
||||
|
||||
```java
|
||||
SkillEngineAPI.unlockNode(player, SkillEngineAPI.rl("yourmodid", "basic_strength"));
|
||||
SkillEngineAPI.addSkillPoints(player, 3);
|
||||
boolean unlocked = SkillEngineAPI.isUnlocked(player, SkillEngineAPI.id("welcome"));
|
||||
```
|
||||
|
||||
You can interact with the system without touching internal classes.
|
||||
|
||||
# **Users: What Does This Mod Do for Me?**
|
||||
|
||||
Skill Engine **does nothing by itself**.
|
||||
It does _not_ add a skill tree or abilities on its own.
|
||||
|
||||
You only need this mod if:
|
||||
|
||||
* A mod you play **depends** on Skill Engine
|
||||
* You want to install addons that create skill trees
|
||||
Reference in New Issue
Block a user