Редактирование:RecipeTELib

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 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">
 
<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">
 
 
== Загрузка ==
 
== Загрузка ==
  
Строка 21: Строка 14:
 
| style="text-align: center; width: 57px;" | [https://vk.com/wolf___team?w=wall-80513593_2247 Скачать]
 
| style="text-align: center; width: 57px;" | [https://vk.com/wolf___team?w=wall-80513593_2247 Скачать]
 
| style="width: 362px;" |  
 
| style="width: 362px;" |  
*Первая версия  
+
Первая версия
 
 
|-
 
| style="text-align: center; width: 63px;" | '''1.1'''
 
| style="text-align: center; width: 57px;" | [https://vk.com/wall-80513593_2248 Скачать]
 
| style="width: 362px;" |
 
*Слияние методов&nbsp;registerGridCraftTable and registerTimerGridCraftTable
 
*Слияние методов&nbsp;registerCraftTable and registerTimerCraftTable
 
*Исправлено имя метода с&nbsp;getTickResipes на getTickRecipes
 
*Добавлена возможность использовать свои идентификаторы элементов
 
*Для рецептов добавлен параметр множителя времени крафта
 
 
 
|-
 
| style="text-align: center; width: 63px;" | '''1.2'''
 
| style="text-align: center; width: 57px;" | [https://vk.com/wall-80513593_2253 Скачать]
 
| style="width: 362px;" |
 
*Удален метод registerTimerGridCraftTable&nbsp;
 
*Удален метод registerTimerCraftTable&nbsp;
 
*Удален метод getTickResipes
 
*Исправлена смена крафта у печей
 
 
 
|-
 
| style="text-align: center; width: 63px;" | '''2.0'''
 
| style="text-align: center; width: 57px;" | &nbsp;
 
| style="width: 362px;" |
 
*Библиотека переписана
 
*Добавлена возможность создавать бесформенные рецепты
 
 
 
|-
 
| style="text-align: center; width: 63px;" | '''2.1'''
 
| style="text-align: center; width: 57px;" | [https://github.com/Wolf-Team/Libraries/blob/master/RecipeTileEntityLib.js GitHub]
 
| style="width: 362px;" |
 
*Исправление ошибок
 
*Поддержка RecipeViewer
 
*В TileEntity верстака добавлен метод setWorkbench(sid)
 
  
 
|-
 
|-
Строка 62: Строка 21:
 
| style="width: 362px;" | &nbsp;
 
| style="width: 362px;" | &nbsp;
 
|}
 
|}
</div>
+
</div> </div>
  
 
== Условия использования ==
 
== Условия использования ==
Строка 73: Строка 32:
  
 
<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">
 
<div class="mw-parser-output">
 
== Документация <span style="color:#dddddd;">(2.0 и выше)</span> ==
 
 
 
 
=== Инициализация ===
 
=== Инициализация ===
  
 
Импортируйте библиотеку.
 
Импортируйте библиотеку.
 
<syntaxhighlight lang="JavaScript">IMPORT("RecipeTileEntityLib")</syntaxhighlight>
 
<syntaxhighlight lang="JavaScript">IMPORT("RecipeTileEntityLib")</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">
==== Регистрация верстака ====
 
 
Для начала создаем блок:
 
<syntaxhighlight lang="JavaScript">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 
 
}]);</syntaxhighlight>
 
 
Затем создаем наш интерфейс:
 
 
{| border="1" cellpadding="0" cellspacing="0" style="width: 100%;"
 
|-
 
| style="background-color: rgb(204, 0, 0);" | <span style="color:#ffffff;">'''ВАЖНО!:&nbsp;'''Слоты, в которые нужно ложить предмет нужно&nbsp;называть "'''''inputSlot'''''"+&nbsp;'''порядковое число'''&nbsp;слота, начиная с нуля, иначе указать имена слотов(или имя, если используются порядковые числа) при регистрации.<br/> Слот результата должен иметь название "'''''outputSlot'''''",&nbsp;иначе указать имя слота при регистрации.</span>
 
|}
 
<syntaxhighlight lang="JavaScript">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"}
 
    }
 
});</syntaxhighlight>
 
 
Затем регистрируем наш верстак:
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerWorkbench("Workbench_Grid",//SID блока
 
{
 
    rows:4,//Кол-во строк сетки
 
    cols:4,//Кол-во столбцов сетки
 
    GuiScreen:Workbench_Grid //Интерфейс верстака
 
    //Так же тут можно(И нужно) описать поля TileEntity
 
});</syntaxhighlight>
 
