promotional bannermobile promotional banner

Passive Skill Trees Fabric

Adds customizable skill trees.
Back to Files

PassiveSkillTree-Fabric-1.21.1-0.7.6+c.jar

File namePassiveSkillTree-Fabric-1.21.1-0.7.6+c.jar
Uploader
LeaMissyoyLeaMissyoy
Uploaded
Aug 4, 2026
Downloads
32
Size
1.9 MB
Mod Loaders
Fabric
File ID
8574367
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:passive-skill-trees-fabric-1638614:8574367"

Learn more about Curse Maven

What's new

Fix — `/skilltree editor` command (replaces `/psteditor`)

Issue Fixed

The custom `/psteditor` command, added during a previous port, did not match the mod's official syntax (`/skilltree editor skilltree:<id>`). Attempting to implement it directly as a client-side subcommand (`ClientCommandRegistrationCallback`) caused a conflict with the root literal `skilltree`, which was already registered on the server side; the client would validate the command against the server's command tree—which did not recognize `editor`—resulting in the in-game error: "Incorrect argument for command at position X".

Solution

`editor` is now a proper server-side subcommand, just like `reset`, `points`, or `grant_skill` (protected by the same OP level 2 permission). The server validates the command and then sends an S2C network packet (`OpenSkillTreeEditorMessage`) instructing the client to open the `SkillTreeEditorScreen` locally—opening the UI remains a 100% client-side action. /skilltree editor → opens the default tree (skilltree:tree)
/skilltree editor <treeId> → opens the requested tree, or creates a new one if the ID does not yet exist (autocompletion based on already loaded trees, but custom IDs are accepted)

Technical changes

PSTCommands.java: added the `editor` subcommand (with/without `ResourceLocationArgument`)
network/message/OpenSkillTreeEditorMessage.java: new S2C message (`CustomPacketPayload` + `StreamCodec`, compliant with Fabric 1.21.1 networking API)
network/ServerNetworking.java: new method `sendOpenSkillTreeEditor(ServerPlayer, ResourceLocation)`
network/PSTNetworkChannels.java: registered the new packet type via `PayloadTypeRegistry.playS2C()`
client/network/ClientNetworking.java: packet reception → `Minecraft.getInstance().setScreen(new SkillTreeEditorScreen(treeId))`
Removed `command/client/PSTClientCommands.java` (and the associated folder), as it is no longer needed
client/SkillTreeModClient.java: removed the import/call to `PSTClientCommands.register()`

User impact

⚠️ Minor breaking change: `/psteditor` no longer exists. Use `/skilltree editor [treeId]` instead.

This mod has no related projects