LawRP
PluginMIT

LawRP

A plugin for fines, police systems, documents, notifications, and calls via Discord

5
Downloads
0
Followers
2 months ago
Updated
📦
1
Versions

📖About LawRP

LawRPPlugin

All-in-one RP plugin for Paper/Folia 1.21.1 - 1.21.11 in one JAR.

LawRPPlugin combines:

  • handcuffs + restrain system
  • fines system
  • emergency/service calls
  • document registration and document showing
  • Discord webhook embeds with separate channels
  • multilingual support (ru_RU, en_US, de_DE, fr_FR)

Main Features

  • Handcuffs and restrain with configurable RP restrictions.
  • Follow/escort logic for restrained players.
  • Attach restrained players to fences/bars/chains-like blocks from config.
  • Escape mechanic with configurable difficulty and progress.
  • Fine issuing/removal/checking with persistent storage and reminders.
  • Service call command with cooldown and customizable service name.
  • Document system:
    • passport
    • residence permit
    • third department ID
    • request/accept/decline flow for showing documents
  • RP chat output in radius using /me and /do text lines (commands are not created by plugin).

Discord Webhooks (Separate Channels)

Each system can use its own webhook URL:

  • Fines: webhook.channels.fines.url
  • Service calls: webhook.channels.calls.url
  • Documents registration: webhook.channels.documents.url
  • Actions/logs: webhook.channels.actions.url (if empty, calls channel is used)

Role mention supports both formats:

  • 123456789012345678
  • {123456789012345678}

Commands

Command Description
/lawrp help Show plugin help
/lawrp reload Reload all configs and language
/handcuffs <player> Handcuff player
/restrain <player> or /restrain Restrain player
/attach <player> Attach/detach restrained player to block
/unhandcuff <player> Remove handcuffs/restrain
/callpolice <reason> Send service call
/fine <player> <amount> <reason> Issue fine
/unfine <player|uuid> Remove fine
/checkfines Check your active fine
/passport <player> Request to show passport
/residence <player> [page] Request to show residence permit
/third <player> [page] Request to show third department ID
/createpassport ... Register passport
/createresidence ... Register residence permit
/createthird ... Register third department ID
/doc-accept <request-id> Accept document request
/doc-decline <request-id> Decline document request

Config Structure

The plugin uses split configs in:
plugins/LawRPPlugin/configs/

Files:

  • language.yml
  • handcuffs.yml
  • calls.yml
  • fines.yml
  • documents.yml
  • webhook.yml

Storage Files

  • Fines: plugins/LawRPPlugin/fines.json
  • Documents: plugins/LawRPPlugin/documents.yml

Installation

  1. Stop server.
  2. Put plugin JAR into plugins/.
  3. Start server once (generate configs), then stop.
  4. Configure files in plugins/LawRPPlugin/configs/.
  5. Start server and run /lawrp reload after changes.

Author


LawRPPlugin (Русский)

Универсальный RP-плагин для Paper/Folia 1.21.1 - 1.21.11 в одном JAR.

LawRPPlugin объединяет:

  • систему наручников и залома
  • систему штрафов
  • вызов службы
  • регистрацию и показ документов
  • Discord webhook embeds с раздельными каналами
  • мультиязык (ru_RU, en_US, de_DE, fr_FR)

Основные возможности

  • Наручники и залом с настраиваемыми RP-ограничениями.
  • Логика сопровождения/ведения задержанного.
  • Прикрепление задержанных к заборам/решёткам/цепям-подобным блокам из конфига.
  • Система побега с настраиваемой сложностью.
  • Штрафы: выдача/снятие/проверка, сохранение и напоминания.
  • Вызовы службы с кулдауном и настраиваемым названием службы.
  • Система документов:
    • паспорт
    • ВНЖ
    • удостоверение III отделения
    • запрос/принятие/отклонение показа документов
  • RP-вывод в радиусе строками /me и /do (команды не создаются плагином).

Discord Webhooks (раздельные каналы)

Для каждой системы можно указать отдельный webhook:

  • Штрафы: webhook.channels.fines.url
  • Вызовы службы: webhook.channels.calls.url
  • Регистрация документов: webhook.channels.documents.url
  • Действия/логи: webhook.channels.actions.url (если пусто, используется канал вызовов)

ID роли для пинга можно писать так:

  • 123456789012345678
  • {123456789012345678}

Команды

Команда Описание
/lawrp help Показать справку
/lawrp reload Перезагрузить все конфиги и язык
/handcuffs <игрок> Заковать игрока
/restrain <игрок> или /restrain Заломать игрока
/attach <игрок> Прицепить/отцепить задержанного к блоку
/unhandcuff <игрок> Снять наручники/залом
/callpolice <причина> Отправить вызов службы
/fine <игрок> <сумма> <причина> Выписать штраф
/unfine <игрок|uuid> Снять штраф
/checkfines Проверить свой активный штраф
/passport <игрок> Запросить показ паспорта
/residence <игрок> [страница] Запросить показ ВНЖ
/third <игрок> [страница] Запросить показ удостоверения III отделения
/createpassport ... Зарегистрировать паспорт
/createresidence ... Зарегистрировать ВНЖ
/createthird ... Зарегистрировать удостоверение III отделения
/doc-accept <request-id> Принять запрос документа
/doc-decline <request-id> Отклонить запрос документа

Структура конфигов

Плагин использует разделённые конфиги в:
plugins/LawRPPlugin/configs/

Файлы:

  • language.yml
  • handcuffs.yml
  • calls.yml
  • fines.yml
  • documents.yml
  • webhook.yml

Файлы данных

  • Штрафы: plugins/LawRPPlugin/fines.json
  • Документы: plugins/LawRPPlugin/documents.yml

Установка

  1. Остановите сервер.
  2. Поместите JAR плагина в plugins/.
  3. Запустите сервер 1 раз (создаст конфиги), затем остановите.
  4. Настройте файлы в plugins/LawRPPlugin/configs/.
  5. Запустите сервер и используйте /lawrp reload после изменений.

Автор