</div>
 
 
 
<div class="mw-parser-output">
 
<div class="mw-parser-output">
==== Добавление рецептов для&nbsp;верстака ====
 
 
Создание рецептов для верстака с сеткой происходит через метод&nbsp;'''''RecipeTE.addShapeRecipe(name_workbench, result, recipe, ingredients)''''', где:
 
 
*name_workbench - имя верстака
 
*result - объект результата
 
**id - ID предмета
 
**count - Кол-во предмета
 
**data - Дата предмета 
 
*recipe - Массив строк крафта
 
*ingredients - объект ингредиентов
 
<syntaxhighlight lang="JavaScript">RecipeTE.addShapeRecipe("Workbench_Grid", {
 
    id:280,
 
    count:1
 
    }, [
 
    "aa",
 
    "aa"
 
    ], {
 
    a:{
 
        id:5
 
    }
 
});
 
 
RecipeTE.addShapeRecipe("Workbench_Grid", {
 
    id:280,
 
    count:1
 
    }, [
 
    "aaaa",
 
    "a  a",
 
    "a  a",
 
    "aaaa"
 
    ], {
 
    a:{
 
        id:1
 
    }
 
});</syntaxhighlight>
 
<div class="mw-parser-output">&nbsp;</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">
==== Регистрация печи ====
 
 
<div class="mw-parser-output">
 
<div class="mw-parser-output">
Для начала создаем блок:
 
<syntaxhighlight lang="JavaScript">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 
 
}]);</syntaxhighlight>
 
 
Затем создаем наш интерфейс:
 
 
{| border="1" cellpadding="0" cellspacing="0"
 
|-
 
| style="background-color: rgb(204, 0, 0);" | <span style="color:#ffffff;">'''ВАЖНО!:&nbsp;'''Слоты, в которые нужно ложить предмет нужно&nbsp;называть "'''''inputSlot'''''"+&nbsp;'''порядковое число'''&nbsp;слота, начиная с нуля, иначе указать имена слотов(или имя, если используются порядковые числа) при регистрации.<br/> Слот результата должен иметь название "'''''outputSlot'''''",&nbsp;иначе указать имя слота при регистрации.</span>
 
|}
 
<syntaxhighlight lang="JavaScript">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:{
 
        "myInputSlot":{x:530, y:170, type:"slot"},
 
        
 
        "myOutputSlot":{x:698, y:170, type:"slot", isValid:RecipeTE.outputSlotValid },
 
 
        "timerScale":{
 
            type: "scale",
 
            x: 600,
 
            y: 170,
 
            direction:0,
 
            bitmap: "arrow_scale",
 
            scale: 4
 
        }
 
    }
 
});</syntaxhighlight>
 
 
Затем регистрируем наш верстак:
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerWorkbench("Furnace", {
 
    time:5 * 20, //Время крафта
 
    slots:1, //Кол-во слотов
 
    GuiScreen:Furnace, //Интерфейс печи
 
    input:["myInputSlot"], //Входные слоты
 
    output:"myOutputSlot", //Слот результата
 
    scale:"timerScale", //Шкала прогресса
 
    condition:function(){ //Условие работы верстака
 
        return this.data.power
 
    },
 
    //Параметры TileEntity
 
    defaultValues:{
 
        power:false,
 
    },
 
    redstone: function(params){
 
        if(params.power < 10)
 
            this.data.power = false;
 
        else
 
            this.data.power = true;
 
    }
 
});
 
</syntaxhighlight>
 
</div> </div>
 
 
 
<div class="mw-parser-output">
 
<div class="mw-parser-output">
==== Добавление рецептов для&nbsp;печи ====
 
 
Создание бесформенных рецептов для верстака происходит через метод&nbsp;'''''RecipeTE.addRecipe(name_workbench, result,&nbsp; ingredients)''''', где:
 
 
*name_workbench - имя верстака
 
*result - объект результата
 
**id - ID предмета
 
**count - Кол-во предмета
 
**data - Дата предмета 
 
*ingredients - Массив&nbsp;ингредиентов
 
<syntaxhighlight lang="JavaScript">RecipeTE.addRecipe("Furnace", {id:280}, [{id:5}]);
 
RecipeTE.addRecipe("Furnace", {id:281}, [{id:1}], .2);
 
</syntaxhighlight>
 
</div>
 
 
=== Интеграция с RecipeViewer ===
 
 
<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">
<h3>Добавление ваших крафтов происходит автоматически.</h3>
 
 
<p>В RecipeViewer переносятся только входные слоты и слот-результат. Для отображения дополнительных элементов, нужно добавить к элементу параметр RV.</p>
 
 
<pre class="fck_mw_syntaxhighlight">
 
<syntaxhighlight lang="JavaScript">
 
{
 
&nbsp; &nbsp; type: &quot;bitmap&quot;,
 
&nbsp; &nbsp; bitmap: &quot;arrow&quot;,
 
&nbsp; &nbsp; x: 600,
 
&nbsp; &nbsp; y: 170,
 
&nbsp; &nbsp; RV:true,
 
&nbsp; &nbsp; scale: 4
 
}</syntaxhighlight></pre>
 
 
<p>Для задания своего интерфейса в RecipeViewer прототип должен иметь поле&nbsp;RVGuiScreen с полями drawable и elements.<br />
 
Входные слоты имеют имя input+index, выходные - output+index.</p>
 
 
<p>Подробнее об элементах на странице <a href="InnerCore%2F%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B2%20GUI">Введение в GUI</a>. &lt;/div&gt;</p>
 
 
<div class="mw-parser-output">&nbsp;</div>
 
</div>
 
 
=== Полная документация ===
 
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 100%;"
 
|-
 
| style="text-align: center;" | '''Версия'''
 
| style="text-align: center;" | '''Метод'''
 
| style="text-align: center;" | '''Аргументы'''
 
| style="text-align: center;" | '''Описание'''
 
|-
 
| style="text-align: center; vertical-align: top;" | '''2.0'''
 
| style="text-align: center; vertical-align: top;" | void RecipeTE.addWorkbench(string name, object Info)
 
| style="text-align: center; vertical-align: top;" |
 
*name - Имя верстака
 
*TE_Prototype - объект прототипа TE
 
**int columns &#124;&#124; cols - кол-ыо столбцов сетки
 
**int rows - кол-во строк сетки
 
**int slots - кол-во слотов(В место cols и rows)
 
**UIWindow gui - Окно для TileEntity
 
**int&nbsp;time - Кол-во тиков, нужное для крафта
 
**string output - имя слота для результата(По стандарту outputSlot)
 
**string&nbsp;input - префикс слотов&nbsp;входных предметов(По стандарту inputSlot)
 
**string[]&nbsp;input - массив имен входных слотов.
 
**string&nbsp;scale - Имя шкалы используемое для отображения прогресса 
 
 
| style="vertical-align: top;" | Регистрирует верстак с именем name не привязывая его к блоку
 
|-
 
| style="text-align: center; vertical-align: top;" | '''2.0'''
 
| style="text-align: center; vertical-align: top;" | void RecipeTE.registerWorkbench(string block_sid, object TE_Prototype)
 
| style="text-align: center; vertical-align: top;" |
 
*block_sid - Строковый ID блока
 
*TE_Prototype - объект прототипа TE
 
**int columns &#124;&#124; cols - кол-ыо столбцов сетки
 
**int rows - кол-во строк сетки
 
**int slots - кол-во слотов(В место cols и rows)
 
**UIWindow gui - Окно для TileEntity
 
**int&nbsp;time - Кол-во тиков, нужное для крафта
 
**string output - имя слота для результата(По стандарту outputSlot)
 
**string&nbsp;input - префикс слотов&nbsp;входных предметов(По стандарту inputSlot)
 
**string[]&nbsp;input - массив имен входных слотов.
 
**string&nbsp;scale - Имя шкалы используемое для отображения прогресса
 
**function&nbsp;condition - функция-условие функционирования верстака 
 
 
| style="vertical-align: top;" | Регистрирует верстак для блока с SID block_sid
 
|-
 
| style="text-align: center; vertical-align: top;" | '''2.0'''
 
| style="text-align: center; vertical-align: top;" | bool&nbsp;RecipeTE.isRegistered(string block_sid)
 
| style="vertical-align: top;" |
 
*block_sid -&nbsp;Строковый ID блока
 
 
| style="vertical-align: top;" | Вернет true, если верстак с строковым ID block_sid был зарегистрирован, иначе false
 
|-
 
| style="text-align: center; vertical-align: top;" | '''2.0'''
 
| style="text-align: center; vertical-align: top;" | void RecipeTE.addRecipe(string block_sid, object result, object[] ingridients, int time_multiplier, function craft)
 
| style="vertical-align: top;" |
 
*block_sid -&nbsp;Строковый ID блока
 
*result - результат крафта
 
**int id - ID предмета
 
**int data - дата предмета(По стандарту 0)
 
**int count - Кол-во предметоа(По стандарту 1) 
 
*ingridients - Массив объектов ингредиента
 
**int id - ID предмета
 
**int count - Кол-во предметоа(По стандарту 1)&nbsp;
 
**int data - дата предмета(По стандарту 0) 
 
*time_multiplier - множитель времени крафта(По стандарту 1)
 
*craft - Функция крафта(По стандарту RecipeTE.defaultCraftEvent)
 
 
| style="vertical-align: top;" | Добавлет безформенный рецепт для верстака block_sid
 
|-
 
| style="text-align: center; vertical-align: top;" | '''2.0'''
 
| style="text-align: center; vertical-align: top;" | void RecipeTE.addShapeRecipe(string block_sid, object result, string recipe, object ingridients, int time_multiplier, function craft)
 
| style="vertical-align: top;" |
 
*block_sid -&nbsp;Строковый ID блока
 
*result - результат крафта
 
**int id - ID предмета
 
**int data - дата предмета(По стандарту 0)
 
**int count - Кол-во предметоа(По стандарту 1) 
 
*recipe - Строка символов, формирующих рецепт(Предметы разложены в слотак в порядке от 0 к N)
 
*ingridients - Объект описывающий символы рецепта как ингредиент<br/> Объект ингредиента:
 
**int id - ID предмета
 
**int count - Кол-во предметоа(По стандарту 1)&nbsp;
 
**int data - дата предмета(По стандарту 0) 
 
*time_multiplier - множитель времени крафта(По стандарту 1)
 
*craft - Функция крафта(По стандарту RecipeTE.defaultCraftEvent)
 
 
| style="vertical-align: top;" | Добавляет крафт для верстака block_sid
 
|-
 
| style="text-align: center; vertical-align: top;" | '''2.0'''
 
| style="text-align: center; vertical-align: top;" | void RecipeTE.addShapeRecipe(string block_sid, object result, string[] recipe, object ingridients, int time_multiplier, function craft)
 
| style="vertical-align: top;" |
 
*block_sid -&nbsp;Строковый ID блока
 
*result - результат крафта
 
**int id - ID предмета
 
**int data - дата предмета(По стандарту 0)
 
**int count - Кол-во предметоа(По стандарту 1) 
 
*recipe - Массив строка символов, формирующих рецепт(элемент массива - строка сетки, элемент строки - столбец сетки)
 
*ingridients - Объект описывающий символы рецепта как ингредиент<br/> Объект ингредиента:
 
**int id - ID предмета
 
**int count - Кол-во предметоа(По стандарту 1)&nbsp;
 
**int data - дата предмета(По стандарту 0) 
 
*time_multiplier - множитель времени крафта(По стандарту 1)
 
*craft - Функция крафта(По стандарту RecipeTE.defaultCraftEvent)
 
 
| style="vertical-align: top;" | Добавляет крафт для верстака block_sid
 
|-
 
| style="text-align: center; vertical-align: top;" | '''2.0'''
 
| style="text-align: center; vertical-align: top;" | void RecipeTE.defaultCraftEvent(TileEntity TE)
 
| style="vertical-align: top;" |
 
*TE - TileEntity верстака
 
 
| style="vertical-align: top;" | Стандартная функция крафта
 
|}
 
 
</div> </div> </div> </div> </div> </div> </div> </div> </div>
 
</div>
 
 
== Документация <span style="color:#95a5a6;"><span style="font-size:smaller;">(до версии 2.0)</span></span> ==
 
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
 
=== Инициализация ===
 
 
Импортируйте библиотеку.
 
