PassiveSkillTree-Fabric-1.21.1-0.7.6+c.jar
Curse Maven Snippet
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.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

