
PoSMP | DonutSMP All in One 1.0.5
Dedicated plugin | No Skript, Ultimate plugin to get your SMP server fully ready in minutes!
PoSMP 1.0.5 – Patch Notes
Features
PlaceholderAPI integration: Stabilized for TAB and scoreboards with working stats placeholders (kills, deaths, playtime) and crystals placeholder
New placeholders for use with PlaceholderAPI-enabled plugins like TAB:
- %posmp_stats_kills%
- %posmp_stats_deaths%
- %posmp_stats_playtime% (formatted)
- %posmp_stats_playtime_raw% (seconds)
- %posmp_crystal_amount%
- %posmp_team_name%
Placeholder optimization: Consolidated placeholder logic into single expansion (identifier "posmp"). Removed legacy duplicate team expansion to avoid collisions
Stats GUI improvements: Playtime now computed from tracked total + current session with no PAPI dependency
Crystals enhancements:
- Placeholder now reads CrystalFeature store by UUID and falls back to PlayerData to avoid showing 0
- Configuration improved: unlimited cap with 0 or -1 in features/crystal.yml
- settings.maximum-balance: 0 or -1 means unlimited (previously -1), default set to 0
- Message placeholders updated to %posmp_crystal_amount%
Bug Fixes
TAB values blank: Resolved by removing duplicate PlaceholderAPI expansion with same identifier and returning safe defaults when stats/crystal features are unavailable
Stats placeholders: Switched to direct method calls (no reflection) and ensured non-empty outputs
Playtime in GUI: Fixed to include current session and use internal tracking
Crystal placeholder stuck at 0: Now reads persisted store first with PlayerData fallback
Config Updates
features/crystal.yml now defaults to unlimited max balance using 0
Build/Packaging
Version bumped to 1.0.5
Commands to Reload
/papi reload /tab reload (or restart) /posmp reload (optional after deploying JAR)
PoSMP 1.0.4 – Patch Notes
Features
Team nametag system: New second line under player names with instant, smooth tracking
- Default format: [Team: TeamName] with team color
- Instant follow via PlayerMove/Teleport/WorldChange with lightweight periodic refresh
- Configurable in features/team.yml with options for enabled, y-offset, instant tracking, update period, and format
Team Levels page: Team Info GUI Experience Bottle opens levels page showing current level, XP, next threshold, and benefits per level from config
Join request GUI: Clicking a team in Team List sends request and opens Accept/Deny GUI for owner. /team join <team> triggers same GUI flow
RTP multiverse support: features/rtp.yml multiverse section to pick overworld/nether/end/lobby world names. RTP respects configured world names instead of first world with matching environment
Team enhancements:
- Team list shows team level in item lore
- Team sidebar toggleable (default OFF) via gui.sidebar: false
- Team color selection GUI and back button fixed
- Kick GUI lists teammate heads reliably with UUID-based lookup
Chat improvements: Resolved raw %luckperms_prefix% by using PlaceholderAPI when present with fallback resolver for common placeholders when PlaceholderAPI is absent
Bug Fixes
AFK disable crash on shutdown: Avoid scheduling tasks while plugin disables
Duplicate messages eliminated:
- Team chat toggle now reports only once
- Kick duplicate notice removed (one source of truth from TeamFeature)
Display cleanup: Kick/leave immediately clears second-line nametag and below-name artifacts
Above-head display: Removed old label usage and replaced with armor-stand nametag for fully custom second line under player name
Config Updates
features/team.yml overhauled:
- New gui.nametag block for second line settings
- display.tab-format and display.chat-format simplified
- Benefits/levels retained with team list showing level in GUI lore
features/rtp.yml: Added multiverse world name mapping
PoSMP 1.0.3 – Patch Notes
Highlights
Fixed startup crash caused by internal conflicts (NoSuchFieldError in EconomyFixFeature) Shipped clean JAR build with improved stability Cross-version runtime support: 1.19, 1.20, and 1.21 (latest) Essentials replacements restored and expanded with proper command executors and tab-completion
Fixes
Resolved java.lang.NoSuchFieldError during enable caused by internal conflicts by improving build process and stability Guarded ProtocolLib-dependent features (Item Value tooltips) so plugin runs even if ProtocolLib/NBT-API are absent Updated compatibility with Paper API changes across versions (enchantments, particles, attributes, flags, materials)
Compatibility
Server versions: 1.19.x, 1.20.x, 1.21.x (including latest Paper) Build: Java 17 bytecode (runs on Java 17 and Java 21) plugin.yml: api-version: 1.21
Essentials Commands (built-in)
Core commands: broadcast, msg, reply, burn, nuke, fly, god, vanish Teleportation: tp, tphere, back, tppos, tpoffline Player management: gamemode (gma, gmc, gms, gmsp), speed, heal, feed, repair Inventory: trash, workbench, invsee, enderchest, clearinventory, give Utilities: playtime, exp, seen, socialspy, kill, near, ignore, remove World: pweather, worth, time, spawnmob
Tab-completion provided for applicable commands with permissions defined in plugin.yml
Deployment Notes
Upload build/libs/PoSMP-1.0.3.jar for installation For Item Value tooltips, install ProtocolLib and NBT-API (feature auto-skips if absent)
Technical Changes
Build targets Java 17 with Paper dependencies adjusted Updated plugin.yml api-version with verified commands and permissions Full Essentials command registration with tab-completers Compatibility helper added for API differences across 1.19–1.21