<syntaxhighlight lang="JavaScript">IMPORT("RecipeTileEntityLib")</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"><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">
 
 
==== Создание верстака ====
 
==== Создание верстака ====
  
Строка 504: Строка 115:
  
 
*'''''RecipeTE.registerGridCraftTable(description);'''''  
 
*'''''RecipeTE.registerGridCraftTable(description);'''''  
 
&nbsp;
 
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerGridCraftTable({
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerGridCraftTable({
 
    name:"Workbench_Grid",
 
    name:"Workbench_Grid",
Строка 513: Строка 122:
  
 
*​​'''''RecipeTE.registerGridCraftTable(name, columns, rows);'''''  
 
*​​'''''RecipeTE.registerGridCraftTable(name, columns, rows);'''''  
 
&nbsp;
 
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerGridCraftTable("Workbench_Grid", 4, 4);</syntaxhighlight>
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerGridCraftTable("Workbench_Grid", 4, 4);</syntaxhighlight>
  
Строка 528: Строка 135:
 
});
 
});
 
</syntaxhighlight>
 
</syntaxhighlight>
</div>  
+
</div>
 +
 
 
==== Создание рецептов для верстака ====
 
==== Создание рецептов для верстака ====
  
Строка 540: Строка 148:
 
*recipe - Массив строк крафта  
 
*recipe - Массив строк крафта  
 
*ingredients - объект ингредиентов  
 
*ingredients - объект ингредиентов  
 
&nbsp;
 
 
<syntaxhighlight lang="JavaScript">RecipeTE.addGridRecipe("Workbench_Grid", {
 
<syntaxhighlight lang="JavaScript">RecipeTE.addGridRecipe("Workbench_Grid", {
 
    id:280,
 
    id:280,
Строка 568: Строка 174:
 
    }
 
    }
 
});</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">
 +
<div class="mw-parser-output">
 +
<div class="mw-parser-output">
 
==== Создание печи ====
 
==== Создание печи ====
  
Строка 623: Строка 234:
  
 
*'''RecipeTE.registerTimerCraftTable(description);'''  
 
*'''RecipeTE.registerTimerCraftTable(description);'''  
 
&nbsp;
 
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerTimerCraftTable({
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerTimerCraftTable({
 
    name:"Furnace",
 
    name:"Furnace",
Строка 633: Строка 242:
  
 
*'''​​RecipeTE.registerTimerCraftTable(name, columns, timer);'''  
 
*'''​​RecipeTE.registerTimerCraftTable(name, columns, timer);'''  
 
&nbsp;
 
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerTimerCraftTable("Furnace", 1, 5*20);</syntaxhighlight>
 
<syntaxhighlight lang="JavaScript">RecipeTE.registerTimerCraftTable("Furnace", 1, 5*20);</syntaxhighlight>
  
Строка 654: Строка 261:
 
    }
 
    }
 
});</syntaxhighlight>
 
});</syntaxhighlight>
</div>  
+
</div>
 +
 
 
==== Создание рецептов для печи ====
 
==== Создание рецептов для печи ====
  
Строка 666: Строка 274:
 
*recipe - Строка крафта  
 
*recipe - Строка крафта  
 
*ingredients - объект ингредиентов  
 
*ingredients - объект ингредиентов  
 
&nbsp;
 
 
<syntaxhighlight lang="JavaScript">RecipeTE.addRecipe("Furnace", {id:280, count:1}, "a", {a:{id:5}});
 
<syntaxhighlight lang="JavaScript">RecipeTE.addRecipe("Furnace", {id:280, count:1}, "a", {a:{id:5}});
 
</syntaxhighlight>
 
</syntaxhighlight>
</div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">&nbsp;</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>
+
</div>
  
 
<div class="mw-parser-output">
 
