▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/DonutShards
DonutShards

DonutShards

DonutShards - плагин для PaperMC с собственной валютой (Shards). Зарабатывай за убийства в PvP и AFK-ферминг, трать в красивом GUI-магазине. Всё настраивается, есть топ, мультиязычность и API для разработчиков.

Оцените первым
2.2K
2

DonutShards - это плагин для серверов Minecraft на PaperMC, который вводит собственную валюту - Shards (осколки). Если стандартная экономика на "алмазах" или "монетах" приелась, или хочется чего-то более гибкого и тематического - DonutShards отличный вариант. Он решает сразу несколько проблем: даёт игрокам дополнительную мотивацию для PvP и просто времяпровождения на сервере, а админам - мощный инструмент для создания своей экономики без костылей.

Что это и зачем нужно

В ванильном Minecraft нет никакой встроенной экономики. Всё держится на плагинах. DonutShards - это не очередной "ещё один экономический плагин", а полноценная система со своей валютой, магазином, AFK-зоной и топом. Он подходит для серверов, где хотят:

  • Поощрять PvP - за каждое убийство игрок получает Shards
  • Дать возможность зарабатывать пассивно - AFK-зоны с защитой
  • Создать магазин с красивым GUI и категориями
  • Иметь топ игроков по балансу
  • Всё это без танцев с бубном и кучи зависимостей

Основные фишки

  • Своя валюта - Shards, со своими командами баланса, топа и выдачи
  • Награды за убийства - настраиваемое количество Shards за PvP-килл, с кулдауном и множителем
  • AFK-система - игроки получают Shards, просто находясь в специальной AFK-зоне. Можно настроить защиту зоны (без WorldGuard)
  • Магазин - многостраничный GUI-магазин с категориями. Покупай предметы за Shards
  • Мультиязычность - 5 языков: английский, вьетнамский, китайский, испанский, французский
  • Топ - /shard top показывает лучших игроков по балансу
  • API для разработчиков - можно интегрировать свои плагины с DonutShards
  • Два типа хранения - YAML или SQLite (с WAL-режимом для асинхронной записи)

Требования

  • PaperMC 1.21.x
  • Java 21+
  • PlaceholderAPI 2.11+ (опционально, для плейсхолдеров)

Установка

  1. Скачай DonutShard-1.0.0.jar и кинь в папку /plugins
  2. Запусти сервер - конфиги сгенерируются автоматически
  3. Отредактируй plugins/DonutShard/config.yml под себя
  4. Выполни /shard reload в игре, чтобы применить изменения без перезапуска

Структура файлов

plugins/DonutShard/
├── config.yml          # Главный конфиг (награды за убийства, хранилище, топ)
├── afk.yml             # AFK-зоны, правила защиты, скорость заработка
├── shop.yml            # Категории магазина и расположение в GUI
├── shops/
│   ├── Spawners.yml    # Предметы спавнеров
│   ├── Ores.yml        # Руды
│   └── Farm.yml        # Фермерские предметы
├── languages/
│   ├── en.yml
│   ├── vi.yml
│   ├── zh.yml
│   ├── es.yml
│   └── fr.yml
└── data/               # Файлы YAML-хранилища (если выбран YAML)
    ├── balances.yml
    ├── afk_sessions.yml
    ├── afk_warps.yml
    └── daily_earnings.yml

Настройка

config.yml - основные параметры

language: en           # Активный язык (en/vi/zh/es/fr)

kill-reward:
  enabled: true
  shards-per-kill: 10
  kill-cooldown: 30    # секунд до повторной награды за того же игрока
  ignore-afk-victims: false
  bonus-multiplier:
    enabled: false
    threshold: 1000    # если у жертвы >= этого количества Shards
    multiplier: 1.5

storage:
  type: SQLITE         # YAML или SQLITE
  auto-save-interval: 5  # минут

leaderboard:
  size: 10

afk.yml - AFK-система

enabled: true
shards-per-minute: 1
daily-limit: 100       # 0 = безлимит
teleport-cooldown: 5   # секунд между использованиями /afk
auto-detect-afk: true  # автоопределение игроков в AFK-мире

protection:
  default:
    no-damage: true
    no-hunger: true
    no-pvp: true
    no-mob-spawn: true
    no-item-drop: true
    restore-health-on-enter: true
    clear-effects-on-enter: true

