Перейти к содержимому

PuppetPlayers

Простая реализация фейковых «кукольных» игроков

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
13,6 тыс.
Подписчиков на Modrinth
34
версий
25
Обновлён
16 сентября 202616 сент.
Опубликован
в 2025

Коротко о моде

Работает на Fabric
Для Minecraft 1.21.5–26.3
Ставится только на сервер; игрокам ставить не нужно
Последняя версия — 2.1.0+26.3 от 16 сентября 2026
Нужен Fabric Language Kotlin и Fabric API
Лицензия MIT — бесплатно
Где нужен
В игрене нуженНа сервереобязателен

Ставится только на сервер; игрокам ставить не нужно

Версии игры1.21.5–26.3
Описание переведено автоматическиПоказать оригинал (EN)

Logo

Puppet Players

Fabric-мод для фейковых «кукольных» игроков в Minecraft

О проекте

Современная, простая реализация фейковых игроков, изначально появившихся в Carpet Mod.

Есть несколько принципиальных отличий в том, как эти фейковые игроки реализованы по сравнению с оригинальной реализацией в Carpet Mod.

Этот мод можно использовать вместе с Carpet Mod — действия фейковых игроков из Carpet будут работать на этих кукольных игроках; однако рекомендуется использовать предоставляемые этим модом действия.

Цель мода — сделать поведение кукольных игроков максимально приближенным к настоящему игроку:

  • Весь тик игрока выполняется в правильной фазе тика.
  • Клиентский код действий игрока симулируется на сервере.
  • Кукольные игроки отправляют пакеты для взаимодействия с сервером, как настоящий игрок.
  • Поддержание совместимости со всеми модами.

Использование

Эта документация описывает *последнюю* версию мода, для версий до 2.0.0 смотрите старую документацию

После установки мода команда /puppet должна стать доступной операторам. Команду /puppet также можно сделать доступной всем игрокам, изменив конфиг, подробнее см. раздел о конфиге.

Мы можем заставить кукольного игрока зайти в мир одной из следующих команд:

/puppet <username> join
/puppet <username> spawn
/puppet <username> spawn at <position> facing <rotation> in <dimension> in <gamemode>
/puppet <username> shadow
  • Подкоманда join создаёт указанную куклу на позиции, где она вышла в прошлый раз, по сути симулируя то, как если бы игрок сам зашёл на сервер.
  • Подкоманда spawn создаёт указанную куклу либо на заданной позиции, либо на позиции выполнившего команду, если позиция не указана.
  • Подкоманда shadow заставляет кукольного игрока зайти на место текущего онлайн-игрока.

После того как игрок зашёл в мир, мы можем заставить его выйти, выполнив следующую команду:

/puppet <player> leave

Кукловодство

Игроки могут занять куклу и играть за неё, оставив своё тело в мире:

/puppet <player>

Вы можете указать только кукол, чтобы управлять ими, или себя, если вы сейчас управляете куклой, что вернёт вас в ваше исходное тело. Эта функция отключена по умолчанию и должна быть включена через enable_puppeteering, см. раздел о конфиге.

Пока вы управляете куклой, для других игроков вы выглядите как кукла, и вы занимаете позицию, в которой была кукла, вместе с её инвентарём. Всё, что сделано с куклой, сохранится после того, как вы перестанете ею управлять. Однако статистика и достижения по-прежнему привязаны к вашему аккаунту. То же касается чата — сообщения всё ещё отправляются через ваш аккаунт.

Ваше исходное тело, пока вы управляете куклой, становится куклой, так что вы можете применить к нему /puppet, как и к любой другой кукле, кроме команды leave. Поскольку на сервере вы всё ещё играете со своего аккаунта, когда кто-то выполняет команду с указанием вашего имени, она будет нацелена на игрока, которым вы управляете. Например, если игрок senseiwells управляет SuperSanta и кто-то выполнит /tp senseiwells, они телепортируются к игроку SuperSanta. Исключение — команда /puppet, которая будет относиться к тому, кто носит это имя.

Если ты умрёшь во время управления марионеткой или марионетка отключится, ты перестанешь управлять ею. Если ты выйдешь из игры во время управления марионеткой, твоё исходное тело выйдет из игры, а марионетка останется в сети.

Действия

Игроки-марионетки могут выполнять действия, имитирующие поведение настоящего игрока. Некоторые действия также можно применять к настоящим игрокам.

Вот список всех доступных действий:

