Skip to main content

BharatCore (Paper Game Engine)

BharatCore is the primary game engine powering all Paper server gameplay mechanics on the BharatMC Network. It integrates combat management, anti-exploit protections, economy reward tracks, custom menus, vote claims, and cosmetic systems.


Complete YAML Configuration Reference​

Every single .yml file in BharatCore manages a dedicated gameplay subsystem. Below is the full breakdown of each configuration file:


1. Root Core Configuration Files​

⚙️ config.yml​

The main configuration file of BharatCore.

  • Database & Storage: Configures local SQLite/H2 or MariaDB credentials and pool sizing.
  • Redis Connectivity: Host, port, credentials, and pub/sub channels (bmc:broadcast, bmc:sync) for cross-server syncing.
  • Combat Tag Settings: Combat timer duration (e.g. 15s), disabled commands during combat, blocked ender pearls, and combat logger spawn on disconnect.
  • Feature Toggles: Enable or disable sub-modules (Pinata party, Playtime tracking, Command Guard, Lands integration).

🛡️ antiexploit.yml​

Protects server stability, performance, and gameplay integrity against popular survival glitches.

  • Duplication & Packet Exploits: Blocks crash-book exploits, oversized NBT payloads, and shulker-nesting duplication.
  • Bedrock Glitching & Nethtop Traps: Blocks illegal block phasing into roof/void boundaries.
  • Portals & Redstone Clocks: Rate-limits excessive piston cycling or portal projectile loops designed to cause lag.

🔒 command-guard.yml​

Staff and player command filtering and permission protection.

  • Syntax Blocking: Prevents unauthorized viewing of plugin lists (/plugins, /bukkit:plugins, /version, /help, /?).
  • Tab-Complete Restriction: Intercepts Brigitte/Brigadier suggestions to hide internal administrative backend commands from regular players.
  • Command Cooldowns: Rate limits spamming commands like /spawn, /tpa, and /msg.

💬 custom_commands.yml​

Defines server-wide alias commands, custom help menus, and interactive triggers.

  • Configure commands like /discord, /store, /vote, /rules, /guide.
  • Supports multi-line formatted text, MiniMessage gradients, clickable links, and action buttons.

🪅 pinata.yml​

Automated community Pinata Party event.

  • Spawning Logic: Spawns a floating celebratory Pinata entity (Llama/Horse/Sheep) at spawn or arena coordinates.
  • Hit Threshold: Configurable global hit counter (e.g. 100 hits).
  • Loot Tables: Drops tiered crate keys, physical tokens, rare ores, and coin bundles to players who hit the Pinata.

⏰ playtime-rewards.yml​

Main coordinator for AFK-filtered online playtime progression.

  • Defines interval triggers (every 30 mins, 1 hour, daily milestones).
  • Grants claimable rewards, tokens, coins, and unlocks progression tiers.

⚔️ skills_rewards.yml​

Bridge and progression hooks connecting skills experience (e.g., AuraSkills) with physical rewards.

  • Level-up rewards (Coins, rare custom items, cosmetic unlocks) awarded automatically when players level up their farming, mining, agility, or combat stats.

🔊 sounds.yml​

Network-wide custom and vanilla sound mappings for UI and gameplay feedback.

  • Configures pitch, volume, and sound keys for UI click events, successful teleportations, combat enter/exit, coin flip wins, and errors.

🛒 store.yml​

Web store synchronization and tier processing.

  • Handles automated command execution when a player purchases items, ranks, or crates from the online store.
  • Supports offline queued deliveries and network-wide purchase broadcast banners.

📢 store_messages.yml​

Chat, action-bar, and title announcements displayed across the server upon webstore checkouts.

  • Features custom formatted celebration banners and sound effects when someone purchases ranks or perks.

👑 team-levels.yml​

Team, Clan, or Lands leveling progression mechanics.

  • Defines team XP requirements, clan member limits, team bank interest rates, and exclusive perk unlocks per level.

🗳️ vote.yml​

Vote rewards and voting streaks configuration.

  • Reward triggers executed when player votes on voting platforms (PMC, TopG, Minecraft-MP).
  • Vote streak multipliers (consecutive voting days yield bonus keys and coins).

📄 plugin.yml​

Bukkit/Paper plugin manifest defining:

  • Plugin name (BharatCore), main class (com.sryel.bharatcore.BharatCore), version, API version (1.21), and soft-dependencies (PlaceholderAPI, WorldGuard, Lands, Vault).

2. Coin Shop Sub-Configurations (coinshop/)​

The Coin Shop allows players to spend hard-earned in-game coins on cosmetics and quality-of-life perks.

  • coinshop.yml: Main navigation hub displaying all shopping categories (Chat Colors, Name Colors, Tags, Perks, Glow, Fly).
  • chatcolor.yml: Hex colors and gradient unlocks for player chat formatting.
  • namecolor.yml: Custom nametag and tablist name color styles.
  • tags.yml: Prefix and suffix titles displayed beside the player username.
  • glow.yml: Outline glowing color effects surrounding the player model.
  • flyperks.yml: Temporary or permanent flight permissions in designated non-PVP zones.
  • godperks.yml: VIP protection perks, potion duration buffs, and hunger-loss immunity in claims.
  • perks.yml: Miscellaneous perks (e.g. KeepXP discounts, portable crafting /craft, workbench access).

3. Interactive GUI Menus (menus/)​

Fully interactive Bedrock- and Java-compatible Chest GUIs:

  • homesmenu.yml: /homes interface displaying player set homes, biome icons, coordinates, and instant click-to-teleport buttons.
  • settings.yml: /settings player preference panel (toggle scoreboard, toggle private messages, toggle TPA requests, hide cosmetics).
  • shardshop.yml: Special event currency (Shards) merchant displaying unique seasonal items.
  • tpamenu.yml: Visual GUI for managing incoming and outgoing teleport requests without typing commands.
  • warpsmenu.yml: /warps server navigation GUI displaying public warp destinations (Spawn, Crates, Arena, Mining World, Nether).

4. Playtime Progression Tiers (playtime/)​

Modular playtime reward configuration files divided into milestones:

  • playtime.yml: Base milestone definitions and global tracking parameters.
  • playtime2.yml: Beginner milestones (1 hour to 10 hours).
  • playtime3.yml: Intermediate tier (10 hours to 50 hours).
  • playtime4.yml: Veteran tier (50 hours to 100 hours).
  • playtime5.yml: Elite tier (100 hours to 250 hours).
  • playtime6.yml: Master tier (250 hours to 500 hours).
  • playtime7.yml: Legend & Endgame milestones (500+ hours with exclusive rank titles).

Commands & Permissions Overview​

CommandPermissionDescription
/coinshopbharatcore.coinshop.useOpens the cosmetic and perks Coin Shop GUI.
/homesbharatcore.home.guiOpens the visual homes management GUI.
/warpsbharatcore.warp.guiOpens server warp navigation.
/settingsbharatcore.settingsOpens personal player preference toggles.
/pinata startbharatcore.admin.pinataSpawns an immediate community Pinata event.
/playtimebharatcore.playtime.useView personal playtime and claim milestone tiers.
/bharatcore reloadbharatcore.admin.reloadHot-reloads all YAML configurations without restart.