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
Section titled “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
Section titled “1. Root Core Configuration Files”⚙️ config.yml
Section titled “⚙️ 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
Section titled “🛡️ 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
Section titled “🔒 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
Section titled “💬 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
Section titled “🪅 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
Section titled “⏰ 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
Section titled “⚔️ 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
Section titled “🔊 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
Section titled “🛒 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
Section titled “📢 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
Section titled “👑 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
Section titled “🗳️ 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
Section titled “📄 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/)
Section titled “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/)
Section titled “3. Interactive GUI Menus (menus/)”Fully interactive Bedrock- and Java-compatible Chest GUIs:
homesmenu.yml:/homesinterface displaying player set homes, biome icons, coordinates, and instant click-to-teleport buttons.settings.yml:/settingsplayer 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:/warpsserver navigation GUI displaying public warp destinations (Spawn, Crates, Arena, Mining World, Nether).
4. Playtime Progression Tiers (playtime/)
Section titled “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
Section titled “Commands & Permissions Overview”| Command | Permission | Description |
|---|---|---|
/coinshop |
bharatcore.coinshop.use |
Opens the cosmetic and perks Coin Shop GUI. |
/homes |
bharatcore.home.gui |
Opens the visual homes management GUI. |
/warps |
bharatcore.warp.gui |
Opens server warp navigation. |
/settings |
bharatcore.settings |
Opens personal player preference toggles. |
/pinata start |
bharatcore.admin.pinata |
Spawns an immediate community Pinata event. |
/playtime |
bharatcore.playtime.use |
View personal playtime and claim milestone tiers. |
/bharatcore reload |
bharatcore.admin.reload |
Hot-reloads all YAML configurations without restart. |