Скачать Stage Tabels — Minecraft Моды — MetaMods

Stage Tabels

Активный

Установок

2

Последнее обновление

4 года назад
Клиент
Fabric
Quilt
Forge
Neoforge
Утилиты

Stage Tabels

Данный мод представляет собой инструментарий для создания взвешенных рандомизированных таблиц игровых стадий. Если вы не знакомы с концепцией игровых стадий, рекомендуется сначала изучить основной мод Game Stages. Основная идея заключается в том, что создатели сборок могут определять таблицы стадий и использовать специальную команду для выдачи игрокам случайных стадий из этих таблиц.

Для эффективного использования мода потребуются базовые знания работы со скриптами CraftTweaker.

Основные команды

  • /stagetable — отображает список всех доступных команд
  • /stagetable dump — создает файл с информацией о всех таблицах стадий
  • /stagetable award <игрок> <таблица> — выдает указанному игроку случайную стадию из выбранной таблицы
  • /stagetable silentaward <игрок> <таблица> — аналогично предыдущей команде, но без уведомления игрока

Ключевые понятия

  • Таблица стадий — именованная таблица, содержащая записи о стадиях
  • Запись стадии — элемент таблицы, включающий саму стадию, значение веса и условия применения
  • Условие стадии — требование, которое должно быть выполнено для возможности выдачи стадии игроку

Система взвешенной случайности

Вес представляет собой систему вероятностей, где разные исходы имеют неравные шансы выпадения. Процент вероятности для конкретного исхода рассчитывается путем деления веса этой записи на общий вес всех записей в таблице. Например, если запись имеет вес 1, а общий вес таблицы составляет 9, шанс выпадения этой записи равен 10%. Взвешенная случайность особенно полезна, когда требуется гибкость в наборе возможных исходов.

Работа со скриптами CraftTweaker

Ниже приведен пример скрипта, демонстрирующий основные возможности мода:

// Базовые импорты для скрипта
import crafttweaker.player.IPlayer;

// Создание новой таблицы стадий с именем exampleTable
val testTable = stageTables.createTable("exampleTable");

// Создание записи для стадии "one" с весом 5
val entryOne = testTable.createEntry("one", 5);

// Создание записи для стадии "two" с весом 5
val entryTwo = testTable.createEntry("two", 5);

// Запрет выбора entryTwo, пока игрок не имеет стадии "four"
entryTwo.addStageCondition("four");

// Создание записи для стадии "three" с весом 1
val entryThree = testTable.createEntry("three", 1);

// Добавление пользовательского условия через ZenScript
// В данном случае — только для игроков в творческом режиме
entryThree.addCondition(function(player as IPlayer) {
    return player.creative;
});
Участники проекта
DarkhaxDev

DarkhaxDev

Создан: 1 мар 2019

ID: 26533