Power Tree Design Suggestion #357
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
ThreeTAG/Palladium#357
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
So, as I was working on Palladium Power Designer, I came up with an example JSON format to better represent the power trees, giving more control to addon developers. This is a rundown of how it is structured and it's field.
Before I start, some vocab.
Nodemeans an ability that is visible inside of the power tree.Connectionis a line connecting one node to another.New file type called
Power Treelives indata/<mod_id>/palladium/power_tree/exmple.jsonIt has the following fields:
gui_positionEx:Reported by Bandit (@letbandithelp) via Discord — open thread
More Info about Styles
It has two sub properties,
nodeandconnection. Here is an example of a valid styles property:Above, we have defined 3 styles for nodes, and 2 for connections.
For Nodes, we have properties such as:
locked,available, andunlockedto give devs even more control.For Connections, we have the properties:
All these styles can then be applied to nodes/connections on an individual basis as you see above/below
Bandit (@letbandithelp) via Discord — jump to message
i like the design, I'll consider it
one thing: I'd probably put it into assets, not sure yet
lucas (@idkmaybelucas) via Discord — jump to message
More info about Connections
As I said above, connections hold information about the actual lines. Each connection has the following potential properties:
Example:
Bandit (@letbandithelp) via Discord — jump to message
More info about Regions
Regions are like sub sections of the tree. Mostly a visual thing if people wanted to setup sections with different abiltities. Definitely an additional/not 100% needed thing.
Example Definition:
If you have ever used a node based programming language, like in Unreal Engine 5, a similar idea to how you can group things in a big "Comment Block" to keep it organized.
Bandit (@letbandithelp) via Discord — jump to message
one of the reason I wanted to put it in data was because it's technically data driven here, as all the drawing is done once you open the tree. Also, it just made more sense to me that /reload would apply to it. (Not sure if /reload does assets as well)
Bandit (@letbandithelp) via Discord — jump to message
it's client-side stuff tho
rendering related
lucas (@idkmaybelucas) via Discord — jump to message
ah true
Bandit (@letbandithelp) via Discord — jump to message
but on the other hand, it would be useful for server data packs to define the trees without a resource pack
I'll think about it
lucas (@idkmaybelucas) via Discord — jump to message
alright. if you want help implementing any of it, I have started some of the features. I stopped cause I assumed you would just wanna do it your self lol
Bandit (@letbandithelp) via Discord — jump to message