FCore
← Back to Store v2.0.0
FCore Documentation

Complete reference for installing, configuring, and extending FCore on your Minecraft server.

Installation

  1. 1
    Purchase FCore
    Buy FCore on SpigotMC. After purchase you will receive the plugin JAR. Keep your SpigotMC order ID — you need it for license activation.
  2. 2
    Request your license key
    Join the Kraken Studios Discord and open a ticket in the #license-request channel. Provide your SpigotMC username and order ID. You will receive your key within 24 hours.
  3. 3
    Drop the JAR into /plugins
    Copy FCore-2.0.0.jar (or FCore-2.0.0-PROTECTED.jar for the obfuscated build) into your server's /plugins folder.
  4. 4
    Start the server once
    Start the server. FCore generates all config files in /plugins/FCore/. A warning about a missing license is expected on the first boot.
  5. 5
    Enter your license key
    Open /plugins/FCore/config.yml, find the license.key field, and paste your key. Save and restart.
  6. 6
    Configure and enjoy
    All systems are active. Continue with the configuration sections below to tune each module to your server.

License Setup

FCore verifies your license on every startup. Without a valid key the plugin will not enable.

The license key is bound to your SpigotMC account. Do not share it or use it on servers you do not own.

config.yml — license field

license:
  key: "YOUR-LICENSE-KEY-HERE"
After setting the key run /fcore reload or restart. A green confirmation in console means the license is valid.

Getting a license

Join discord.com/invite/f3ut3gWxgB → open a ticket → share your SpigotMC order ID → receive your key.

Requirements

ComponentRequirementNotes
Minecraft1.20.4Spigot or Paper
Java17+Required by the server
VaultOptionalRequired for economy Vault API bridge
LuckPermsOptionalRequired for rank-based chat formatting
PlaceholderAPIOptionalRequired for %fcore_*% placeholders in other plugins
ProtocolLibOptionalUsed by certain display features
WorldGuardOptionalRegion-based lobby protection checks
WorldEditOptionalUsed alongside WorldGuard
FCore degrades gracefully when optional dependencies are absent. Every soft-dependency is checked at runtime before each call — the plugin never crashes because Vault or LuckPerms is missing.

config.yml

Main plugin configuration. Controls global toggles, module flags, chat, spawn delay and the license key.

license:
  key: "YOUR-KEY"

lobby-mode: true

chat:
  enabled: true
  format: "{prefix} {player}: {message}"
  anti-swear: true
  anti-ip: true

spawn:
  delay: 3
  auto-tp-on-join: true

modules:
  economy: true
  artilugios: true
  minions: true
  clearlag: true
  pvp-mode: false
  double-jump: true

database.yml

Database connection. FCore supports MySQL and SQLite. SQLite is used automatically if MySQL is disabled or unreachable.

mysql:
  enabled: true
  host: "localhost"
  port: 3306
  database: "fcore"
  username: "root"
  password: "your_password"

pool:
  min-connections: 16
  max-connections: 64
  connection-timeout: 30000

tables:
  players:
    name: ic_players
  economy:
    name: ic_economy
  stats:
    name: ic_stats
  punishments:
    name: ic_punishments
HikariCP manages the pool with exponential backoff on retries. If MySQL is unreachable at startup FCore falls back to SQLite automatically.

messages_es.yml

All player-facing strings. Supports hex colors with &#RRGGBB and standard Bukkit color codes.

prefix: "&#4a9effFCore &8»&r"

economy:
  balance: "{prefix} &7Balance: &a${amount}"
  insufficient: "{prefix} &cInsufficient funds."
  pay-sent: "{prefix} &7Sent &a${amount}&7 to &f{target}."

teleport:
  teleporting: "{prefix} &7Teleporting in &e{seconds}s..."
  cancelled: "{prefix} &cCancelled — you moved."
Never hardcode player-facing strings in commands — add them here and retrieve via MessageManager.get("key").

lobbyprotection.yml

Individual toggle for every lobby protection rule. Changes apply after /fcore reload.

enabled: true
bypass-permission: fcore.lobby.bypass

player:
  no-hunger: true
  no-fall-damage: true
  no-pvp: true
  auto-heal: true

blocks:
  no-break: true
  no-place: true

world:
  no-mob-spawning: true
  fixed-time: 6000

commandsblocked.yml

Command whitelist. By default every command is blocked for players unless listed in allowed-commands.

enabled: true
blocked-message: "&cNo access to this command."
block-worldedit: true   # No bypass

allowed-commands:
  enabled: true
  commands:
    - spawn
    - warp
    - tpa
    - pay
    - bal

console-only:
  enabled: true
  commands:
    - op
    - stop
    - plugins
Players with fcore.bypass.commandblocker bypass the whitelist. Use /blockedcmds add <cmd> to add commands without editing the file.