Добавление категории в магазин

  1. Создай plugins/DonutShard/shops/MyCategory.yml:
gui-title: "<gold>⭐ My Category"
items:
  - id: DIAMOND
    name: "<aqua>💎 Diamond"
    price: 100
    slot: 10
    quantity: 1
    lore:
      - "<gray>Shiny and expensive"
  - id: SPAWNER
    name: "<red>🔥 Blaze Spawner"
    spawnertype: BLAZE
    price: 5000
    slot: 11
    quantity: 1
  1. Добавь категорию в shop.yml в раздел categories:
categories:
  MyCategory:
    icon: DIAMOND
    name: "<aqua>My Category"
    slot: 4
    lore:
      - "<gray>Buy diamonds and spawners"
  1. Выполни /shard reload. Перезапуск не нужен!

Команды

КомандаОписаниеПраво
/shard balance [player]Посмотреть баланс Shardsdonutshard.balance
/shard give <player> <amount>Выдать Shardsdonutshard.give
/shard take <player> <amount>Забрать Shardsdonutshard.take
/shard set <player> <amount>Установить Shardsdonutshard.set
/shard top [page]Посмотреть топdonutshard.top
/shard reloadПерезагрузить конфигdonutshard.reload
/shard set-afk-warp <name>Установить AFK-варпdonutshard.admin
/shard remove-afk-warp <name>Удалить AFK-варпdonutshard.admin
/shard list-afk-warpСписок AFK-варповdonutshard.admin
/shard language <code>Сменить языкdonutshard.language
/afk [warpname]Войти в AFK-зонуdonutshard.afk
/afk-settingНастройки AFK-зоныdonutshard.afk.admin
/shardshopОткрыть магазин Shardsdonutshard.shop

Алиасы: /shard -> /donutshard, /ds

Права доступа

ПравоОписаниеПо умолчанию
donutshard.balanceПроверить свой балансtrue
donutshard.balance.othersПроверить баланс другихop
donutshard.giveВыдать Shards другимop
donutshard.takeЗабрать Shards у другихop
donutshard.setУстановить баланс Shardsop
donutshard.topПосмотреть топtrue
donutshard.reloadПерезагрузить плагинop
donutshard.adminВсе админские командыop
donutshard.afkИспользовать /afktrue
donutshard.afk.adminУправлять AFK-настройкамиop
donutshard.shopОткрыть магазин Shardstrue
donutshard.kill.bypassСмерть этого игрока не даёт Shardsfalse
donutshard.zone.bypassИгнорировать защиту зоныop
donutshard.languageСменить языкtrue

PlaceholderAPI плейсхолдеры

Если у тебя стоит PlaceholderAPI, можно использовать эти плейсхолдеры в любом совместимом плагине:

ПлейсхолдерВозвращает
%donutshard_balance%Баланс Shards игрока
%donutshard_rank%Место игрока в топе
%donutshard_top_1% до %donutshard_top_10%Имя игрока на N месте топа
%donutshard_top_balance_1% до %donutshard_top_balance_10%Баланс игрока на N месте топа

API для разработчиков

Если ты разрабатываешь свой плагин и хочешь интегрировать его с DonutShards, вот пример:

// Проверка доступности API
if (DonutShardAPI.isAvailable()) {

    // Получить баланс
    long balance = DonutShardAPI.getBalance(player);

    // Выдать Shards с причиной
    DonutShardAPI.give(player, 100, "Награда за квест");

    // Забрать Shards (вернёт false, если недостаточно)
    boolean success = DonutShardAPI.take(player, 50);

    // Слушать события Shards
    DonutShardAPI.registerHook(new ShardEventHook() {
        @Override
        public void onShardEarned(UUID uuid, long amount, String reason) {
            // ...
        }
        @Override
        public void onShardSpent(UUID uuid, long amount, String reason, long newBalance) {
            // ...
        }
    });
}

Сборка из исходников

git clone https://github.com/duong2012g/DonutShard.git
cd DonutShard
mvn clean package
# Результат: target/DonutShard-1.0.0.jar

Требования: Java 21, Maven 3.8+

Лицензия

MIT - можно свободно использовать, модифицировать и распространять с указанием авторства.

Часто задаваемые вопросы

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

Minecraft: Java Edition

1.21.x

Платформы

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

Сервер

Создатели

Детали

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