Текущая версия |
Ваш текст |
Строка 6: |
Строка 6: |
| <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"> |
Строка 48: |
Строка 46: |
| *Библиотека переписана | | *Библиотека переписана |
| *Добавлена возможность создавать бесформенные рецепты | | *Добавлена возможность создавать бесформенные рецепты |
− |
| |
− | |-
| |
− | | 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)
| |
| | | |
| |- | | |- |
Строка 76: |
Строка 66: |
| <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> == | |
| | | |
| === Инициализация === | | === Инициализация === |
Строка 85: |
Строка 74: |
| | | |
| === Верстак === | | === Верстак === |
− | <div class="mw-parser-output"><div class="mw-parser-output">
| + | |
| <div class="mw-parser-output"> | | <div class="mw-parser-output"> |
| ==== Регистрация верстака ==== | | ==== Регистрация верстака ==== |
Строка 155: |
Строка 144: |
| GuiScreen:Workbench_Grid //Интерфейс верстака | | GuiScreen:Workbench_Grid //Интерфейс верстака |
| //Так же тут можно(И нужно) описать поля TileEntity | | //Так же тут можно(И нужно) описать поля TileEntity |
− | });</syntaxhighlight> | + | }); |
| + | </syntaxhighlight> |
| </div> | | </div> |
| | | |
Строка 195: |
Строка 185: |
| } | | } |
| });</syntaxhighlight> | | });</syntaxhighlight> |
− | <div class="mw-parser-output"> </div> </div>
| + | |
| + | |
| + | </div> |
| | | |
| === Электрическая печь(Редстоун сигнал) === | | === Электрическая печь(Редстоун сигнал) === |
− | <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;">'''ВАЖНО!: '''Слоты, в которые нужно ложить предмет нужно называть "'''''inputSlot'''''"+ '''порядковое число''' слота, начиная с нуля, иначе указать имена слотов(или имя, если используются порядковые числа) при регистрации.<br/> Слот результата должен иметь название "'''''outputSlot'''''", иначе указать имя слота при регистрации.</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">
| |
| ==== Добавление рецептов для печи ==== | | ==== Добавление рецептов для печи ==== |
| | | |
− | Создание бесформенных рецептов для верстака происходит через метод '''''RecipeTE.addRecipe(name_workbench, result, ingredients)''''', где:
| |
− |
| |
− | *name_workbench - имя верстака
| |
− | *result - объект результата
| |
− | **id - ID предмета
| |
− | **count - Кол-во предмета
| |
− | **data - Дата предмета
| |
− | *ingredients - Массив ингредиентов
| |
− | <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"> |
− | <h3>Добавление ваших крафтов происходит автоматически.</h3>
| |
− |
| |
− | <p>В RecipeViewer переносятся только входные слоты и слот-результат. Для отображения дополнительных элементов, нужно добавить к элементу параметр RV.</p>
| |
− |
| |
− | <pre class="fck_mw_syntaxhighlight">
| |
− | <syntaxhighlight lang="JavaScript">
| |
− | {
| |
− | type: "bitmap",
| |
− | bitmap: "arrow",
| |
− | x: 600,
| |
− | y: 170,
| |
− | RV:true,
| |
− | scale: 4
| |
− | }</syntaxhighlight></pre>
| |
− |
| |
− | <p>Для задания своего интерфейса в RecipeViewer прототип должен иметь поле 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>. </div></p>
| |
− |
| |
− | <div class="mw-parser-output"> </div>
| |
− | </div>
| |
− |
| |
| === Полная документация === | | === Полная документация === |
| | | |
Строка 330: |
Строка 206: |
| |- | | |- |
| | style="text-align: center; vertical-align: top;" | '''2.0''' | | | 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;" | void RecipeTE.registerWorkbench(string name, object Info) |
| | style="text-align: center; vertical-align: top;" | | | | style="text-align: center; vertical-align: top;" | |
| *name - Имя верстака | | *name - Имя верстака |
Строка 431: |
Строка 307: |
| | style="vertical-align: top;" | Стандартная функция крафта | | | style="vertical-align: top;" | Стандартная функция крафта |
| |} | | |} |
− |
| |
− | </div> </div> </div> </div> </div> </div> </div> </div> </div>
| |
| </div> | | </div> |
| | | |