Syntactical icon

Syntactical -----

A plugin created by Syntax for use on the KingdomCraft server.




Syntactical (Latest Update)
New Features
LuckPerms Integration
  • Added /promote and /demote commands

  • Supports:
    • Step-by-step rank changes (/promote Player → next rank)

    • Direct rank changes (/promote Player governor)
  • Enforces hierarchy: players can only modify ranks below their own

  • All messages configurable via config.yml

  • Tab-completion for player names and configured ranks
Armor Stand Arms Toggle
  • Added /enablearms command to toggle arms on placed armor stands

  • Per-player setting stored in memory

  • Requires syntactical.arms.toggle permission

  • Visual feedback when placing armor stands with arms enabled

  • Added /armsstatus command to check current arms setting
Configurable Rank Order
  • Rank progression now defined in config.yml under ranks.order

  • Easily modify or extend rank ladders without recompiling
OP Safeguard
  • Intercepts /op from authorized players and assigns the governor rank via LuckPerms instead

  • Console-issued /op is never intercepted

  • Sends configurable warnings advising the use of /promote

  • Stores a pending override so the executor can still force /op with /override

  • Added /override command (with tab-complete for pending player)

  • Now supports offline targets: resolves UUID via LuckPerms and assigns governor even if the player is offline
Improvements
  • Centralized messages: All command/event messages now come from config.yml

  • Paper Brigadier commands: Registered commands via Paper's lifecycle for better tab-complete and performance

  • Permission-aware safeguard: The /op safeguard only triggers if the executor actually has permission to use /op (no extra messages for unauthorized users)

  • LuckPerms rank updates: Only inheritance (group) nodes are changed; other permission nodes are preserved

  • Rank order handling: Normalizes to lowercase and provides a sensible default fallback aligned with config

  • Vault UX consistency:
    • Unified vault title prefix across manager/listener

    • /pv uses an integer argument with proper bounds based on config and permissions (syntactical.vault.unlimited)
  • Code cleanup:
    • Removed duplicate listener registration

    • Consistent colorization and minor UX tweaks
Fixes
  • Resolved LuckPerms API incompatibility: replaced NodeMap.mutate()/removeIf with a safe collect-and-remove approach

  • Unban logging: fixed to use logUnBan instead of logBan

  • Player name handling: stopped lowercasing player names during /op interception to preserve exact matches
Existing Features Maintained
  • Ban logging system (banlogs.yml)

  • /seticon command

  • /swaphand command

  • Personal vault system with configurable limits
Notes for Admins
  • Ensure LuckPerms API 5.x is available (compileOnly net.luckperms:api:5.4 recommended)

  • Paper 1.21.4 and Java 21 are targeted

  • Update config.yml to customize the new messages:
    • messages.op-safeguard.* (usage, warn, override-tip, given-governor, given-governor-offline, unknown-offline, etc.)

    • Arms toggle messages can be added to config if needed
  • If you previously relied on multi-group setups, review the new "single-group" behavior for promotions/demotions (only inheritance nodes are replaced)

  • Armor stand arms setting is per-player and resets on server restart (can be extended to persist if needed)
----------, Nov 13, 2025

Added swapitem and update icon commands
----------, Aug 28, 2025

Resource Information
Author:
----------
Total Downloads: 7
First Release: Aug 28, 2025
Last Update: Nov 13, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings