CustomOfflineVariables

CustomOfflineVariables

CustomOfflineVariables is a PlaceholderAPI plugin for Paper and Folia. It saves configured placeholder values when a player disconnects and exposes custom placeholders for online and offline player data.

4 downloads

CustomOfflineVariables is a PlaceholderAPI plugin for Paper and Folia. It saves configured placeholder values when a player disconnects and exposes custom placeholders for online and offline player data.

Supported versions

  • Minecraft / Paper / Folia: 26.2
  • Java: 25 or newer
  • PlaceholderAPI: 2.12.3 or a compatible version
  • Databases: MySQL or SQLite

Installation

  1. Install a Paper or Folia server for Minecraft 26.2.
  2. Install PlaceholderAPI.
  3. Copy the built JAR into the server's plugins directory.
  4. Start the server to generate the default configuration.
  5. Edit plugins/CustomOfflineVariables/config.yml.
  6. Restart the server or run /offlinevars reload.

The PlaceholderAPI expansion is bundled and registers automatically. Do not use /papi ecloud download. Check and test it with:

/papi list
/papi parse <player> %offlinevars_云币%

Database configuration

MySQL

Create the configured database first:

CREATE DATABASE IF NOT EXISTS `minecraft-offline-papi`
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

Configure the connection:

database:
  type: mysql
  host: localhost
  port: 3306
  database: minecraft-offline-papi
  username: root
  password: password
  table: player_variables

After connecting successfully, the plugin creates the player_variables table automatically.

SQLite

database:
  type: sqlite
  table: player_variables

The SQLite database is stored at:

plugins/CustomOfflineVariables/database.db

Custom variables

With target-key, the plugin generates the query automatically:

variables:
  金额:
    target-key: cloud_coin
    default: "0"
    cache-duration: 60

Placeholder:

%offlinevars_金额%

Custom SQL is also supported. %uuid% and %name% are replaced with the target player's offline UUID and name:

variables:
  example:
    query: "SELECT value FROM custom_table WHERE uuid = '%uuid%'"
    return-column: value
    default: "N/A"
    cache-duration: 60

Synchronization

Placeholders under sync are parsed and saved when a player disconnects:

sync:
  save_cloud_coin:
    placeholder: "%cmi_user_balance_formatted%"
    target-key: cloud_coin
    sync-on-quit: true

Commands and permissions

Command Description Permission
/offlinevars info Show plugin information None
/offlinevars reload Reload the configuration offlinevars.admin
/offlinevars debug <player> <variable> Debug a variable query offlinevars.admin

UUID behavior

The plugin generates an offline UUID from the player name using:

OfflinePlayer:<player name>

This is intended for offline-mode player data. Changing the player name or its letter case may produce a different offline UUID.

No gallery available for this project.