menus/*.yml

YAML-defined GUI inventory menus. Create any number of menus without touching Java code.

title: "&8» &bServer Menu"
rows: 3

items:
  spawn-btn:
    slot: 13
    material: COMPASS
    name: "&aGo to Spawn"
    lore:
      - "&7Click to teleport"
    actions:
      left-click:
        - "[COMMAND] spawn"
Supported action types: [COMMAND], [CONSOLE], [CLOSE], [OPEN_MENU], [MESSAGE], [SOUND].

Economy Module

Built-in economy with a native Vault provider. All balances are stored in the database.

CommandDescriptionPermission
/bal [player]View balancefcore.balance
/baltop [page]Top balances leaderboardfcore.baltop
/pay <player> <amount>Transfer moneyfcore.pay
/eco <give|take|set> <player> <amount>Admin economyfcore.economy.admin
FCore registers itself as a Vault economy provider. Any Vault-compatible plugin (shops, jobs, etc.) will use FCore's economy automatically.

Artilugios (Cosmetics)

Self-contained cosmetics subsystem. Players unlock cosmetic effects, chat colors, join messages and more. Definitions live in /plugins/FCore/artilugios/*.yml.

FeatureDescription
Chat colors & symbolsUnlock custom chat palettes and special Unicode symbols
Join effectsParticle effects displayed when a player joins
Join messagesCustom join/quit broadcast text
Auto-flyAutomatic flight on join (requires fcore.artilugios.fly)
Artilugios data syncs across BungeeCord via ArtilugiosSyncManager. All unlocks persist in the database.

Floating Minions

Custom ArmorStands that float above the player with particle effects. Each type has its own particle style and permission.

TypeParticlesPermissionDefault
GuerreroCRITfcore.minion.guerrerotrue
MagoENCHANTMENTfcore.minion.magotrue
NinjaSMOKEfcore.minion.ninjatrue
AngelEND_RODfcore.minion.angelfalse
/minion spawn <guerrero|mago|ninja|angel>
/minion remove
/minion list

Lobby Protection

Every rule is independently togglable from lobbyprotection.yml and applied with /fcore reload.

Players with fcore.lobby.bypass are exempt from all lobby protections.

Teleportation

Full teleport suite with cooldowns, delay timers (cancelled on movement) and a complete TPA request flow.

CommandDescription
/tp <player>Teleport to player (staff)
/tpa <player>Request to TP to a player
/tpahere <player>Request a player to come to you
/tpaaccept / /tpadeny / /tpacancelManage TP requests
/tpatoggleToggle receiving TP requests
/spawn [player]Go to server spawn
/warp <name>Go to a named warp
/setwarp <name>Create a warp at your location
/backReturn to previous location

Advanced Chat

Chat formatting, moderation filters and interactive clickable elements.

FeatureDescriptionBypass
Chat formatLuckPerms prefix/suffix with PlaceholderAPI support
Anti-swearConfigurable word filterfcore.antiswear.bypass
Anti-IPBlocks IPs and domains in chatfcore.admin
[inv] clickableWrite [inv] to share your inventory as a clickable link
[ec] clickableWrite [ec] to share your ender chest as a clickable link

Command Blocker

Triple-layer filtering. Commands outside the whitelist are blocked at execution, removed from the client command list on join, and stripped from tab-complete in real-time.

LayerEventEffect
1PlayerCommandPreprocessEventBlocks execution before Bukkit processes it
2PlayerCommandSendEventRemoves blocked commands from the client list on join
3TabCompleteEventFilters tab suggestions in real-time on every Tab press
/blockedcmds add <cmd>      Add to whitelist
/blockedcmds remove <cmd>   Remove from whitelist
/blockedcmds list            View whitelist
/blockedcmds reload          Reload from file
/blockedcmds check <player> See what a player can use

ClearLag

Automatic item entity cleanup with countdown warnings.

/clearlag           Show time until next clear
/clearlag clear     Force immediate cleanup   (fcore.clearlag.now)
/clearlag reload    Reload config             (fcore.clearlag.reload)

Commands Reference

CommandAliasesPermissionDefault
/fcorefcfcore.adminop
/fly [on|off] [player]vuelofcore.flyfalse
/flyspeed <1-10>fspeedfcore.flyspeedop
/speed <1-10>fcore.speedop
/tp <player>teleportfcore.tpop
/tphere <player>tph, sfcore.tp.othersop
/tpallfcore.tpallop
/tppos <x> <y> <z>fcore.tp.coordsop
/tpa <player>fcore.tpatrue
/tpahere <player>fcore.tpa.heretrue
/tpaaccepttpacceptfcore.tpatrue
/tpadenytpdenyfcore.tpatrue
/tpacancelfcore.tpatrue
/tpatogglefcore.tpa.toggletrue
/backfcore.backtrue
/spawn [player]hub, lobbyfcore.spawntrue
/setspawnfcore.setspawnop
/warp <name>wfcore.warptrue
/setwarp <name>createwarpfcore.warp.createop
/delwarp <name>deletewarpfcore.warp.deleteop
/warpswarplistfcore.warptrue
/gm <mode>gamemodefcore.gamemodeop
/gms / /gmc / /gma / /gmspfcore.gamemode.*op
/bal [player]balance, moneyfcore.balancetrue
/baltopmoneytopfcore.baltoptrue
/pay <player> <amount>pagarfcore.paytrue
/eco <give|take|set>economyfcore.economy.adminop
/heal [player]fcore.healop
/god [player]godmodefcore.godop
/feed [player]fcore.feedtrue
/hatfcore.hatfalse
/head [player]skullfcore.headfalse
/sitfcore.sittrue
/anvilfcore.anviltrue
/repair [all]repararfcore.repairtrue
/ec [player]enderchestfcore.ectrue
/clear [player]cifcore.clearop
/invsee <player>fcore.invseeop
/clearlag [clear|reload]lagg, gcfcore.clearlagop
/cleanhologramscleanholofcore.cleanhologramsop
/artilugioscosmetics, artfcore.artilugiostrue
/minion <spawn|remove|list>minions, petfcore.minion.usetrue
/blockedcmds <add|remove|list>allowedcmdsfcore.adminop
/discorddctrue
/tiendastore, shoptrue
/sociallinksfcore.socialtrue
/time <day|night|set>fcore.timeop

Permissions

fcore.admin inherits all other permissions. Assign it to staff ranks for full plugin access.
PermissionDescriptionDefault
fcore.adminFull access — inherits everythingop
fcore.flyToggle own flightfalse
fcore.fly.othersToggle flight for othersop
fcore.flyspeedChange fly speedop
fcore.speedChange walk/fly speedop
fcore.tpBasic /tpop
fcore.tp.othersTeleport other playersop
fcore.tpallTeleport all playersop
fcore.tpaUse TPA request systemtrue
fcore.spawnUse /spawntrue
fcore.setspawnSet/delete server spawnop
fcore.warpUse warpstrue
fcore.warp.createCreate warpsop
fcore.warp.deleteDelete warpsop
fcore.balanceView own balancetrue
fcore.paySend moneytrue
fcore.economy.adminAdmin economy commandsop
fcore.gamemodeChange own gamemodeop
fcore.gamemode.othersChange others' gamemodeop
fcore.healHeal selfop
fcore.godGod modeop
fcore.invseeView other players' inventory (read-only)op
fcore.invsee.pickupMove items in viewed inventoryop
fcore.sitSit with /sittrue
fcore.artilugiosAccess cosmetics menutrue
fcore.minion.useUse minion systemtrue
fcore.minion.angelAngel minion (premium exclusive)false
fcore.bypass.commandblockerBypass command whitelistop
fcore.lobby.bypassBypass all lobby protectionsop
fcore.antiswear.bypassBypass chat word filterop
fcore.doublejumpDouble-jump in lobbytrue

PlaceholderAPI

All placeholders use the %fcore_*% namespace. PlaceholderAPI must be installed.

PlaceholderReturns
%fcore_balance%Player's balance (formatted)
%fcore_balance_raw%Player's balance as a raw number
%fcore_baltop_1_name%Username of the #1 richest player
%fcore_baltop_1_amount%Balance of the #1 richest player
%fcore_fly%true / false — fly state
%fcore_god%true / false — god mode state
%fcore_server%Current BungeeCord server name
%fcore_online%Online player count
Add new placeholders in FCorePlaceholders.java inside the onPlaceholderRequest method.

FAQ

The plugin doesn't start — "License not found"

Open /plugins/FCore/config.yml and enter your license key in license.key. If you don't have a key yet, join the Discord and open a ticket.

Economy isn't working in other plugins (shops, jobs…)

Make sure Vault is installed. FCore registers itself as a Vault economy provider — any Vault-compatible plugin picks it up automatically.

Players can still use blocked commands after /blockedcmds add

Run /blockedcmds reload. Also verify the player doesn't have fcore.bypass.commandblocker.

Can I use FCore on a multi-server network?

Yes. Use MySQL so all servers share the same database. The Artilugios sync system uses BungeeCord plugin messaging channels. Each server needs its own FCore install and license key.

How do I build the obfuscated JAR?

mvn clean package -Pprotected

Output: target/FCore-2.0.0-PROTECTED.jar

I need help or found a bug

Open a support ticket in the Kraken Studios Discord. Include your server version, FCore version and the full console error.

FCore v2.0.0 · Kraken Studios · Spigot 1.20.4 · Java 17 · Discord Support