Mythical Races Premium System

Mythical Races Groups

A premium modular organization layer for Mythical Races servers. Internally the feature is always a Group, while server owners can display it as factions, guilds, clans, towns, kingdoms, orders, or any other community style.

Groups
Factions
Guilds
Clans
Houses
Kingdoms
Towns
Parties
Orders
Communities

Peaceful

Towns, communities, shared homes, banks, cosmetics, and protected claims without wars unless explicitly enabled.

PvE

Progress groups through mob kills, bosses, quests, playtime, dungeons, events, and cooperative rewards.

Competitive

Enable alliances, rivalries, wars, wagers, leaderboards, scoring, and optional territory conflict.

Hybrid

Combine claims, peaceful opt-outs, PvE progression, diplomacy, and competitive wars in one configurable module.

V1 Premium Scope

The first version is planned as a full single-server groups platform. It does not imply proxy-wide network support just because MySQL is available.

  • Player-created, admin-created, and hybrid group creation modes
  • Invites, applications, open joins, leaving, disbanding, owner transfer, and inactivity succession
  • Custom roles with hierarchy, permissions, confirmation flows, and inventory GUI management
  • YAML storage in groups-data.yml plus MySQL/MariaDB storage with schema migrations
  • Storage test, import, export, and backend migration commands with validation counts
  • Vault economy fallback, group bank balances, deposits, withdrawals, upkeep, wagers, and transaction history
  • Chunk claims, admin claims, safezones, warzones, protection flags, ghost claims, and border-grief protection
  • Peaceful status rules, PvE progression, power, upgrades, diplomacy, wars, scoring, ties, surrender, and downtime persistence
  • Leaderboards, member contribution stats, PlaceholderAPI placeholders, internal events, rewards, and admin management UI

Internal Naming

Code, storage tables, repositories, services, hooks, and events should use Group terminology. Display names are configurable and can be changed by the server owner.

GroupGroupMemberGroupRoleGroupClaimGroupRelationshipGroupWarGroupWarKillGroupStatsGroupBankTransactionGroupStorage

Documented groups.yml

The premium module should ship a documented groups.yml for configuration only. Live YAML data belongs in groups-data.yml so comments are not destroyed during saves.

# ============================================================
# Groups / Factions / Guilds Configuration
# ============================================================
# This system is internally called "Groups", but you can rename
# the display term to Factions, Guilds, Clans, Towns, Kingdoms,
# Houses, Orders, or anything else.
#
# IMPORTANT:
#   MySQL storage does not automatically mean network/proxy
#   support. Real network support requires cache synchronization.
# ============================================================

groups:
  enabled: true
  display:
    singular: "Group"
    plural: "Groups"
    commandAlias: "group"
    tagFormat: "[{tag}]"
  mode: "HYBRID"
  gameplayStyle: "HYBRID"

storage:
  type: "YAML"
  yaml:
    dataFile: "groups-data.yml"
    backupBeforeSave: true
    autosaveIntervalSeconds: 300
  mysql:
    host: "localhost"
    port: 3306
    database: "minecraft"
    tablePrefix: "mr_groups_"

network:
  enabled: false
  mode: "SINGLE_SERVER"
  syncProvider: "NONE"

Storage & Migration

Groups should use repository abstractions for YAML and MySQL/MariaDB. MySQL tables need schema migration, transactions for bank and war actions, async-safe writes, and claim caches to avoid database lookups on every block event.

Claims, Wars & Safety

Chunk claims should support safezones, warzones, ghost cleanup, edge-case protection for projectiles, potions, explosions, pistons, hoppers, vehicles, and configurable peaceful, PvE, competitive, or hybrid behavior.

Player Commands

/group create <name>/group invite <player>/group join <group>/group apply <group>/group roles/group dashboard/group claim/group bank history/group war declare <group> [wager]/group top <level|balance|kills|wins|claims|power>

Admin Commands

/admin group create <name>/admin group setowner <group> <player>/admin group storage migrate yaml mysql/admin group claim safezone/admin group claims purgeexpired/admin group war start <groupA> <groupB>/admin group import preview <plugin>/admin group menu

Premium Integration Checklist

Inventory GUI dashboards with chat fallback for Bedrock/Geyser-friendly navigation.

PlaceholderAPI placeholders and internal events for abilities, quests, rewards, economy, and external plugins.

Startup validation that disables only the Groups module when possible and warns about unsupported network settings.