Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
PlainBase - The lightweight all-in-one core for your Minecraft server. Essential features, zero bloat.
0.3.0-Beta
New Features & Major Changes
- Team Module: Create and manage player teams, fully config-driven (
modules/team.yml):/team list|info|accept|deny|leave|request|invite|add|kick|setrole|deny-request— plus/team requestsand/team invitesfor pending join requests and invites.- Roles: MEMBER / ADMIN per team. Members can only leave; everything else needs a team admin. The first member automatically becomes admin, and the last admin can never be removed or demoted (server admins via
plainbase.team.admincan always step in). - Teams are defined in the config (no create command) — membership, roles, invites and join requests are managed at runtime and stored per player (by UUID), surviving reloads and restarts.
- Vanilla scoreboard mirror: every team is mirrored to a real scoreboard team (
pb_<id>), so any command with a target selector works — e.g./tp @a[team=pb_red] 0 100 0. Not available on Folia (scoreboard API unsupported there); everything else works on Folia. - Fine-grained permissions: one node per subcommand under
plainbase.team.*, usable by every player by default (the team role itself decides who may do what).
- PlaceholderAPI Support:
- Added
%plainbase_team_names%,%plainbase_teams_count%,%plainbase_team_primary%,%plainbase_team_pending_invites%,%plainbase_team_role_<team>%and%plainbase_team_members_<team>%.
- Added
Fixes & Hardening
- FirstSpawn (
/setfirstspawn) never took effect due to a config-key mismatch — fixed and live-verified. - Moderation: ban checks no longer fail open on corrupt database rows, IP addresses are normalized before comparing, self-bans are blocked, and the IP-ban screen now shows the remaining time correctly.
- Teleport: TPA/RTP state is now Folia-safe (no more cross-region access or thread-unsafe collections), RTP no longer blocks server threads while searching, and spamming
/rtpduring a search or warmup is no longer possible. - JoinItems: items no longer duplicate on death and no longer silently overwrite occupied slots;
/clearre-give only triggers for real clears. - Vanish: deaths, advancements, joins and quits of vanished players stay hidden, including across rejoins.
- Commands survive
/plainbase reload|togglecorrectly, and pure usage permissions (/spawn,/tpa,/rtp, …) no longer require OP.
Config Changes
- config.yml updated to Version 1.7 (Added configuration entry for the
teammodule). - team.yml added, Version 1.2 (New configuration file: team definitions, messages and per-command toggles).
Tested Environments
- Paper 26.1.2 (full end-to-end test with real bots: every module, every command)
- Folia 26.2 (team membership/roles/commands live-tested, scoreboard mirror skipped there by design)
It should work on Paper, Purpur and Folia Servers for 1.21.6 to 26.2! Spigot is not supported.
Platforms
Paper
1.21.6–26.3
Dependencies
Paper
- PlaceholderAPI Optional