▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
MeowEco

MeowEco

MeowEco is a High-Efficiency, Lightweight, and Highly Compatible economy plugin designed for modern Minecraft servers.

154
0

issues

MeowEco Documentation

Version: 26.7.4

MeowEco is a Paper economy plugin with multi-currency support, Vault integration, PlaceholderAPI support, exchange rates, frozen funds, and scheduled rich tax.

Platform

  • Plugin version: 26.7.4
  • Current build target API: io.papermc.paper:paper-api:26.1.1.build.14-alpha
  • meoweco-paper is compiled with a JDK 25 toolchain
  • The plugin artifact still targets Java 17 bytecode for compatibility with older supported Paper servers
  • If you run Paper 26.1.x / 26.1.1, the server itself still needs Java 25 because that requirement comes from upstream Paper

Implemented Features

  • Multiple currencies loaded from config.yml
  • Per-currency display name, singular or plural name, initial balance, decimal precision, and transfer tax
  • Configurable default currency used by Vault and command fallbacks
  • Currency exchange with direct, inverse, and default-currency-derived rates
  • Player balance lookup, payments, and leaderboard
  • Admin balance management: give, take, set
  • Frozen funds operations: freeze, unfreeze, deductfrozen
  • Leaderboard visibility control: hide, unhide
  • Leaderboard and placeholder cache refresh: refresh
  • Scheduled rich tax with system sink or player collector
  • Vault economy provider for the default currency
  • PlaceholderAPI expansion with cached balance, top, and server-total placeholders
  • Update checker against Modrinth
  • Automatic account creation for every configured currency on player join
  • Command override listener for legacy labels such as /bal, /money, /pay, /baltop, /moneytop, and /ecotop

Configuration

Main file: plugins/MeowEco/config.yml

Core Keys

messages:
  language: "zh_CN"

storage:
  type: sqlite
  mysql:
    host: localhost
    port: 3306
    database: meoweco
    username: root
    password: password
    use-ssl: false

update-checker:
  enabled: true
  interval: 24
  slug: "meoweco"

default-currency: "coins"

exchange-rates:
  enabled: true
  coins:
    points: 0.1
    gems: 0.01

rich-tax:
  enabled: false
  threshold: 100000.0
  rate: 0.05
  start-time: "03:00"
  interval: "24h"
  destination:
    type: "system"
    player: "Admin"

currencies:
  coins:
    display-name: "&eCoins"
    singular: "Coin"
    plural: "Coins"
    initial-balance: 100.0
    decimal-places: 2
    transfer-tax: 0.0

Rich Tax Behavior

  • threshold: only the balance above this value is taxed
  • rate: clamped to 0.0 through 1.0
  • start-time: server local time in HH:mm
  • interval: supports raw minutes or suffixed values like 30m, 6h, 1d
  • destination.type:
    • system: taxed funds are removed
    • player: taxed funds are transferred to the configured player account

Commands

Registered Root Commands

  • /meoweco
  • /money
  • /pay
  • /baltop
  • /eco

Aliases:

  • /meoweco: meco, meow
  • /money: balance, bal
  • /eco: economy

Player Commands

CommandDescription
/mecoShows help
/meco bal [player] [currency]Check balance
/meco money [player] [currency]Same as bal
/meco pay <player> <amount> [currency]Send money
/meco top [currency]Show leaderboard
/meco baltop [currency]Same as top
/meco exchange <amount> <from> <to>Exchange currencies when enabled

Shortcut or legacy-compatible commands:

  • /bal, /balance, /money
  • /pay
  • /baltop
  • /moneytop
  • /ecotop

Admin Commands

CommandDescription
/meco give <player> <amount> [currency]Add funds
/meco take <player> <amount> [currency]Remove funds
/meco set <player> <amount> [currency]Set total balance
/meco setrate <from> <to> <rate>Update exchange rate and save to config
/meco hide <player>Hide player from leaderboard
/meco unhide <player>Show player on leaderboard again
/meco refreshClear caches and fix unknown stored names
/meco reloadReload config and messages
/meco checkupdateRun update check immediately
/meco debugToggle debug mode
/meco debug currenciesPrint loaded currencies

Additional admin economy routes implemented in EcoCommand:

CommandDescription
/eco bal [player] [currency]Balance shortcut
/eco top [currency]Leaderboard shortcut
/eco freeze <player> <amount> [currency]Move available funds into frozen balance
/eco unfreeze <player> <amount> [currency]Release frozen funds
/eco deductfrozen <player> <amount> [currency]Deduct from frozen balance and total balance

TrMenu Compatibility

MeowEco can be used inside TrMenu menus for VIP shops, point purchases, exchange menus, and similar GUI flows.

There are two recommended styles:

1. Short action style

If your TrMenu environment already provides MeowEco short conditions or actions, you can write:

actions:
  left:
    condition: 'meco points >= 99'
    actions:
      - 'meco-take: points 99'
      - 'console: lp user %player_name% permission set vip.level1 true'
      - 'tell: &aPurchase successful'

To give currency:

actions:
  left:
    actions:
      - 'meco-give: points 99'
      - 'tell: &aGranted 99 points'

Meaning:

  • condition: 'meco points >= 99': checks whether the player has at least 99 of the points currency
  • meco-take: points 99: removes 99 of points from the player's account
  • meco-give: points 99: adds 99 of points to the player's account

2. Universal command style

If you do not use those short actions, or you want the most portable setup, let TrMenu execute MeowEco commands directly:

actions:
  left:
    condition: 'js: Number("%meoweco_balance_points%") >= 99'
    actions:
      - 'console: meco take %player_name% 99 points'
      - 'tell: &aPurchase successful'
    deny:
      - 'tell: &cNot enough points'

To give currency:

actions:
  left:
    actions:
      - 'console: meco give %player_name% 99 points'
      - 'tell: &aGranted 99 points'

Notes:

  • console: is recommended for meco give and meco take, so player permissions do not block the action
  • Conditions can use PlaceholderAPI values such as %meoweco_balance_points%
  • points is only an example currency id; replace it with coins, gems, or any other currency id from your config
  • For frozen-balance operations, you can also call console: eco freeze ..., console: eco unfreeze ..., and console: eco deductfrozen ...

Permissions

Declared in plugin.yml:

  • meoweco.admin
  • meoweco.balance
  • meoweco.balance.other
  • meoweco.pay
  • meoweco.take
  • meoweco.reload
  • meoweco.top
  • meoweco.eco.give
  • meoweco.eco.take
  • meoweco.eco.set
  • meoweco.eco.freeze
  • meoweco.eco.unfreeze
  • meoweco.eco.deductfrozen
  • meoweco.debug

Notes:

  • give, take, set, freeze, unfreeze, and deductfrozen can now be granted through their dedicated permission nodes
  • setrate, refresh, hide, and unhide should still stay on the stricter meoweco.admin path

PlaceholderAPI

Identifier: meoweco

Currency Metadata

  • %meoweco_currency_singular%
  • %meoweco_currency_plural%
  • %meoweco_currency_display%
  • %meoweco_currency_id%
  • %meoweco_currency_singular_<currency>%
  • %meoweco_currency_plural_<currency>%
  • %meoweco_currency_display_<currency>%
  • %meoweco_currency_id_<currency>%

Balance Placeholders

Supported modes: balance, frozen, available

Supported formats:

  • default: formatted numeric balance with separators
  • raw
  • formatted
  • fixed
  • short

Examples:

  • %meoweco_balance%
  • %meoweco_balance_points%
  • %meoweco_balance_short_gems%
  • %meoweco_frozen%
  • %meoweco_frozen_fixed_coins%
  • %meoweco_available_formatted_points%

Server Total Placeholders

  • %meoweco_server_total_<currency>%
  • %meoweco_server_total_raw_<currency>%
  • %meoweco_server_total_formatted_<currency>%
  • %meoweco_server_total_fixed_<currency>%
  • %meoweco_server_total_short_<currency>%

Top Placeholders

  • %meoweco_top_<rank>_name_<currency>%
  • %meoweco_top_<rank>_raw_<currency>%
  • %meoweco_top_<rank>_formatted_<currency>%
  • %meoweco_top_<rank>_fixed_<currency>%
  • %meoweco_top_<rank>_short_<currency>%
  • %meoweco_top_<rank>_balance_<currency>%

Developer API

Service lookup:

MeowEcoAPI api = MeowEcoAPI.get();

Main methods currently exposed:

Collection<Currency> getRegisteredCurrencies();
Currency getCurrency(String id);
double getBalance(UUID uuid, String currencyId);
boolean deposit(UUID uuid, String currencyId, double amount);
boolean withdraw(UUID uuid, String currencyId, double amount);
double getFrozenBalance(UUID uuid, String currencyId);
double getAvailableBalance(UUID uuid, String currencyId);
boolean freeze(UUID uuid, String currencyId, double amount);
boolean unfreeze(UUID uuid, String currencyId, double amount);
boolean deductFrozen(UUID uuid, String currencyId, double amount);

Operational Notes

  • Leaderboard cache lifetime: 5 minutes
  • Placeholder balance cache lifetime: 1 second
  • Placeholder top and server-total cache lifetime: 30 seconds
  • Most database operations are dispatched asynchronously
  • Hidden accounts are excluded from leaderboard output at the database layer

Совместимость

Minecraft: Java Edition

26.1.x1.21.x1.20.x1.19.x1.18.x

Платформы

Поддерживаемые окружения

Сервер

Детали

Лицензия:MIT
Опубликован:3 месяца назад
Обновлён:3 недели назад
Главная