- Для версий
- 1.16.✘
- 1.17.✘
- 1.18.✘
- 1.19.✘
- 1.20.✘
- 1.21.✘
RefontSearch
🔍 Полицейская система розыска, наручников и обыска для Minecraft 🚓
Поддержка версий: 1.16.5 – 1.21+
Обновления плагина основывается на мнениях покупателей, так что, я могу вносить изменения, если мне это понравится.
🔍 Полицейская система розыска, наручников и обыска для Minecraft 🚓
Поддержка версий: 1.16.5 – 1.21+
Обновления плагина основывается на мнениях покупателей, так что, я могу вносить изменения, если мне это понравится.
📋 О плагине
RefontSearch — RP‑плагин, который добавляет продвинутую полицейскую систему: розыск, тюрьмы, демогрант, реалистичные наручники и интерактивный обыск. Удобные команды, гибкие настройки и визуальные эффекты.✨ Ключевые особенности
- Система розыска со звёздами 1–7 и настраиваемыми статьями УК
- Тюремная система с таймерами, несколькими тюрьмами и зонами
- Демогрант (адм. тюрьма) с защитой от побега и эффектами
- Наручники с ограничениями, привязкой к забору и притягиванием
- Обыск с маскировкой предметов и этапами «обнаружить → изъять»
- Полицейские инструменты: дубинка, вызовы, поиск
- Арест без убийства с сообщениями причины и статьи
- PlaceholderAPI — плейсхолдеры статуса
- Гибкий конфиг и предустановленные причины
- Автоосвобождение по истечении срока
- Tab‑completion у команд
- Звуковые и визуальные эффекты для всех действий
🔗 Новые системы v1.0.7
Наручники | Обыск |
---|---|
• Реалистичные ограничения • Плавное притягивание • Запрет ломания/атак/дропа • Частицы цепи • Сохранение при выходе • Жёсткий анти‑сид: нельзя сесть/присесть/в транспорт • Блокировка сундуков/контейнеров/станков | • Интерактивный UI • Маскировка названий • Поэтапное «найти → изъять» • Лимиты и кулдауны • 12 маскировок • Сообщения со статьёй и причиной |
🔧 Команды
Команда | Описание | Право |
---|---|---|
/policecall [сообщение] | Вызов полиции с координатами | Все игроки |
/policeaccept <ник> | Принять вызов | refontsearch.policeaccept |
/wanted | Меню разыскиваемых | refontsearch.wanted |
/wanted <ник> <1–7> <статья> <причина> | Выдать розыск | refontsearch.wanted |
/unwanted <ник> | Снять розыск | refontsearch.unwanted |
/updatestars <ник> <звёзды> | Изменить звёзды | refontsearch.updatestars |
/policefind <ник> | Найти местоположение | refontsearch.policefind |
/arrest <ник> [время] ["статья"] [тюрьма] | Арест без убийства | refontsearch.arrest |
/wanteditems | Выдать полицейский предмет | refontsearch.wanteditems |
/setjail [start|end] | Точки тюрьмы/освобождения | refontsearch.setjail |
/unjail <ник> | Освободить из тюрьмы | refontsearch.unjail |
/jails <create|remove|list|setpoint|setradius> | Управление тюрьмами | refontsearch.jails |
/demorgan <ник> <время в минутах> <причина> | Отправить в демогрант | refontsearch.demorgan |
/undemorgan <ник> | Освободить из демогрант | refontsearch.undemorgan |
/demorganlist | Список демогрант | refontsearch.demorgan.view |
/setdemorgan [spawn|release] | Координаты демогрант | refontsearch.setdemorgan |
/leash | Предмет наручников | refontsearch.leash |
/search <игрок> | Начать обыск | refontsearch.search |
🛡️ Права доступа
Право | Описание |
---|---|
refontsearch.admin | Полные права плагина |
refontsearch.police | Набор полиции (arrest, policefind, policeaccept, wanteditems, leash, search) |
refontsearch.moderator | Демогрант и просмотр списков |
refontsearch.wanted | Объявлять в розыск |
refontsearch.unwanted | Снимать розыск |
refontsearch.arrest | Арест |
refontsearch.demorgan | Демогрант |
refontsearch.demorgan.bypass | Обход ограничений демогрант |
refontsearch.leash | Использование наручников |
refontsearch.search | Обыск игроков |
🔗 Система наручников
Наручники:- Запрет ломания, атак, дропа, входа в транспорт, «сидячих» команд
- Плавное притягивание к офицеру, частицы цепи
- Привязка к забору, защита от разрушения забора
- Блокировка сундуков/контейнеров/станков
- Сохранение состояния при выходе
🔍 Система обыска
- Меню с маскировкой предметов
- Этапы: обнаружить → изъять
- Лимиты, дистанция, кулдауны
- Звуки на каждом этапе
🏢 Система демогрант
- Защита от побегов, принудительный возврат
- Таймеры через Title/ActionBar
- Эффекты при входе/попытке побега/освобождении
📊 PlaceholderAPI
- %refontsearch_wanted%, %refontsearch_stars%, %refontsearch_reason%, %refontsearch_article%
- %refontsearch_in_demorgan%, %refontsearch_demorgan_time%, %refontsearch_status%
- %refontsearch_leashed%, %refontsearch_searched%
📸 Скриншоты
⚙️ Конфигурация
config.yml:
# config.yml - RefontSearch v1.0.8 с наручниками и обыском
# Настройки времени тюрьмы по звездам (в секундах)
jailTimers:
"1": 900 # 15 минут
"2": 1800 # 30 минут
"3": 2700 # 45 минут
"4": 3600 # 1 час
"5": 4500 # 1 час 15 минут
"6": 5400 # 1 час 30 минут
"7": 6300 # 1 час 45 минут
# Настройки автосохранения данных
data:
auto_save_interval: 300 # Автосохранение каждые 5 минут (в секундах)
save_on_shutdown: true # Сохранять при отключении сервера
load_on_startup: true # Загружать при запуске сервера
# Настройки розыска
wanted:
maxStars: 7
allowCustomStars: true
requireArticle: true
cooldown: 30 # Время между выдачами розыска (секунды)
# Настройки статей УК
articles:
enabled: true
predefined:
- "4.1 УК"
- "4.2 УК"
- "5.1 УК"
- "6.1 УК"
- "7.1 УК"
- "8.1 УК"
- "9.1 УК"
- "10.1 УК"
- "Административное нарушение"
# Настройки функции ареста
arrest:
forceTime: 1800 # Время для принудительного ареста (30 минут)
enabled: true # Включение/выключение команды /arrest
radius: 5.0 # Радиус для проведения ареста
broadcast: true # Публичные сообщения о аресте
require_quotes_for_article: true # Требовать кавычки для статей
# Настройки тюрьмы с таймерами
jail:
radius: 30.0
autoRelease: true
track_admin: true
require_reason: true
# Настройки таймера тюрьмы
timer:
enabled: true
display_type: "actionbar" # "title" или "actionbar"
interval: 20 # Интервал обновления в тиках (20 = 1 секунда)
# Настройки для Title
title: "§c§lТЮРЬМА"
subtitle: "§7Осталось: §e{time}"
fadeIn: 0
stay: 25
fadeOut: 10
# Настройки для ActionBar
actionbar_format: "§c§l⌚ Тюремный срок §f{time}"
location:
start: "" # Координаты точки тюрьмы
end: "" # Координаты точки освобождения
# Настройки демогрант с таймерами
demorgan:
enabled: true
broadcast: true
# Локации демогрант
location:
spawn: "" # Точка спавна в демогрант
release: "" # Точка освобождения
# Настройки таймера демогрант
timer:
enabled: true
display_type: "actionbar" # "title" или "actionbar"
interval: 20 # Интервал обновления в тиках
# Настройки для ActionBar
actionbar_format: "§c§lДЕМОГРАН §8| §7Осталось: §e{time}"
# Предустановленные причины для автодополнения
predefined_reasons:
- "Нарушение правил чата"
- "Неадекватное поведение"
- "Спам/флуд"
- "Оскорбления"
- "Нарушение RP"
- "Griefing"
- "Читерство"
- "Багоюз"
- "Нарушение правил сервера"
- "Административное нарушение"
- "Токсичное поведение"
- "Провокации"
- "Неуважение к администрации"
# Максимальное время демогрант (в минутах)
max_time: 1440 # 24 часа
# Радиус демогрант зоны
radius: 30.0
# Автоматическое освобождение
auto_release: true
# Время демогрант по умолчанию (в минутах)
default_times:
minor: 15 # Мелкие нарушения
moderate: 60 # Средние нарушения
major: 180 # Серьезные нарушения
severe: 720 # Тяжелые нарушения
# Эффекты для демогрант
effects:
# При входе в демогрант
rejoin:
title: "§c§lДЕМОГРАН"
subtitle: "§7Вы находитесь в административной тюрьме"
fadeIn: 10
stay: 60
fadeOut: 20
sound: "block.iron_door.close"
soundVolume: 1.0
soundPitch: 1.0
# При попытке побега
escape:
title: "§c§lПОБЕГ НЕВОЗМОЖЕН!"
subtitle: "§7Охрана вернула вас в камеру"
fadeIn: 10
stay: 40
fadeOut: 20
sound: "entity.enderman.teleport"
soundVolume: 1.0
soundPitch: 0.5
# При освобождении
release:
title: "§a§lОСВОБОЖДЕНИЕ"
subtitle: "§7Вы были освобождены из демогрант"
fadeIn: 10
stay: 40
fadeOut: 20
sound: "entity.player.levelup"
soundVolume: 1.0
soundPitch: 1.0
# Таймер демогрант
timer:
title: "§c§lДЕМОГРАН"
subtitle: "§7Осталось: §e{time}"
fadeIn: 0
stay: 25
fadeOut: 10
# Настройки наручников (поводка)
leash:
enabled: true
max_distance: 10.0 # Максимальное расстояние наручников (экстренная телепортация)
follow_distance: 3.0 # Расстояние начала притягивания
attach_distance: 5.0 # Максимальное расстояние для надевания
fence:
enabled: true
attach_radius: 5.0 #максимальная дистанция от игрока до забора, чтобы привязать.
protect_fence: true # если true, без права refontsearch.leash.fence.break ломать забор с привязанным игроком нельзя.
# Настройки предмета наручников
item:
material: "LEAD" # Материал предмета
name: "§c§lНАРУЧНИКИ" # Название предмета
lore1: "§7Нажмите на игрока, чтобы"
lore2: "§7надеть наручники"
lore3: "§8SHIFT+ПКМ для снятия"
# Визуальные эффекты
particles:
enabled: true
type: "CRIT" # Тип частиц для наручников
density: 2 # Плотность частиц (частиц на блок)
# Звуковые эффекты
sounds:
attach: "entity.leash_knot.place"
detach: "entity.item.break"
teleport: "entity.enderman.teleport"
# Настройки обыска
search:
enabled: true
cooldown: 300 # Кулдаун между обысками (секунды)
max_items: 3 # Максимум предметов за обыск
max_distance: 5.0 # Максимальное расстояние для обыска
# Названия для маскировки предметов
disguise_names:
- "Подозрительный предмет"
- "Неизвестная вещь"
- "Скрытый объект"
- "Загадочный предмет"
- "Спрятанная вещь"
- "Тайный объект"
- "Сомнительный предмет"
- "Замаскированная вещь"
- "Секретный объект"
- "Странная находка"
- "Подозрительная штука"
- "Неопознанный предмет"
# Звуковые эффекты
sounds:
start_search: "block.chest.open"
reveal_item: "entity.experience_orb.pickup"
take_item: "entity.item.pickup"
end_search: "block.chest.close"
# Настройки полиции
policefind:
enabled: true
cooldown: 1800 # 30 минут
# Настройка предмета для команды /wanteditems
wanteditems:
item: STICK
# Настройки отображения
display:
placeholder: "%player_name%"
useRealNames: false
# Настройки плейсхолдеров
placeholders:
stars:
filled: "§6★"
empty: "§7★"
default_values:
reason: "Нет"
article: "Не указана"
officer: "Неизвестно"
date: "Нет"
jail_time: "0"
jail_admin: "Неизвестно"
jail_reason: "Нет"
demorgan_time: "00:00:00"
demorgan_reason: "Нет"
demorgan_admin: "Неизвестно"
status:
wanted: "В розыске"
jailed: "В заключении"
demorgan: "В демогрант"
clean: "Чистый"
# Эффект тотема и тд.
safety:
controlled_damage:
enabled: true # Вкл/выкл всей логики защиты и “тотема”
min_hp: 1.0 # Минимум HP после урона (1.0 = полсердца)
totem:
enabled: true
cooldown_ms: 4000
particle: "TOTEM" # Например: TOTEM, TOTEM_OF_UNDYING, SPELL_INSTANT, CRIT и т.п.
particle_count: 100
offset_x: 0.6
offset_y: 1.0
offset_z: 0.6
speed: 0.1
sound: "item.totem.use"
volume: 1.0
pitch: 1.0
title:
enabled: true
text: "&a&lСПАСЕНИЕ"
subtitle: "&7Выживите, восстановите силы"
fade_in: 5
stay: 20
fade_out: 10
regeneration:
enabled: true
duration_ticks: 200
amplifier: 2
auto_heal:
enabled: true
step: 1.0
period_ticks: 5
# Сообщения
messages:
policecall:
sent: "§7Вы позвонили в полицию. Ваше сообщение: {message}"
notify: "§3Вызов полиции от §f{player} на координатах §a[{x}, {y}, {z}] Сообщение: {message}"
policeaccept:
error: "§cВыберите игрока из списка предупреждений!"
accepted: "§7Вы приняли вызов от игрока {caller}"
notify: "§7Сотрудник полиции {police} принял ваш вызов."
wanted:
set: "§7Розыск установлен для игрока {player} с уровнем {stars} по статье {article}"
reason: "§7Причина: {reason}"
notify: "§7Игрок {player} объявлен в розыск по статье {article}: §a{reason}"
updated: "§7Уровень розыска игрока {player} изменен на {stars}"
removed: "§7Розыск с игрока {player} снят"
interface:
title: "§0Розыск Страница {page}"
player_name: "§9{player}"
stars: "§9Уровень: {stars}"
article: "§9Статья: {article}"
date: "§9В розыске с:"
reason_label: "§9Причина:"
officer_label: "§9Выдал:"
next_page: "§7Следующая страница →"
prev_page: "§7← Предыдущая страница"
arrested:
target: "§c§l⚔ §7Вы были арестованы на {time} секунд по статье {article}!"
officer: "§a§l⚔ §7Вы {type}арестовали игрока {player} на {time} секунд по статье {article}."
broadcast: "§c§l⚔ §7Игрок {player} был {type}арестован офицером {officer} по статье {article}!"
policefind: "§3По спутникам мы видели игрока {player} на координатах §a[{x}, {y}, {z}]§3. Следующий снимок через {time} секунд."
demorgan:
target: "§c§l⚔ §7Вы были отправлены в деморган на {time} по причине: {reason}"
admin: "§a§l⚔ §7Вы отправили игрока {player} в деморган на {time} по причине: {reason}"
broadcast: "§c§l⚔ §7Игрок {player} был отправлен в деморган администратором {admin}"
released: "§a§l⚔ §7Вы были освобождены из демогрант администратором {admin}!"
admin_released: "§a§l⚔ §7Вы освободили игрока {player} из демогрант."
rejoin: "§c§l⚔ §7Вы все еще находитесь в демогрант!"
leave: "§c§l⚔ §7Вы не можете покинуть демогрант!"
expired: "§a§l⚔ §7Ваш срок в демогрант истек! Вы освобождены."
list_header: "§6§l=== СПИСОК ДЕМОГРАНТ ==="
list_entry: "§7{player} §8- §e{time} §8- §f{reason} §8(§a{admin}§8)"
list_empty: "§7Демогрант пуст."
leash:
attached: "§aВы надели наручники на игрока §e{player}!"
target_attached: "§cНа вас надели наручники! Офицер: §e{officer}"
detached: "§aНаручники с игрока §e{player} §aсняты!"
target_detached: "§aНаручники сняты!"
teleported: "§cНаручники натянулись! Вы были подтянуты к офицеру."
too_far: "§cИгрок слишком далеко! Максимальное расстояние: {distance} блоков."
already_leashed: "§cИгрок уже в наручниках!"
not_leashed: "§cИгрок не в наручниках!"
cannot_leash_self: "§cВы не можете надеть наручники на себя!"
rejoin: "§cВы все еще в наручниках!"
target_rejoined: "§eИгрок §f{player} §eвернулся на сервер (в наручниках)"
fence_attached_target: "§cВы привязаны к забору офицером {officer}."
fence_detached_officer: "§aВы отвязали игрока {player} от забора."
search:
started: "§aНачинаете обыск игрока §e{player}"
target_searched: "§cВас обыскивает офицер §e{officer}"
item_found: "§aОбнаружен предмет: §f{item}"
item_taken: "§aИзъят предмет: §f{item}"
target_item_found: "§cУ вас обнаружили: §f{item}"
target_item_taken: "§cУ вас изъяли: §f{item}"
finished: "§aОбыск завершен!"
cooldown: "§cОбыск недоступен! Осталось: §e{time} §7секунд."
max_items: "§cВы уже взяли максимальное количество предметов!"
too_far: "§cИгрок слишком далеко для обыска!"
cannot_search_self: "§cВы не можете обыскать себя!"
errors:
playerNotFound: "§cИгрок не найден или не в сети."
invalidStars: "§cНеверное количество звезд. Допустимо от 1 до {max}."
invalidTime: "§cНеверное время. Укажите время в секундах."
articleRequired: "§cУкажите статью УК в кавычках для данного нарушения."
noPermission: "§cУ вас нет прав для использования этой команды."
alreadyWanted: "§cИгрок уже находится в розыске."
notWanted: "§cИгрок не находится в розыске."
alreadyInDemorgan: "§cИгрок уже находится в демогрант."
notInDemorgan: "§cИгрок не находится в демогрант."
demorganLocationNotSet: "§cЛокация демогрант не установлена! Используйте /setdemorgan"
maxDemorganTime: "§cМаксимальное время демогрант: {max} минут."
invalidArticle: "§cНеверная статья. Используйте кавычки для статей с пробелами."
# Настройка нескольких тюрем
jails:
central:
location:
start: ""
end: ""
radius: 20.0
priority: 1
maximum:
location:
start: ""
end: ""
radius: 15.0
priority: 2
# Команды и права доступа
commands:
wanted:
usage: "/wanted [<ник> <звезды> <статья> <причина>]"
permission: "refontsearch.wanted"
arrest:
usage: "/arrest <ник> [время] [\"статья в кавычках\"] [тюрьма]"
permission: "refontsearch.arrest"
unwanted:
usage: "/unwanted <ник>"
permission: "refontsearch.unwanted"
updatestars:
usage: "/updatestars <ник> <новые_звезды>"
permission: "refontsearch.updatestars"
demorgan:
usage: "/demorgan <ник> <время[I]в[/I]минутах> <причина>"
permission: "refontsearch.demorgan"
undemorgan:
usage: "/undемorgan <ник>"
permission: "refontsearch.undemorgan"
demorganlist:
usage: "/demorganlist"
permission: "refontsearch.demorgan.view"
setdemorgan:
usage: "/setdemorgan [spawn|release]"
permission: "refontsearch.setdemorgan"
leash:
usage: "/leash - получить наручники"
permission: "refontsearch.leash"
search:
usage: "/search <игрок>"
permission: "refontsearch.search"
# Отладка
debug:
log_demorgan_changes: false
log_wanted_changes: false
log_jail_changes: false
log_data_operations: false # Логирование операций с файлами
log_leash_actions: false # Логирование действий с наручниками
log_search_actions: false # Логирование действий обыска
# Механика полицейской дубинки
baton:
enabled: true # true — ВКЛЮЧИТЬ механику дубинки (слушатель зарегистрируется); false — ПОЛНОСТЬЮ отключить
cooldown: 3 # Кулдаун между применениями дубинки (секунды)
cancel_damage: true # true — отменять урон от удара (оглушение без урона); false — урон остаётся
stun: # Параметры оглушения при ударе дубинкой
blindness_duration: 40 # Длительность слепоты в тиках (20 тиков = 1 сек)
blindness_amplifier: 1 # Уровень слепоты (0 = I, 1 = II, ...)
slowness_duration: 60 # Длительность замедления в тиках
slowness_amplifier: 1 # Уровень замедления (0 = I, 1 = II, ...)
item:
material: "STICK" # Материал дубинки (пример: STICK, BLAZE_ROD)
name: "§6Полицейская Дубинка" # Имя предмета дубинки; если игрок держит предмет с таким именем — это дубинка
# Также дубинкой считается предмет material при наличии права refontsearch.police
auto_jail: # Автопосадка в тюрьму при ударе дубинкой (если цель в розыске)
enabled: false # true — ВКЛЮЧИТЬ автоджаил; false — ОТКЛЮЧИТЬ (дубинка только оглушает)
require_cuffed: false # true — требуется, чтобы цель была в наручниках И привязана к этому офицеру
require_shift: false # true — офицер должен бить дубинкой, зажав SHIFT (умышленное действие)
min_stars: 1 # Минимальное число звёзд розыска для автоджаила, он должен быть по любому в розыске!
# Интеграция с PlaceholderAPI
placeholderapi:
enabled: true
update_interval: 30
📋 Требования
- Minecraft: 1.16.5 – 1.21+
- Java: 8+
- Зависимости: нет (PlaceholderAPI — опционально)
- Совместимость: Spigot/Paper/Purpur
Плагин полностью самописный. Идея на плагин была взята у ihuhewS