
Quests Tweaker
Активный0.0
Установок
Последнее обновление
Версии
QuestsTweaker
QuestsTweaker
Данная модификация создает мост между FTBQuests и CraftTweaker, позволяя расширить возможности системы квестов с помощью пользовательских скриптов.
Основные возможности
С помощью этого аддона вы получаете несколько уникальных функций для работы с квестами:
- Изменение прогресса выполнения существующих заданий через CraftTweaker
- Специальный тип задания "Функция", который проверяет прогресс через пользовательские скрипты
- Награда типа "Функция", выполняющая скрипт при завершении квеста
API для CraftTweaker
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
Добавление новой функции для использования с заданиями и наградами типа "Функция":
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: На рельсах
Интеграция с FTBQuests
Задание типа "Функция"
Периодически выполняет функцию и использует возвращаемое значение как прогресс.
Параметры:
- ID функции: идентификатор функции, зарегистрированный в скриптах
- Значение: необходимое значение для завершения задания
- Интервал: интервал выполнения функции. Установите 0 для ручной отправки
Награда типа "Функция"
Выполняет функцию при получении награды.
Параметры:
- ID функции: идентификатор функции, зарегистрированный в скриптах
Пустое задание
Само по себе ничего не делает. Предназначено для использования с QuestManager.
Параметры:
- Значение: необходимое значение для завершения задания