ДействиеОписаниеАргументыРаботает отдельноТолько для марионеток
"minecraft:attack"Заставляет игрока атаковать (левый клик).<once|hold|release>ДаНет
"minecraft:delay"Добавляет задержку между цепочкой действий.``НетНет
"minecraft:drop"Заставляет игрока выбросить выбранный предмет.<entire_stack>ДаНет
"minecraft:interrupt_look_at"Прерывает текущий взгляд на цель.НетДаДа
"minecraft:interrupt_move_to"Прерывает текущий поиск пути игрока.НетДаДа
"minecraft:jump"Заставляет игрока прыгнуть.<once|hold|release>ДаДа
"minecraft:look"Заставляет игрока посмотреть в направлении.``ДаНет
"minecraft:look_at"Заставляет игрока посмотреть на указанную цель.`position <lock?>илиentity <lock?>`ДаДа
"minecraft:move_to"Заставляет игрока идти к позиции или сущности.`position <sprint?> <jump?>илиentity <sprint?> <jump?>`ДаДа
"minecraft:offhand"Заставляет игрока поменять предмет со второй рукой.НетДаНет
"minecraft:sneak"Заставляет игрока присесть.``ДаДа
"minecraft:sprint"Заставляет игрока бежать.``ДаДа
"minecraft:swap_slot"Заставляет игрока переключиться на слот.``ДаНет
"minecraft:use"Заставляет игрока использовать (правый клик).<once|hold|release>ДаНет

Чтобы выполнить действие, мы можем запустить его отдельно с помощью следующей команды:

/puppet <player> actions run <action> ...

Это заставит игрока немедленно выполнить действие.

Например, чтобы заставить игрока удерживать атаку, нужно выполнить:

/puppet <player> actions run minecraft:attack hold

Мы также можем объединить несколько действий в цепочку, выполнив следующую команду:

/puppet <player> actions chain add <action> ...

После добавления действий в цепочку мы можем выполнить следующие команды для управления поведением цепочки:

/puppet <player> actions chain loop <true|false> # Зацикливать ли цепочку действий бесконечно
/puppet <player> actions chain pause # Приостановить выполнение цепочки действий
/puppet <player> actions chain resume # Возобновить выполнение цепочки действий
/puppet <player> actions chain restart # Перезапустить выполнение цепочки действий (с первого действия)
/puppet <player> actions chain stop # Остановить выполнение цепочки действий (и очистить все действия)

Например, чтобы заставить игрока удерживать атаку 5 секунд, затем отпустить на 2 секунды, а затем повторять, мы выполним:

/puppet <player> actions chain add minecraft:attack hold
/puppet <player> actions chain add minecraft:delay 5s
/puppet <player> actions chain add minecraft:attack release
/puppet <player> actions chain add minecraft:delay 2s
/puppet <player> actions chain loop true

Конфиг

Конфиг находится в ./config/puppet-player-config.json и по умолчанию должен выглядеть так:

{
  "reload_puppet_players": true,
  "respawn_puppet_players": true,
  "puppet_player_death_delay": 0,
  "operator_required_for_puppets": true,
  "can_players_puppet_themselves": true,
  "can_spawn_puppets_anywhere": true,
  "can_spawn_whitelisted_players_as_puppets": true,
  "enable_puppeteering": false,
  "enabled_actions": "*"
}
  • "reload_puppet_players" — Будут ли марионетки переподключаться, если сервер был остановлен, когда они были в сети
  • "respawn_puppet_players" — Возрождать ли марионеток после их смерти; если отключено, они вместо этого покинут игру
  • "puppet_player_death_delay" — Задержка после смерти марионетки до возрождения/выхода (определяется параметром respawn_puppet_players)
  • "operator_required_for_puppets" — Нужны ли игрокам права оператора для выполнения команды /puppet
  • "can_players_puppet_themselves" — Могут ли игроки без прав оператора выполнять команду /puppet на себе
  • "can_spawn_puppets_anywhere" — Можно ли выполнять `/puppet spawn <position?>для создания марионеток в любом месте мира (в отличие отjoin`, который создаёт их там, где они последний раз выходили из игры)
  • "can_spawn_whitelisted_players_as_puppets" — Можно ли создавать марионеток из игроков в белом списке
  • "enable_puppeteering" — Могут ли игроки взять управление марионеткой на себя и играть за неё
  • "enabled_actions" — Список включённых действий, которые можно заставить выполнять марионеток; "*" для всех действий или перечислите включённые действия, например ["attack", "use"]

Для сервера в режиме выживания можно использовать менее «читерскую» версию мода со следующим рекомендуемым конфигом:

{
  "reload_puppet_players": true,
  "respawn_puppet_players": false,
  "puppet_player_death_delay": 20,
  "operator_required_for_puppets": true,
  "can_players_puppet_themselves": true,
  "can_spawn_puppets_anywhere": false,
  "can_spawn_whitelisted_players_as_puppets": false,
  "enable_puppeteering": false,
  "enabled_actions": ["use", "attack", "drop", "swap_slot"]
}

Частые вопросы

Как установить PuppetPlayers?

Установите Fabric под свою версию Minecraft, скачайте PuppetPlayers под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть PuppetPlayers?

У PuppetPlayers есть сборки для Minecraft 1.21.5–26.3.

Нужен ли PuppetPlayers на сервере?

Ставится только на сервер; игрокам ставить не нужно

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее