Roleplayer's Dice
Бросок кубика на ролевом сервере, видимый всем: строка в чате задерживается, появляется кубик, ты бросаешь его рукой, и он выпадает на число, которое выбросил сервер.
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 377
- Подписчиков на Modrinth
- 3
- версии
- 4
- Обновлён
- 19 августа 202619 авг.
- Опубликован
- в 2026
Коротко о моде
Ставится только в игру; на сервер ставить не нужно
Roleplayer's Dice
Ваш ролевой сервер пишет в чат [13 из 20]. Этот мод придерживает эту строку, бросает за неё кость и пропускает строку дальше только тогда, когда кость легла на тринадцать.
Только на стороне клиента. Серверу никогда не сообщается о существовании мода, плагин не нужен, и сам бросок ничуть не меняется — число было решено в момент отправки команды. Мод лишь отказывается его портить.
Как проходит бросок
Вы вводите
/dice 20 strength of the blow. Команда уходит на сервер нетронутой; мод лишь отмечает, что она ушла, и на что именно. Сервер отвечает чем-то вродеEliandrelle von Silverheim strength of the blow [13 out of 20]. Эта строка не доходит до чата. Вместо неё: Появляется кость посреди экрана, над ней — ваше имя и то, на что вы бросаете. Она не висит там как картинка: медленно поворачивается, подрагивает, каждые пару секунд подпрыгивает и приземляется с грохотом — и чем дольше её игнорируют, тем нетерпеливее она становится. Вокруг неё смыкается кольцо, потому что ничто не ждёт вечно.Вы бросаете её. Клик — и она летит. Или зажмите кнопку, и кость окажется в вашей руке: камера замирает, появляется указатель, и кость следует за ним с запозданием — это запаздывание и есть вес вещи. При замахе она наклоняется вслед за движением, перекатывается так, как её тащат, и качается обратно, когда вы резко останавливаетесь. Отпустите — и она летит туда, куда шла рука, с той силой, с какой шла рука. Камера при этом не двигается, так что со стороны игрок, бросающий кость, стоит на месте, а не дёргает головой в пустоту. Она падает туда, куда вы её бросили. Стук — и число, крупное, на грани. Затем она замирает достаточно надолго, чтобы его прочли, возвращается в центр, и только тогда всё остальное обрушивается разом — цвет, свечение, звук и слова: критический провал / провал / успех / критический успех, а под ними
13 из 20. Потом она растворяется, и строка, которую она заменяла, попадает в чат ровно такой, какой её написал сервер, — со всеми цветами, подсказками и кликабельными частями.Число — это число сервера
Кость кувыркается вокруг случайной оси и направляется на нужную грань в последнюю треть броска, так что приземляется ровно на то, что выпало на сервере — вертикально, ровно к камере, а не под тем углом, под каким случайно остановилась. На гранях разные числа, как у настоящей кости: они нарисованы без повторов, и выпавшее число подставляется на победную грань, а не пишется поверх неё. Бросьте
d100на двадцатигранном теле — и оно понесёт двадцать разных чисел из сотни. Шестигранная кость показывает точки, а не цифры, если только вы не предпочтёте обратное.У каждого своя кость своего цвета
Кость каждого игрока берёт цвет из его UUID — тот же цвет, что Voice Subtitles даёт его речи. Кто говорит бледно-зелёным, тот бросает бледно-зелёные кости, и на площади, где бросают десять человек, это понятнее любого заголовка.
Чужие броски по умолчанию появляются маленькими и в стороне: косточка у края, без затемнения, без ожидания клика — не вам её бросать. Отключите это, и их броски будут проигрываться в полный размер, как ваши собственные.
Как выйти из броска
Escape убирает кость и сразу печатает результат, не открывая меню игры. Получение урона делает то же самое, немедленно: кость посреди затемнённого экрана — слишком хорошее прикрытие для того, кто только что подошёл к вам сзади. И ничто никогда не теряется. Кость, по которой никто не кликнул, бросается сама по таймауту, бросок, который невозможно показать, выпускается на месте, а всё, что ещё удерживается, печатается при выходе с сервера.
Подгонка под ваш сервер
Шаблон, который читает мод, названия команд, за которыми он следит, формы, размеры, звуки, цвета и все тайминги — в настройках: под Mod Menu с Cloth Config или через собственный экран мода, если у вас нет ни того, ни другого. Из коробки он читает
[13 out of 20],[13 of 20]и[13/20], а также откликается на/dice,/rollи их русские аналоги. Он одинаково понимает/dice 20,/dice d20и/dice 2d6./rpdice demoбросает кость, которая ни на что не отвечает, чтобы вы могли настроить ползунки на том, что они описывают.Как научить его тому, как ваш сервер пишет бросок
Каждый плагин формулирует по-своему, поэтому строка, которую ищет мод, — это настройка: Result pattern, регулярное выражение с двумя группами захвата — сначала выпавшее число, затем размер кости. Вот и весь договор. По умолчанию это
\[\s*(-?\d+)\s*(?:из|out\s+of|of|/)\s*(-?\d+)\s*]а вот что писать, если ваш сервер делает иначе:
Сервер печатает Шаблон Kara persuasion [13 out of 20]по умолчанию Kara persuasion [13/20]по умолчанию Kara rolls 13 (d20)(\d+)\s*\(\s*d(\d+)\s*\)Kara rolled a 13 on a d20rolled a (\d+) on a d(\d+)❰ Kara ❱ 13 ⁄ 20(\d+)\s*[/⁄]\s*(\d+)Kara: 13 (max 20)(\d+)\s*\(max\s*(\d+)\)Пять вещей, которые стоит знать, прежде чем писать свой собственный:
- Шаблон ищется, а не сверяется со всей строкой. Он должен всего лишь где-то в ней встретиться.
- Начинай его с числа, а не с начала строки. Всё перед совпадением принимается за имя и то, для чего был бросок, и именно это оказывается над кубиком.
- Оба числа должны быть в строке. Размер — это то, по чему мод понимает, что бросок отвечает на твою команду, а не на чью-то ещё секундой раньше, так что за сервером, который выводит только результат, следить нельзя.
- Он уже нечувствителен к регистру,
из,ИЗиИзодинаково.(?i)не нужен. - Введённые в экране настроек, обратные слэши ставятся один раз:
\[\s*(\d+). При ручном редактированииconfig/roleplayers_dice.jsonJSON требует их удвоения:"\\[\\s*(\\d+)". Шаблон, который не компилируется, молча игнорируется в пользу стандартного, так что опечатка не сможет уронить чат. Затем брось один раз. Если кубик появляется, шаблон нашёл строку; если бросок идёт прямо в чат, как всегда, — не нашёл.
Исходный код и лицензия
Codeberg – LGPL 3.0 или более поздняя.
Частые вопросы
Как установить Roleplayer's Dice?
Установите Fabric под свою версию Minecraft, скачайте Roleplayer's Dice под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Roleplayer's Dice?
У Roleplayer's Dice есть сборки для Minecraft 1.20.5–1.21.11.
Нужен ли Roleplayer's Dice на сервере?
Ставится только в игру; на сервер ставить не нужно
Только на стороне клиента. Серверу никогда не сообщается о существовании мода, плагин не нужен, и сам бросок ничуть не меняется — число было решено в момент отправки команды. Мод лишь отказывается его портить.
Вы бросаете её. Клик — и она летит. Или зажмите кнопку, и кость окажется в вашей руке: камера замирает, появляется указатель, и кость следует за ним с запозданием — это запаздывание и есть вес вещи. При замахе она наклоняется вслед за движением, перекатывается так, как её тащат, и качается обратно, когда вы резко останавливаетесь. Отпустите — и она летит туда, куда шла рука, с той силой, с какой шла рука. Камера при этом не двигается, так что со стороны игрок, бросающий кость, стоит на месте, а не дёргает головой в пустоту. Она падает туда, куда вы её бросили. Стук — и число, крупное, на грани. Затем она замирает достаточно надолго, чтобы его прочли, возвращается в центр, и только тогда всё остальное обрушивается разом — цвет, свечение, звук и слова: критический провал / провал / успех / критический успех, а под ними 
Чужие броски по умолчанию появляются маленькими и в стороне: косточка у края, без затемнения, без ожидания клика — не вам её бросать. Отключите это, и их броски будут проигрываться в полный размер, как ваши собственные.
Шаблон, который читает мод, названия команд, за которыми он следит, формы, размеры, звуки, цвета и все тайминги — в настройках: под