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

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

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 94: Строка 94:
 
</div>
 
</div>
  
<div class="mw-parser-output">
 
 
=== ITEM_GRID_PAGE ===
 
=== ITEM_GRID_PAGE ===
  
Контроллер ''ITEM_GRID_PAGE ''позволяет располагать предметы сеткой.
 
<syntaxhighlight lang="JavaScript">{
 
    controller: PageControllers.ITEM_GRID_PAGE,
 
    columns: 8,
 
    item_size: 30,
 
    items: [
 
        { id: 1, data: 1, count: 34 },
 
        { id: 264, link: "test" },
 
        {
 
            id: 265,
 
            clicker: {
 
                onClick: function() {
 
                    alert("CLICK!!!!!!!!!!!!!!!!!!11");
 
                }
 
            }
 
        },
 
        { id: 4 },
 
        { id: 5 },
 
        { id: 6 },
 
        { id: 7 },
 
        { id: 8 },
 
        { id: 9 },
 
        { id: 10 },
 
    ],
 
    elements: [
 
        { text: "HELLO", size: 15, underline: true, bold: true }
 
    ]
 
}</syntaxhighlight>
 
 
'''''items''''' – массив из отображаемых предметов<br/> '''''сolumns''''' – количество колонок. По умолчанию 6<br/> '''''item_size''''' – размер предмета. По умолчанию 60<br/> Параметры для предметов:
 
 
*'''''link''''' – идентификатор страница, на которую будет осуществлён переход при клике на текст
 
*'''''clicker''''' – объект клика.
 
**<u>''onClick''</u> – короткий клик
 
**''<u>onLongClick</u>'' - длинный 
 
</div>
 
 
<div class="mw-parser-output">
 
 
=== OTO_RECIPE_PAGE ===
 
=== OTO_RECIPE_PAGE ===
  
Котроллер ''OTO_RECIPE_PAGE'' позволяет создавать страницы с рецептами ''“Один к одному”''.
 
<syntaxhighlight lang="JavaScript">{
 
    controller: PageControllers.OTO_RECIPE_PAGE,
 
    title: "Furnace Recipe",
 
    type: 0,
 
    bar_texture: "furnace_bar_guide",
 
    recipes: [
 
        {
 
            input: { id: 4, data: 1, count: 10 },
 
            output: { id: 264 }
 
        },
 
        {
 
            input: { id: 264 },
 
            output: { id: 265 }
 
        }
 
    ],
 
    elements: [
 
        { text: "Text" },
 
        { text: "And Text" },
 
    ]
 
}</syntaxhighlight>
 
 
Если '''''type''''' равен 0, '''''recipes''''' – массив из объектов, в которых содержится предмет на вход'''''(input)''''' и предмет на выход'''''(output)'''''.
 
<syntaxhighlight lang="JavaScript">{
 
    controller: PageControllers.OTO_RECIPE_PAGE,
 
    title: "Furnace Recipe",
 
    type: 1,
 
    bar_texture: "furnace_bar_guide",
 
    recipes: [
 
        { id: 1 },
 
        { id: 17, data: 1 }
 
    ],
 
    elements: [
 
        { text: "This is type 1" }
 
    ]
 
}</syntaxhighlight>
 
 
Если '''''type''''' равен 1, '''''recipes''''' – массив из объектов, которые содержат информацию о предмет на вход. В выходной слот будет помещаться результат обработки указанного предмета в печи.<br/> Остальные параметры:
 
 
*'''''title''''' – заголовок страницы
 
*'''''bar_texture''''' – текстура для индикатора прогресса
 
</div>
 
 
<div class="mw-parser-output">
 
 
=== GRID_3x3_PAGE ===
 
=== GRID_3x3_PAGE ===
  
Котроллер ''GRID_3x3_PAGE'' позволяет создавать страницы рецептов с сеткой 3x3.
 
<syntaxhighlight lang="JavaScript">{
 
    controller: PageControllers.GRID_3x3_PAGE,
 
    title: "Workbench Recipe",
 
    recipes: [{
 
        grid: [
 
            ["b", "b", "b"],
 
            ["b", "g", "b"],
 
            ["b", "8", "b"]
 
        ],
 
        materials: {
 
            "b": { id: 4, data: 0 },
 
            "g": { id: 1, data: 0 },
 
        },
 
        result: { id: 61, count: 3 }
 
    }],
 
    elements: [
 
        { text: "Text"}
 
    ],
 
}
 
</syntaxhighlight>
 
</div>
 
 
<div class="mw-parser-output">
 
 
=== Создание собственных контроллеров ===
 
=== Создание собственных контроллеров ===
 
Для создания собственных контроллеров необходимо в поле ''controller'' передать функцию, которая будет рисовать элементы на странице.
 
<syntaxhighlight lang="JavaScript">PageControllers["MY_TEST_PAGE"] = function(params, elements, container, section) {
 
    let x = section === "left" ? 50 : 550;
 
    elements["text_" + section + "_" + i] = {
 
        type: "text",
 
        x: section,
 
        y: 40,
 
        text: params.title
 
    };
 
 
    if (params.elements)
 
        GuideHelper.drawTextArray(params.elements, x, 55, globalSize, elements, section);
 
};
 
//...
 
{
 
    controller: PageControllers.MY_TEST_PAGE,
 
    title: "I'm title",
 
    elements: [
 
        { text: "Text" }
 
    ],
 
}
 
//...</syntaxhighlight>
 
 
Передаваемые аргументы:
 
 
*'''''params''''' – объект секции, для которой вызывается функция
 
*'''''elements''''' – элементы интерфейса
 
*'''''container''''' – контейнер интерфейса
 
*'''''section''''' – название секции(left, right)
 
 
</div>
 
</div>

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