80LK (обсуждение | вклад) м |
80LK (обсуждение | вклад) м |
||
(не показано 6 промежуточных версий 2 участников) | |||
Строка 3: | Строка 3: | ||
<div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
<div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
+ | <div class="mw-parser-output"> | ||
== Загрузка == | == Загрузка == | ||
Строка 15: | Строка 16: | ||
| style="width: 362px;" | | | style="width: 362px;" | | ||
Первая версия | Первая версия | ||
+ | |||
+ | |- | ||
+ | | style="text-align: center; width: 63px;" | '''1.1''' | ||
+ | | style="text-align: center; width: 57px;" | Скачать | ||
+ | | style="width: 362px;" | | ||
+ | *Слияние методов registerGridCraftTable and registerTimerGridCraftTable | ||
+ | *Слияние методов registerCraftTable and registerTimerCraftTable | ||
+ | *Исправлено имя метода с getTickResipes на getTickRecipes | ||
+ | *Добавлена возможность использовать свои идентификаторы элементов | ||
+ | *Для рецептов добавлен параметр множителя времени крафта | ||
|- | |- | ||
Строка 21: | Строка 32: | ||
| style="width: 362px;" | | | style="width: 362px;" | | ||
|} | |} | ||
− | + | </div> | |
== Условия использования == | == Условия использования == | ||
Строка 49: | Строка 60: | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
+ | <div class="mw-parser-output"> | ||
+ | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
Строка 72: | Строка 85: | ||
Затем создаем наш интерфейс: | Затем создаем наш интерфейс: | ||
<blockquote> | <blockquote> | ||
− | <span style="font-size:small;">'''!ВАЖНО!: '''Слоты, в которые нужно ложить предмет нужна ОБЯЗАТЕЛЬНО называть "'''''inputSlot'''''"+ '''порядковое число''' слота, начиная с нуля. Слот результата должен иметь название "'''''outputSlot'''''", так же стоит | + | <span style="font-size:small;">'''!ВАЖНО!: '''Слоты, в которые нужно ложить предмет нужна ОБЯЗАТЕЛЬНО называть "'''''inputSlot'''''"+ '''порядковое число''' слота, начиная с нуля. Слот результата должен иметь название "'''''outputSlot'''''", так же стоит задавать '''''isValid''''' для outputSlot как '''''RecipeTE.outputSlotValid'''''</span> |
</blockquote> <syntaxhighlight lang="JavaScript">var Workbench_Grid = new UI.StandartWindow({ | </blockquote> <syntaxhighlight lang="JavaScript">var Workbench_Grid = new UI.StandartWindow({ | ||
standart: { | standart: { | ||
Строка 135: | Строка 148: | ||
</div> | </div> | ||
− | |||
− | |||
==== Создание рецептов для верстака ==== | ==== Создание рецептов для верстака ==== | ||
Строка 148: | Строка 159: | ||
*recipe - Массив строк крафта | *recipe - Массив строк крафта | ||
*ingredients - объект ингредиентов | *ingredients - объект ингредиентов | ||
− | |||
− | |||
<syntaxhighlight lang="JavaScript">RecipeTE.addGridRecipe("Workbench_Grid", { | <syntaxhighlight lang="JavaScript">RecipeTE.addGridRecipe("Workbench_Grid", { | ||
id:280, | id:280, | ||
Строка 175: | Строка 184: | ||
data:0 | data:0 | ||
} | } | ||
− | }); | + | });</syntaxhighlight> |
− | </syntaxhighlight> | ||
</div> | </div> | ||
=== Электрическая(редстоун сигнал) печь === | === Электрическая(редстоун сигнал) печь === | ||
+ | <div class="mw-parser-output"> | ||
+ | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
Строка 202: | Строка 212: | ||
Затем создаем наш интерфейс: | Затем создаем наш интерфейс: | ||
<blockquote> | <blockquote> | ||
− | <span style="font-size:small;">'''!ВАЖНО!:''' Слоты, в которые нужно ложить предмет нужна ОБЯЗАТЕЛЬНО называть ''"'''inputSlot'''"''+ '''порядковое число '''слота, начиная с нуля. Слот результата должен иметь название "'''''outputSlot'''''", так же стоит задавть '''''isValid'''''для outputSlot как '''''RecipeTE.outputSlotValid'''''</span> | + | <span style="font-size:small;">'''!ВАЖНО!:''' Слоты, в которые нужно ложить предмет нужна ОБЯЗАТЕЛЬНО называть ''"'''inputSlot'''"''+ '''порядковое число '''слота, начиная с нуля. Слот результата должен иметь название "'''''outputSlot'''''", так же стоит задавть '''''isValid'''''для outputSlot как '''''RecipeTE.outputSlotValid''''', для шкалы процесса использовать имя '''''"timerScale"'''''</span> |
</blockquote> <syntaxhighlight lang="JavaScript">var Furnace = new UI.StandartWindow({ | </blockquote> <syntaxhighlight lang="JavaScript">var Furnace = new UI.StandartWindow({ | ||
standart: { | standart: { | ||
Строка 226: | Строка 236: | ||
y: 170, | y: 170, | ||
direction:0, | direction:0, | ||
− | |||
bitmap: "arrow_scale", | bitmap: "arrow_scale", | ||
scale: 4 | scale: 4 | ||
Строка 263: | Строка 272: | ||
} | } | ||
});</syntaxhighlight> | });</syntaxhighlight> | ||
− | + | </div> | |
==== Создание рецептов для печи ==== | ==== Создание рецептов для печи ==== | ||
Строка 280: | Строка 289: | ||
</div> | </div> | ||
+ | <div class="mw-parser-output"> | ||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
== Полная документация == | == Полная документация == | ||
Строка 285: | Строка 295: | ||
{| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''Версия''' |
− | | style="width: | + | | style="width: 326px; text-align: center;" | '''Метод''' |
| style="text-align: center; width: 379px;" | '''Аргументы''' | | style="text-align: center; width: 379px;" | '''Аргументы''' | ||
| style="text-align: center; width: 200px;" | '''Описание''' | | style="text-align: center; width: 200px;" | '''Описание''' | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.registerGridCraftTable(object description) |
| style="text-align: center; width: 379px;" | | | style="text-align: center; width: 379px;" | | ||
*description- Описание верстака | *description- Описание верстака | ||
**name - Идентификатор/имя верстака | **name - Идентификатор/имя верстака | ||
**columns/cols - Кол-во колонок | **columns/cols - Кол-во колонок | ||
− | **rows - Кол-во строк | + | **rows - Кол-во строк |
+ | **elements - Объект с названиями элементов(С версии 1.1, не обязательный) | ||
+ | ***input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс) названия входных слотов | ||
+ | ***output - Строка названия выходного слото | ||
+ | ***progress - Строка названия шкалы прогресса | ||
+ | **time - Длительность производства(С версии 1.1, не обязательный) | ||
+ | |||
+ | | colspan="1" rowspan="5" style="width: 200px;" | Регистрация верстака с сеткой | ||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1''' | ||
+ | | style="width: 326px;" | RecipeTE.registerGridCraftTable(string name, int columns, int rows) | ||
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *columns - Кол-во колонок | ||
+ | *rows - Кол-во строк | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1.1''' | ||
+ | | style="width: 326px;" | RecipeTE.registerGridCraftTable(string name, int columns, int rows, object elements) | ||
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *columns - Кол-во колонок | ||
+ | *rows - Кол-во строк | ||
+ | *elements - Объект с названиями элементов | ||
+ | **input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс) названия входных слотов | ||
+ | **output - Строка названия выходного слото | ||
+ | **progress - Строка названия шкалы прогресса | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1.1''' | ||
+ | | style="width: 326px;" | RecipeTE.registerGridCraftTable(string name, int columns, int rows, int time) | ||
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *columns - Кол-во колонок | ||
+ | *rows - Кол-во строк | ||
+ | *time - Длительность производства | ||
− | |||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1.1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.registerGridCraftTable(string name, int columns, int rows, object elements, int time) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
*name - Идентификатор/имя верстака | *name - Идентификатор/имя верстака | ||
*columns - Кол-во колонок | *columns - Кол-во колонок | ||
*rows - Кол-во строк | *rows - Кол-во строк | ||
+ | *elements - Объект с названиями элементов | ||
+ | **input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс) названия входных слотов | ||
+ | **output - Строка названия выходного слото | ||
+ | **progress - Строка названия шкалы прогресса | ||
+ | *time - Длительность производства | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.registerCraftTable(object description) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
*description- Описание верстака | *description- Описание верстака | ||
**name - Идентификатор/имя верстака | **name - Идентификатор/имя верстака | ||
− | **columns/cols - Кол-во слотов | + | **columns/cols - Кол-во слотов(Версия 1) |
+ | **slots - Кол-во слотов(С версии 1.1) | ||
+ | **elements - Объект с названиями элементов(С версии 1.1, не обязательный) | ||
+ | ***input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс) названия входных слотов | ||
+ | ***output - Строка названия выходного слото | ||
+ | ***progress - Строка названия шкалы прогресса | ||
+ | **time - Длительность производства(С версии 1.1, не обязательный) | ||
− | | colspan="1" rowspan=" | + | | colspan="1" rowspan="5" style="width: 200px;" | Регистрация верстака без сетки |
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.registerCraftTable(string name, int slots) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
*name - Идентификатор/имя верстака | *name - Идентификатор/имя верстака | ||
Строка 324: | Строка 379: | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1.1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.registerCraftTable(string name, int slots, int time) |
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *slots - Кол-во слотов | ||
+ | *time - Длительность производства | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1.1''' | ||
+ | | style="width: 326px;" | RecipeTE.registerCraftTable(string name, int slots, object elements) | ||
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *slots - Кол-во слотов | ||
+ | *elements - Объект с названиями элементов | ||
+ | **input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс) названия входных слотов | ||
+ | **output - Строка названия выходного слото | ||
+ | **progress - Строка названия шкалы прогресса | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1.1''' | ||
+ | | style="width: 326px;" | RecipeTE.registerCraftTable(string name, int slots, object elements, int time) | ||
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *slots - Кол-во слотов | ||
+ | *elements - Объект с названиями элементов | ||
+ | **input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс) названия входных слотов | ||
+ | **output - Строка названия выходного слото | ||
+ | **progress - Строка названия шкалы прогресса | ||
+ | *time - Длительность производства | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | | ||
+ | '''1'''<br/> ''Устаревшее в 1.1'' | ||
+ | |||
+ | | style="width: 326px;" | RecipeTE.registerTimerGridCraftTable(object description) | ||
| style="width: 379px;" | | | style="width: 379px;" | | ||
*description- Описание верстака | *description- Описание верстака | ||
Строка 335: | Строка 423: | ||
| colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака с сеткой, требующий время на производство | | colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака с сеткой, требующий время на производство | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | |
− | | style="width: | + | '''1'''<br/> ''Устаревшее в 1.1'' |
+ | |||
+ | | style="width: 326px;" | RecipeTE.registerTimerGridCraftTable(string name, int columns, int rows, int timer) | ||
| style="width: 379px;" | | | style="width: 379px;" | | ||
*name - Идентификатор/имя верстака | *name - Идентификатор/имя верстака | ||
Строка 344: | Строка 434: | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.registerTimerCraftTable(object description) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
*description- Описание верстака | *description- Описание верстака | ||
Строка 354: | Строка 444: | ||
| colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака без сетки, требующий время на производство | | colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака без сетки, требующий время на производство | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.registerTimerCraftTable(string name, int slots, int timer) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
*name - Идентификатор/имя верстака | *name - Идентификатор/имя верстака | ||
Строка 362: | Строка 452: | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.isRegistered(string name) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
*name - Идентификатор/имя верстака | *name - Идентификатор/имя верстака | ||
Строка 369: | Строка 459: | ||
| style="width: 200px;" | Вернет true, если верстак зарегистрирован, иначе false | | style="width: 200px;" | Вернет true, если верстак зарегистрирован, иначе false | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.getMechanism(string name) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
*name - Идентификатор/имя верстака | *name - Идентификатор/имя верстака | ||
Строка 376: | Строка 466: | ||
| style="width: 200px;" | Вернет описание верстака если он сущечтвует, иначе false | | style="width: 200px;" | Вернет описание верстака если он сущечтвует, иначе false | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
*name - Идентификатор/имя верстака | *name - Идентификатор/имя верстака | ||
Строка 386: | Строка 476: | ||
*recipe - Строка, образующая рецепт | *recipe - Строка, образующая рецепт | ||
*ingridients - Объект ингридиентов | *ingridients - Объект ингридиентов | ||
− | |||
− | | style="width: 200px;" | Добавить крафт для верстака ''name'' | + | | colspan="1" rowspan="4" style="width: 200px;" | Добавить крафт для верстака ''name'' |
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients, function craft) |
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *result - Результат крафта | ||
+ | **int id - ID предмета | ||
+ | **int count - Кол-во | ||
+ | **int data - Дата предмета | ||
+ | *recipe - Строка, образующая рецепт | ||
+ | *ingridients - Объект ингридиентов | ||
+ | *craft - функция крафта | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1.1''' | ||
+ | | style="width: 326px;" | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients, int time_multiplier) | ||
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *result - Результат крафта | ||
+ | **int id - ID предмета | ||
+ | **int count - Кол-во | ||
+ | **int data - Дата предмета | ||
+ | *recipe - Строка, образующая рецепт | ||
+ | *ingridients - Объект ингридиентов | ||
+ | *time_multiplier - Множитель времения(Только для верстаков с временем производства) | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1.1''' | ||
+ | | style="width: 326px;" | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients, int time_multiplier, function craft) | ||
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *result - Результат крафта | ||
+ | **int id - ID предмета | ||
+ | **int count - Кол-во | ||
+ | **int data - Дата предмета | ||
+ | *recipe - Строка, образующая рецепт | ||
+ | *ingridients - Объект ингридиентов | ||
+ | *time_multiplier - Множитель времения(Только для верстаков с временем производства) | ||
+ | *craft - функция крафта | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1''' | ||
+ | | style="width: 326px;" | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients) | ||
| style="width: 379px;" | | | style="width: 379px;" | | ||
*name - Идентификатор/имя верстака | *name - Идентификатор/имя верстака | ||
Строка 400: | Строка 529: | ||
*recipe - Массив строк, образующие рецепт | *recipe - Массив строк, образующие рецепт | ||
*ingridients - Объект ингридиентов | *ingridients - Объект ингридиентов | ||
− | |||
− | | style="width: 200px;" | Добавить крафт для верстака с сеткой ''name'' | + | | colspan="1" rowspan="4" style="width: 200px;" | Добавить крафт для верстака с сеткой ''name'' |
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients, function craft) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *result - Результат крафта | ||
+ | **int id - ID предмета | ||
+ | **int count - Кол-во | ||
+ | **int data - Дата предмета | ||
+ | *recipe - Массив строк, образующие рецепт | ||
+ | *ingridients - Объект ингридиентов | ||
+ | *craft - Функция крафта | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1.1''' | ||
+ | | style="width: 326px;" | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients, int time_multiplier) | ||
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *result - Результат крафта | ||
+ | **int id - ID предмета | ||
+ | **int count - Кол-во | ||
+ | **int data - Дата предмета | ||
+ | *recipe - Массив строк, образующие рецепт | ||
+ | *ingridients - Объект ингридиентов | ||
+ | *time_multiplier - Множитель времения(Только для верстаков с временем производства) | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1.1''' | ||
+ | | style="width: 326px;" | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients, int time_multiplier, function craft) | ||
+ | | style="width: 379px;" | | ||
+ | *name - Идентификатор/имя верстака | ||
+ | *result - Результат крафта | ||
+ | **int id - ID предмета | ||
+ | **int count - Кол-во | ||
+ | **int data - Дата предмета | ||
+ | *recipe - Массив строк, образующие рецепт | ||
+ | *ingridients - Объект ингридиентов | ||
+ | *time_multiplier - Множитель времения(Только для верстаков с временем производства) | ||
+ | *craft - функция крафта | ||
+ | |||
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1'''<br/> ''Устаревшее в 1.1'' | ||
+ | | style="width: 326px;" | RecipeTE.getTickResipes(string name, TileEntity TE, function condition) | ||
+ | | colspan="1" rowspan="2" style="width: 379px;" | | ||
*name - Идентификатор/имя верстака | *name - Идентификатор/имя верстака | ||
*TE - TileEntity | *TE - TileEntity | ||
*condition - Функция условия (Не обязательный) | *condition - Функция условия (Не обязательный) | ||
− | | style="width: 200px;" | Обработчик тика для TileEntity | + | | colspan="1" rowspan="2" style="width: 200px;" | Обработчик тика для TileEntity |
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1.1''' |
− | | colspan="2" rowspan="1" style="width: | + | | style="width: 326px;" | RecipeTE.getTickReсipes(string name, TileEntity TE, function condition) |
+ | |- | ||
+ | | style="width: 121px; text-align: center;" | '''1''' | ||
+ | | colspan="2" rowspan="1" style="width: 709px;" | RecipeTE.outputSlotValid() | ||
| style="width: 200px;" | Функция проверки слота результата | | style="width: 200px;" | Функция проверки слота результата | ||
|- | |- | ||
− | | style="width: | + | | style="width: 121px; text-align: center;" | '''1''' |
− | | style="width: | + | | style="width: 326px;" | RecipeTE.defaultCraftEvent(TileEntity TE, object workbench) |
| style="width: 379px;" | | | style="width: 379px;" | | ||
*TE - TileEntity | *TE - TileEntity | ||
Строка 425: | Строка 596: | ||
| style="width: 200px;" | Стандартная функция крафта (Для методов RecipeTE.addRecipe и RecipeTE.addGridRecipe) | | style="width: 200px;" | Стандартная функция крафта (Для методов RecipeTE.addRecipe и RecipeTE.addGridRecipe) | ||
|} | |} | ||
− | |||
− | |||
</div> | </div> |
Версия | Ссылка | Изменения |
1 | Скачать |
Первая версия |
1.1 | Скачать |
|
GitHub | GitHub |
Используя данный продукт вы автоматически соглашаетесь с этими правилами
Импортируйте библиотеку.
IMPORT("RecipeTileEntityLib")
Для начала создаем блок:
IDRegistry.genBlockID("Workbench_Grid");
Block.createBlock("Workbench_Grid", [{
name: "Workbench Grid",
texture: [
["work_table_bottom", 0], // bottom
["work_table_top", 0], // top
["work_table_side", 0], // back
["work_table_side", 1], // front
["work_table_side", 0], // left
["work_table_side", 0] // right
],
inCreative: true
}]);
Затем создаем наш интерфейс:
!ВАЖНО!: Слоты, в которые нужно ложить предмет нужна ОБЯЗАТЕЛЬНО называть "inputSlot"+ порядковое число слота, начиная с нуля. Слот результата должен иметь название "outputSlot", так же стоит задавать isValid для outputSlot как RecipeTE.outputSlotValid
var Workbench_Grid = new UI.StandartWindow({
standart: {
header: {text: {text: "Workbench Grid 4x4"}},
inventory: {standart:true},
background: {standart: true}
},
drawing: [{
type: "bitmap",
bitmap: "arrow",
x: 600,
y: 170, scale: 4
}],
elements:{
"inputSlot0":{x:350, y:80, type:"slot"},
"inputSlot1":{x:410, y:80, type:"slot"},
"inputSlot2":{x:470, y:80, type:"slot"},
"inputSlot3":{x:530, y:80, type:"slot"},
"inputSlot4":{x:350, y:140, type:"slot"},
"inputSlot5":{x:410, y:140, type:"slot"},
"inputSlot6":{x:470, y:140, type:"slot"},
"inputSlot7":{x:530, y:140, type:"slot"},
"inputSlot8":{x:350, y:200, type:"slot"},
"inputSlot9":{x:410, y:200, type:"slot"},
"inputSlot10":{x:470, y:200, type:"slot"},
"inputSlot11":{x:530, y:200, type:"slot"},
"inputSlot12":{x:350, y:260, type:"slot"},
"inputSlot13":{x:410, y:260, type:"slot"},
"inputSlot14":{x:470, y:260, type:"slot"},
"inputSlot15":{x:530, y:260, type:"slot"},
"outputSlot":{x:698, y:170, type:"slot", isValid:RecipeTE.outputSlotValid }
}
});
Затем регистрируем наш верстак, есть два способа:
RecipeTE.registerGridCraftTable({
name:"Workbench_Grid",
rows:4,
cols:4
});
RecipeTE.registerGridCraftTable("Workbench_Grid", 4, 4);
Теперь нам следует зарегистрировать TileEntity. В getGuiScreen мы возвращаем наше окно. В методе тика мы вызываем RecipeTE.getTickResipes(name, TileEntity) :
TileEntity.registerPrototype(BlockID["Workbench_Grid"], {
getGuiScreen: function(){
return Workbench_Grid;
},
tick:function(){
RecipeTE.getTickResipes("Workbench_Grid", this);
}
});
Создание рецептов для верстака с сеткой происходит через метод RecipeTE.addGridRecipe(name_workbench, result, recipe, ingredients), где:
RecipeTE.addGridRecipe("Workbench_Grid", {
id:280,
count:1
},
[ "aa",
"aa"
], {
a:{
id:5
}
});
RecipeTE.addGridRecipe("Workbench_Grid", {
id: 281,
count: 1
},
[ "aaaa",
"a a",
"a a",
"aaaa"
], {
a: {
id: 1,
data:0
}
});
Для начала создаем блок:
IDRegistry.genBlockID("Furnace");
Block.createBlockWithRotation("Furnace", [{
name: "Furnace",
texture: [
["iron_furnace_bottom", 0], // bottom
["iron_furnace_top", 0], // top
["iron_furnace_side", 0], // back
["iron_furnace_front", 0], // front
["iron_furnace_side", 0], // left
["iron_furnace_side", 0] // right
],
inCreative: true
}]);
Затем создаем наш интерфейс:
!ВАЖНО!: Слоты, в которые нужно ложить предмет нужна ОБЯЗАТЕЛЬНО называть "inputSlot"+ порядковое число слота, начиная с нуля. Слот результата должен иметь название "outputSlot", так же стоит задавть isValidдля outputSlot как RecipeTE.outputSlotValid, для шкалы процесса использовать имя "timerScale"
var Furnace = new UI.StandartWindow({
standart: {
header: {text: {text: "Furnace"}},
inventory: {standart:true},
background: {standart: true}
},
drawing: [{
type: "bitmap",
bitmap: "arrow",
x: 600,
y: 170,
scale: 4
}],
elements:{
"inputSlot0":{x:530, y:170, type:"slot"},
"outputSlot":{x:698, y:170, type:"slot", isValid:RecipeTE.outputSlotValid },
"timerScale":{
type: "scale",
x: 600,
y: 170,
direction:0,
bitmap: "arrow_scale",
scale: 4
}
}
});
Затем регистрируем наш верстак(печь), есть два способа:
RecipeTE.registerTimerCraftTable({
name:"Furnace",
cols:1,
timer:5*20
});
RecipeTE.registerTimerCraftTable("Furnace", 1, 5*20);
Теперь нам следует зарегистрировать TileEntity. В getGuiScreen мы возвращаем наше окно. В методе redstone мы будем проверять, сльный ли редстоун-сигнал и включать машину. В методе тика мы вызываем RecipeTE.getTickResipes(name, TileEntity, condition) с нашим условием:
TileEntity.registerPrototype(BlockID["Furnace"], {
getGuiScreen: function(){
return Furnace;
},
redstone: function(params){
if(params.power < 10)
this.data.power = false;
else
this.data.power = true;
},
tick:function(){
RecipeTE.getTickResipes("Furnace", this, function(TE){
return TE.data.power;
});
}
});
Создание рецептов для верстака(печи) без сетки происходит через метод RecipeTE.addRecipe(name_workbench, result, recipe, ingredients), где:
RecipeTE.addRecipe("Furnace", {id:280, count:1}, "a", {a:{id:5}});
Версия | Метод | Аргументы | Описание |
1 | RecipeTE.registerGridCraftTable(object description) |
|
Регистрация верстака с сеткой |
1 | RecipeTE.registerGridCraftTable(string name, int columns, int rows) |
| |
1.1 | RecipeTE.registerGridCraftTable(string name, int columns, int rows, object elements) |
| |
1.1 | RecipeTE.registerGridCraftTable(string name, int columns, int rows, int time) |
| |
1.1 | RecipeTE.registerGridCraftTable(string name, int columns, int rows, object elements, int time) |
| |
1 | RecipeTE.registerCraftTable(object description) |
|
Регистрация верстака без сетки |
1 | RecipeTE.registerCraftTable(string name, int slots) |
| |
1.1 | RecipeTE.registerCraftTable(string name, int slots, int time) |
| |
1.1 | RecipeTE.registerCraftTable(string name, int slots, object elements) |
| |
1.1 | RecipeTE.registerCraftTable(string name, int slots, object elements, int time) |
| |
1 |
RecipeTE.registerTimerGridCraftTable(object description) |
|
Регистрация верстака с сеткой, требующий время на производство |
1 |
RecipeTE.registerTimerGridCraftTable(string name, int columns, int rows, int timer) |
| |
1 | RecipeTE.registerTimerCraftTable(object description) |
|
Регистрация верстака без сетки, требующий время на производство |
1 | RecipeTE.registerTimerCraftTable(string name, int slots, int timer) |
| |
1 | RecipeTE.isRegistered(string name) |
|
Вернет true, если верстак зарегистрирован, иначе false |
1 | RecipeTE.getMechanism(string name) |
|
Вернет описание верстака если он сущечтвует, иначе false |
1 | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients) |
|
Добавить крафт для верстака name |
1 | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients, function craft) |
| |
1.1 | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients, int time_multiplier) |
| |
1.1 | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients, int time_multiplier, function craft) |
| |
1 | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients) |
|
Добавить крафт для верстака с сеткой name |
1 | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients, function craft) |
| |
1.1 | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients, int time_multiplier) |
| |
1.1 | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients, int time_multiplier, function craft) |
| |
1 Устаревшее в 1.1 |
RecipeTE.getTickResipes(string name, TileEntity TE, function condition) |
|
Обработчик тика для TileEntity |
1.1 | RecipeTE.getTickReсipes(string name, TileEntity TE, function condition) | ||
1 | RecipeTE.outputSlotValid() | Функция проверки слота результата | |
1 | RecipeTE.defaultCraftEvent(TileEntity TE, object workbench) |
|
Стандартная функция крафта (Для методов RecipeTE.addRecipe и RecipeTE.addGridRecipe) |