Перейти к основному содержанию

Ftb Quests

Ftb Quests — это мод-библиотека для создания своих квестов. Последняя актуальная версия библиотеки доступна к загрузке в браузере модов.

UiMainBuilder

Этот класс отвечает за интерфейс в целом.

new UiMainBuilder(clinet_name: string);

Возвращает класс вкладки:

<UiMainBuilder>.getTab(isLeft: boolean, tab: string): StandartTabElement;

Возвращает класс квеста:

<UiMainBuilder>.getQuest(isLeft: boolean, tab: string, quest: string): Quest;

Выполняет квест без анимации:

<UiMainBuilder>.giveQuest(isLeft: boolean, tab: string, quest: string, player: number = Player.get(), value: boolean = true, is: boolean = true): boolean;

Выполняет квест с анимацией:

<UiMainBuilder>.give(isLeft: boolean, tab: string, quest: string, player: number = Player.get(), value: boolean = true, is: boolean = true): void;

Проверяет выполнен ли квест:

<UiMainBuilder>.canQuest(isLeft: boolean, tab: string, quest: string, player: number = Player.get()): boolean;

Привязывает открытие окна к определенному предмету:

<UiMainBuilder>.registerItem(id: number | string): UiMainBuilder;

Заставляет сохранять статусы квестов:

<UiMainBuilder>.registerSave(): UiMainBuilder;

Добавляет вкладку:

<UiMainBuilder>.addRenderLeft(element: StandartTabElement);
<UiMainBuilder>.addRenderRight(element: StandartTabElement);

Quest

Этот класс отвечает за квест и его функционал.

new Quest({
id: string,
x: number,
y: number,
size?: number,
item?: ItemInstance,
texture?: string,
texturePost?: string,
lines?: string[]
});

Вернет id квеста:

<Quest>.getId(): string;
<Quest>.getX(): number;
<Quest>.getY(): number;

Установит диалог для квеста:

<Quest>.setDialog(dialog: UiDialogBase): Quest;

Создание интерфейсов

StandartTabElement

Этот класс отвечает за вкладки и за их функционал.

Создаст экземпляр класса:

new StandartTabElement(id: string);

Вернет список id квестов:

<StandartTabElement>.getAllQuest(): string[];

Добавит квест во вкладку:

<StandartTabElement>.addQuest(quest: Quest): StandartTabElement;

Вернет квест по id:

<StandartTabElement>.getQuest(id: string): Quest; 

Скопирует квесты одной вкладки в другую:

<StandartTabElement>.copyQuests(tab: StandartTabElement): StandartTabElement;

Вернет id вкладки:

<StandartTabElement>.getId(): string;

Вернет отображаемое ия вкладки:

<StandartTabElement>.getDisplayName(): string;

Установит отображаемое имя вкладки:

<StandartTabElement>.setDisplayName(name: string): StandartTabElement;

Вернет иконку вкладки:

<StandartTabElement>.getItem(): ItemInstance;

Установит иконку вкладки:

<StandartTabElement>.setItem(item: ItemInstance): StandartTabElement;

GroupTabElement

const groupTab = new GroupTabElement(id);
groupTab.addTab(tab: StandartTabElement): GroupTabElement;

TabCloseElement

Этот класс создает вкладку, при нажатии на которую происходит выход из интерфейса.

new TabCloseElement(id);

UiDialogBase

const dialog = new UiDialogBase(message: string, x: number = 0, y: number = 0);
dialog.setCanExit(status: boolean);
dialog.openCenter();

UiDialog

interface Item {
item: ItemInstance;
dialog?: UiDialogBase;
}
const dialog = new UiDialog(message: string, description: string = "", x: number = 0, y: number = 0);
dialog.setCanExit(status: boolean);
dialog.setInput(items: Item[]);
dialog.setResult(status: Item[]);
dialog.setInventoryCheck(inventontory_check: boolean);
dialog.openCenter();

Выдача квестов

GiveItems

Этот класс отвечает за выдачу предметов за квест.

GiveItems.registerGive(main: UiMainBuilder, isLeft: boolean, tab: string, quest: string, items: ItemInstance[]);

DestroyBlocks

Этот класс отвечает за отслеживание разрушения блоков.

DestroyBlocks.registerDestroyBlocks(ui: UiMainBuilder, blocks: string[], isLeft: boolean, tab: string, quest: string, title?: string, description?: string);

RecipeCheck

Этот класс отвечает за отслеживание крафтов.

RecipeCheck.registerRecipeCheck(ui: UiMainBuilder, items: number[], isLeft: boolean, tab: string, quest: string, title?: string, description?: string);