<div class="mw-parser-output">
=== Полная документация ===
+
== Полная документация ==
  
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 100%;"
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 100%;"
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''Версия'''
+
| style="width: 61px; text-align: center;" | '''Версия'''
| style="width: 326px; text-align: center;" | '''Метод'''
+
| style="width: 385px; 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: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.registerGridCraftTable(object description)
+
| style="width: 385px;" | 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'' + индекс)&nbsp;названия входных слотов
 
***output - Строка названия выходного слото
 
***progress - Строка названия шкалы прогресса 
 
**time -&nbsp;Длительность производства(С версии 1.1, не обязательный)    
 
  
| colspan="1" rowspan="5" style="width: 200px;" | Регистрация верстака с сеткой
+
| colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака с сеткой
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.registerGridCraftTable(string name, int columns, int rows)
+
| style="width: 385px;" | RecipeTE.registerGridCraftTable(string name, int columns, int rows)
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*name - Идентификатор/имя верстака  
 
*name - Идентификатор/имя верстака  
Строка 705: Строка 306:
  
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1.1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.registerGridCraftTable(string name, int columns, int rows, object elements)
+
| style="width: 385px;" | RecipeTE.registerCraftTable(object description)
| style="width: 379px;" |
 
*name - Идентификатор/имя верстака
 
*columns - Кол-во колонок
 
*rows - Кол-во строк
 
*elements - Объект с названиями элементов
 
**input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс)&nbsp;названия входных слотов
 
**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: 121px; text-align: center;" | '''1.1'''
 
| style="width: 326px;" | RecipeTE.registerGridCraftTable(string name, int columns, int rows, object elements, int time)
 
| style="width: 379px;" |
 
*name - Идентификатор/имя верстака
 
*columns - Кол-во колонок
 
*rows - Кол-во строк
 
*elements - Объект с названиями элементов
 
**input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс)&nbsp;названия входных слотов
 
**output - Строка названия выходного слото
 
**progress - Строка названия шкалы прогресса 
 
*time - Длительность производства
 
 
 
|-
 
| style="width: 121px; text-align: center;" | '''1'''
 
| style="width: 326px;" | RecipeTE.registerCraftTable(object description)
 
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*description- Описание верстака  
 
*description- Описание верстака  
 
**name - Идентификатор/имя верстака  
 
**name - Идентификатор/имя верстака  
**columns/cols - Кол-во слотов(Версия 1)
+
**columns/cols - Кол-во слотов   
**slots - Кол-во слотов(С версии 1.1)
 
**elements - Объект с названиями элементов(С версии 1.1, не обязательный)
 
***input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс)&nbsp;названия входных слотов
 
***output - Строка названия выходного слото
 
***progress - Строка названия шкалы прогресса 
 
**time -&nbsp;Длительность производства(С версии 1.1, не обязательный)    
 
  
| colspan="1" rowspan="5" style="width: 200px;" | Регистрация верстака без сетки
+
| colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака без сетки
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.registerCraftTable(string name, int slots)
+
| style="width: 385px;" | RecipeTE.registerCraftTable(string name, int slots)
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*name - Идентификатор/имя верстака  
 
*name - Идентификатор/имя верстака  
Строка 761: Строка 322:
  
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1.1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.registerCraftTable(string name, int slots, int time)
+
| style="width: 385px;" | RecipeTE.registerTimerGridCraftTable(object description)
| style="width: 379px;" |
 
*name - Идентификатор/имя верстака
 
*slots&nbsp;- Кол-во слотов
 
*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&nbsp;- Кол-во слотов
 
*elements - Объект с названиями элементов
 
**input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс)&nbsp;названия входных слотов
 
**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&nbsp;- Кол-во слотов
 
*elements - Объект с названиями элементов
 
**input - Массив строк(Кол-во жлементов должно быть равно ''columns * row'') или строка(Слоты должны иметь название ''elements.input'' + индекс)&nbsp;названия входных слотов
 
**output - Строка названия выходного слото
 
**progress - Строка названия шкалы прогресса 
 
*time - Длительность производства
 
 
 
|-
 
| style="width: 121px; text-align: center;" |
 
'''1'''<br/> ''Устаревшее в 1.1<br/> <span style="color:#e74c3c;"><span style="background-color:#ffffff;">Удалено в 1.2</span></span>''
 
 
 
| style="width: 326px;" | RecipeTE.registerTimerGridCraftTable(object description)
 
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*description- Описание верстака  
 
*description- Описание верстака  
Строка 805: Строка 333:
 
| colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака с сеткой, требующий время на производство
 
| colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака с сеткой, требующий время на производство
 
|-
 
|-
| style="width: 121px; text-align: center;" |  
+
| style="width: 61px; text-align: center;" | '''1'''
'''1'''<br/> ''Устаревшее в 1.1''<br/> ''<span style="color:#e74c3c;"><span style="background-color:#ffffff;">Удалено в 1.2</span></span>''
+
| style="width: 385px;" | RecipeTE.registerTimerGridCraftTable(string name, int columns, int rows, int timer)
 
 
| style="width: 326px;" | RecipeTE.registerTimerGridCraftTable(string name, int columns, int rows, int timer)
 
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*name - Идентификатор/имя верстака  
 
*name - Идентификатор/имя верстака  
Строка 816: Строка 342:
  
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.registerTimerCraftTable(object description)
+
| style="width: 385px;" | RecipeTE.registerTimerCraftTable(object description)
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*description- Описание верстака  
 
*description- Описание верстака  
Строка 826: Строка 352:
 
| colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака без сетки, требующий время на производство
 
| colspan="1" rowspan="2" style="width: 200px;" | Регистрация верстака без сетки, требующий время на производство
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.registerTimerCraftTable(string name, int slots, int timer)
+
| style="width: 385px;" | RecipeTE.registerTimerCraftTable(string name, int slots, int timer)
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*name - Идентификатор/имя верстака  
 
*name - Идентификатор/имя верстака  
Строка 834: Строка 360:
  
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.isRegistered(string name)
+
| style="width: 385px;" | RecipeTE.isRegistered(string name)
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*name -&nbsp;Идентификатор/имя верстака  
 
*name -&nbsp;Идентификатор/имя верстака  
Строка 841: Строка 367:
 
| style="width: 200px;" | Вернет true, если верстак зарегистрирован, иначе false
 
| style="width: 200px;" | Вернет true, если верстак зарегистрирован, иначе false
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.getMechanism(string name)
+
| style="width: 385px;" | RecipeTE.getMechanism(string name)
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*name -&nbsp;Идентификатор/имя верстака  
 
*name -&nbsp;Идентификатор/имя верстака  
Строка 848: Строка 374:
 
| style="width: 200px;" | Вернет описание верстака если он сущечтвует, иначе false
 
| style="width: 200px;" | Вернет описание верстака если он сущечтвует, иначе false
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients)
+
| style="width: 385px;" | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients, function craft)
| style="width: 379px;" |
 
*name - Идентификатор/имя верстака
 
*result&nbsp;- Результат крафта
 
**int id - ID предмета
 
**int count - Кол-во
 
**int data - Дата предмета 
 
*recipe&nbsp;- Строка, образующая&nbsp;рецепт
 
*ingridients&nbsp;- Объект ингридиентов
 
 
 
| colspan="1" rowspan="4" style="width: 200px;" | Добавить крафт для верстака ''name''
 
|-
 
| style="width: 121px; text-align: center;" | '''1'''
 
| style="width: 326px;" | RecipeTE.addRecipe(string name, object result, string recipe, object ingridients, function craft)
 
| style="width: 379px;" |
 
*name - Идентификатор/имя верстака
 
*result&nbsp;- Результат крафта
 
**int id - ID предмета
 
**int count - Кол-во
 
**int data - Дата предмета 
 
*recipe&nbsp;- Строка, образующая&nbsp;рецепт
 
*ingridients&nbsp;- Объект ингридиентов
 
*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&nbsp;- Результат крафта
 
**int id - ID предмета
 
**int count - Кол-во
 
**int data - Дата предмета 
 
*recipe&nbsp;- Строка, образующая&nbsp;рецепт
 
*ingridients&nbsp;- Объект ингридиентов
 
*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;" |  
 
| style="width: 379px;" |  
 
*name - Идентификатор/имя верстака  
 
*name - Идентификатор/имя верстака  
Строка 897: Строка 384:
 
*recipe&nbsp;- Строка, образующая&nbsp;рецепт  
 
*recipe&nbsp;- Строка, образующая&nbsp;рецепт  
 
*ingridients&nbsp;- Объект ингридиентов  
 
*ingridients&nbsp;- Объект ингридиентов  
*time_multiplier - Множитель времения(Только для верстаков с временем производства)
+
*craft - функция крафта(Не обязательный)  
*craft - функция крафта  
 
 
 
|-
 
| style="width: 121px; text-align: center;" | '''1'''
 
| style="width: 326px;" | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients)
 
| style="width: 379px;" |
 
*name - Идентификатор/имя верстака
 
*result&nbsp;- Результат крафта
 
**int id - ID предмета
 
**int count - Кол-во
 
**int data - Дата предмета 
 
*recipe&nbsp;- Массив строк, образующие рецепт
 
*ingridients&nbsp;- Объект ингридиентов
 
  
| colspan="1" rowspan="4" style="width: 200px;" | Добавить крафт для верстака с сеткой ''name''
+
| style="width: 200px;" | Добавить крафт для верстака ''name''
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients, function craft)
+
| style="width: 385px;" | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients, function craft)
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*name - Идентификатор/имя верстака  
 
*name - Идентификатор/имя верстака  
Строка 924: Строка 398:
 
*recipe&nbsp;- Массив строк, образующие рецепт  
 
*recipe&nbsp;- Массив строк, образующие рецепт  
 
*ingridients&nbsp;- Объект ингридиентов  
 
*ingridients&nbsp;- Объект ингридиентов  
*craft - Функция крафта  
+
*craft - Функция крафта (Не обязательный)
  
 +
| style="width: 200px;" | Добавить крафт для верстака с сеткой ''name''
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1.1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.addGridRecipe(string name, object result, string[] recipe, object ingridients, int time_multiplier)
+
| style="width: 385px;" | RecipeTE.getTickResipes(string name, TileEntity TE, function condition)
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
*name - Идентификатор/имя верстака
 
*result&nbsp;- Результат крафта
 
**int id - ID предмета
 
**int count - Кол-во
 
**int data - Дата предмета 
 
*recipe&nbsp;- Массив строк, образующие рецепт
 
*ingridients&nbsp;- Объект ингридиентов
 
*time_multiplier&nbsp;- Множитель времения(Только для верстаков с временем производства)
 
 
|-
 
| 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&nbsp;- Результат крафта
 
**int id - ID предмета
 
**int count - Кол-во
 
**int data - Дата предмета 
 
*recipe&nbsp;- Массив строк, образующие рецепт
 
*ingridients&nbsp;- Объект ингридиентов
 
*time_multiplier&nbsp;- Множитель времения(Только для верстаков с временем производства)
 
*craft - функция крафта
 
 
|-
 
| style="width: 121px; text-align: center;" | '''1'''<br/> ''Устаревшее в 1.1''<br/> ''<span style="color:#e74c3c;"><span style="background-color:#ffffff;">Удалено в 1.2</span></span>''
 
| style="width: 326px;" | RecipeTE.getTickResipes(string name, TileEntity TE, function condition)
 
| colspan="1" rowspan="2" style="width: 379px;" |
 
 
*name - Идентификатор/имя верстака  
 
*name - Идентификатор/имя верстака  
 
*TE&nbsp;- TileEntity  
 
*TE&nbsp;- TileEntity  
 
*condition -&nbsp;Функция условия (Не обязательный)  
 
*condition -&nbsp;Функция условия (Не обязательный)  
  
| colspan="1" rowspan="2" style="width: 200px;" | Обработчик тика для TileEntity
+
| style="width: 200px;" | Обработчик тика для TileEntity
|-
 
| style="width: 121px; text-align: center;" | '''1.1'''
 
| style="width: 326px;" | RecipeTE.getTickReсipes(string name, TileEntity TE, function condition)
 
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| colspan="2" rowspan="1" style="width: 709px;" | RecipeTE.outputSlotValid()
+
| colspan="2" rowspan="1" style="width: 385px;" | RecipeTE.outputSlotValid()
 
| style="width: 200px;" | Функция проверки слота результата
 
| style="width: 200px;" | Функция проверки слота результата
 
|-
 
|-
| style="width: 121px; text-align: center;" | '''1'''
+
| style="width: 61px; text-align: center;" | '''1'''
| style="width: 326px;" | RecipeTE.defaultCraftEvent(TileEntity TE, object workbench)
+
| style="width: 385px;" | RecipeTE.defaultCraftEvent(TileEntity TE, object workbench)
 
| style="width: 379px;" |  
 
| style="width: 379px;" |  
 
*TE&nbsp;- TileEntity  
 
*TE&nbsp;- TileEntity  
Строка 979: Строка 424:
 
|}
 
|}
  
</div>
+
&nbsp;
 
</div>
 
</div>

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии GNU Free Documentation License 1.3 или более поздняя (см. Mineprogramming wiki:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!