RecipeTileEntity - библиотека, упрощающая создание верстаков и печей.
en | ru
Перед началом работы, требуется импортировать библиотеку.
IMPORT("RecipeTileEntity", "*"); // Импортировать все модули
Для создания верстаков используются классы Workbench и TimerWorkbench.
/* new RecipeTE.Workbench(info:WorkbenchInfo, data?:any); */
const MyWorkbench = new RecipeTE.Workbench({
columns: 4,
rows: 4 //Не обязательный параметр, по умолчанию = 1
});
/* new RecipeTE.Workbench(info:TimerWorkbenchInfo, data:RecipeDataTimer); */
const MyFurnace = new RecipeTE.TimerWorkbench({
columns: 1,
timer: 5 * 20
}, { multiply: 1 })
Для регистрации рецептов используются методы workbench.addRecipe и workbench.addShapeRecipe
MyWorkbench.addShapeRecipe({ id: 280, count: 1 }, [
"aa",
"aa"
], { a: { id: 5 } });
MyWorkbench.addRecipe({id:2}, [{id:5,count:3}]);
Для регистрации TileEntity используется класс наследуемый от WorkbenchTileEntity или TimerWorkbenchTileEntity
class MyWorkbenchTileEntity extends RecipeTE.WorkbenchTileEntity {
// Методы TileEntity
public getScreenName() { return "main"; }
public getScreenByName() { return Workbench_Grid; }
/* Список имен входных слотов.
*
* Если указан не массив, имя слотов строится по формуле строка + i
* где i - индекс слотов с 0
*/
public getInputSlots(): string { return "inputSlot"; }
// Имя выходного слота.
public getOutputSlot(): string { return "outputSlot"; }
}
TileEntity.registerPrototype(BlockID["Workbench_Grid"], new MyWorkbenchTileEntity(MyWorkbench));
Для использования в JavaScript вы можете воспользоваться библиотекой extends