QuestsTweaker
Модификация для интеграции FTBQuests с CraftTweaker.
Возможности
- Добавление/установка прогресса для существующего квеста из CraftTweaker.
- Новый тип задания 'Function', который выполняет функцию CraftTweaker для проверки прогресса.
- Новый тип награды 'Function', который выполняет функцию CraftTweaker при завершении.
CraftTweaker API
См. вики для получения дополнительной документации.
mods.questtweaker.QuestManager
Добавление/установка прогресса для любой существующей и доступной задачи из CraftTweaker:
Когда задача недоступна (например, есть незавершенные зависимости), эта функция ничего не делает.
QuestManager.addTaskProgress(IPlayer player, string/int id, long progress);
QuestManager.setTaskProgress(IPlayer player, string/int id, long progress);
import mods.questtweaker.QuestManager;
// Добавить прогресс
// IPlayer player, string/int id, long progress
QuestManager.addTaskProgress(event.player,"4c4bd563",1 as long);
// Или использовать шестнадцатеричное целое число
QuestManager.addTaskProgress(event.player,0x4c4bd563,1 as long);
// Установить прогресс
// IPlayer player, string/int id, long progress
QuestManager.setTaskProgress(event.player,"4c4bd563",1 as long);
Пример: когда игрок подбирает предмет, установить прогресс задачи равным размеру стопки:
import mods.questtweaker.QuestManager;
events.onPlayerPickupItem(function(event as crafttweaker.event.PlayerPickupItemEvent){
QuestManager.setTaskProgress(event.player,"52725826",event.item.item.amount as long);
});
mods.questtweaker.FunctionManager
Добавить новую функцию для использования с заданиями и наградами типа 'Function' в этой модификации:
FunctionManager.addFunction(string functionID, function(IPlayer) -> long);
Функция обязана возвращать значение типа long.
Пример 1: Текущая высота игрока
import mods.queststweaker.FunctionManager;
import crafttweaker.player.IPlayer;
// string functionID, function(IPlayer) -> long
FunctionManager.addFunction("height",function(player as IPlayer){
return player.y as long;
});
Пример 2: На рельсах on_a_rail.zs
Интеграция с FTBQuests
Задание Function
Периодически выполняет функцию и использует её возвращаемое значение как прогресс.
Параметры:
- Function ID: идентификатор функции, зарегистрированный в скриптах.
- Value: Значение, необходимое для завершения задания.
- Interval: Интервал выполнения функции. Установите 0 для ручной отправки.
Награда Function
Выполняет функцию при получении.
Параметры:
- Function ID: идентификатор функции, зарегистрированный в скриптах.
Задание Dummy
Само по себе ничего не делает. Предназначено для использования с QuestManager, описанным выше.
Параметры:
- Value: Значение, необходимое для завершения задания.