Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
− | |||
− | |||
− | ID - уникальный | + | {| |
+ | |- | ||
+ | | | ||
+ | {| id="internal_wrapper" | ||
+ | |- | ||
+ | | id="pageContentMiddle" | | ||
+ | {| | ||
+ | |- | ||
+ | | id="workZone_article" | | ||
+ | = '''1.1 Создание блоков и предметов''' = | ||
+ | |||
+ | == 1. РЕГИСТРАЦИЯ ID == | ||
+ | |||
+ | ID - уникальный идентефикатор блока\предмета, задается строкой и натуральным числом, которое сопоставляется этой строке. Чтобы зарегистрировать ID, используется модуль IDRegistry. | ||
Для регистрации ID блока используется метод IDRegistry.genBlockID("строковый ID") - после вызова этой функции сгенерируется новый уникальный ID для блока, доступ к числовому значению которого может быть произведен как BlockID.<строковый ID> | Для регистрации ID блока используется метод IDRegistry.genBlockID("строковый ID") - после вызова этой функции сгенерируется новый уникальный ID для блока, доступ к числовому значению которого может быть произведен как BlockID.<строковый ID> | ||
Строка 8: | Строка 19: | ||
Для регистрации ID предмета используется метод IDRegistry.genItemID("строковый ID") - после вызова этой функции сгенерируется новый уникальный ID для предмета, доступ к числовому значению которого может быть произведен как ItemID.<строковый ID> | Для регистрации ID предмета используется метод IDRegistry.genItemID("строковый ID") - после вызова этой функции сгенерируется новый уникальный ID для предмета, доступ к числовому значению которого может быть произведен как ItemID.<строковый ID> | ||
− | Примеры: | + | '''Примеры''': |
− | < | + | <blockquote> |
− | IDRegistry.genItemID("testItem"); // доступ ItemID.testItem</ | + | ''IDRegistry.genBlockID("testBlock"); // ''доступ BlockID.testBlock |
− | + | ||
− | == | + | ''IDRegistry.genItemID("testItem"); // ''доступ ItemID.testItem--[[User:SaloEater|SaloEater]] ([[User_talk:SaloEater|talk]]) 20:12, 7 July 2017 (EEST) |
+ | |||
+ | | ||
+ | </blockquote> | ||
+ | ---- | ||
+ | |||
+ | == 2. ТЕКСТУРЫ == | ||
В ресурсах мода текстуры блоков и предметов задаются в определенном формате: каждая текстура должна быть в формате .png и имеет имя и номер, название любой текстуры выглядит так: имя_номер.png и никак иначе. Номера текстур с одним именем должны идти последовательно и начинаться с 0. | В ресурсах мода текстуры блоков и предметов задаются в определенном формате: каждая текстура должна быть в формате .png и имеет имя и номер, название любой текстуры выглядит так: имя_номер.png и никак иначе. Номера текстур с одним именем должны идти последовательно и начинаться с 0. | ||
− | Текстуры блоков в ресурспаке располагаются по адресу | + | Текстуры блоков в ресурспаке располагаются по адресу images/terrain-atlas/ |
+ | |||
+ | Текстуры блоков в ресурспаке располагаются по адресу images/items-opaque/ | ||
− | + | ---- | |
− | + | == 3. СОЗДАНИЕ БЛОКОВ == | |
− | |||
− | == | ||
После регистрации ID для блока, создается сам блок на этом ID. На одном ID может быть создано несколько вариаций блока, каждая из которых обладает своим именем и текстурой, разные вариации одного блока в мире будут иметь один ID, но разные значения metadata, подробнее об этом будет позднее. Для создания блоков используется модуль Block. | После регистрации ID для блока, создается сам блок на этом ID. На одном ID может быть создано несколько вариаций блока, каждая из которых обладает своим именем и текстурой, разные вариации одного блока в мире будут иметь один ID, но разные значения metadata, подробнее об этом будет позднее. Для создания блоков используется модуль Block. | ||
Строка 28: | Строка 45: | ||
Метод Block.createBlock("строковый ID", [вариация1, вариация2, ...]) - создает блок и все его вариации на ранее зарегистрированном ID, если вариация 1, то просто создает данный блок. | Метод Block.createBlock("строковый ID", [вариация1, вариация2, ...]) - создает блок и все его вариации на ранее зарегистрированном ID, если вариация 1, то просто создает данный блок. | ||
− | Каждая вариация в массиве имеет формат | + | Каждая вариация в массиве имеет формат {name: "имя вариации", texture: [["текстура 1", <номер текстуры 1>], ["текстура 2", <номер текстуры 2>], ["текстура 3", <номер текстуры 3>], ["текстура 4", <номер текстуры 4>], ["текстура 5", <номер текстуры 5>], ["текстура 6", <номер текстуры 6>]], inCreative: true/false (добавлять ли данную вариацию блока в креатив)}. Если текстур указано меньше, чем 6, то последняя из них будет дублирована несколько раз, чтобы дополнить их кол-во до 6. |
− | + | ||
− | + | '''Пример''': | |
− | + | <blockquote> | |
− | + | ''IDRegistry.genBlockID("testBlock"); ''// регистрация | |
− | + | ||
− | + | ''Block.createBlock("testBlock", ['' | |
− | + | ||
− | + | '' {name: "test block", texture: [["planks", 0], ["planks", 0], ["planks", 0], ["planks", 0], ["planks", 0], ["planks", 0]], inCreative: true}'' | |
− | + | ||
− | + | ''])'' // создание простого блока на ID "testBlock" с текстурой досок на всех сторонах, будет добавлен в креатив | |
− | + | </blockquote> | |
− | }</ | + | ---- |
+ | |||
+ | == 3.1 СОЗДАНИЕ БЛОКА С ПОВОРОТОМ == | ||
− | + | Метод Block.createBlockWithRotation - принимает те же аргументы, что и Block.createBlock, но для каждой вариации блока создает 4 вариации, которые реализуют поворот, блок, созданный этим методом, автоматически будет ставиться с нужным поворотом. | |
− | + | ---- | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == 4. СОЗДАНИЕ ПРЕДМЕТОВ == | |
− | |||
− | |||
После регистрации ID предмета, создается сам предмет на этом ID. Предметы могут быть разных типов: обычный, броня, еда и кидаемый, для каждого из них существует свой метод. Для создания предметов используется модуль Item. Каждый предмет имеет текстуру, которая задается в формате {name: "имя текстуры", meta: <номер текстуры>}, если номер текстуры 0, его можно не указывать. | После регистрации ID предмета, создается сам предмет на этом ID. Предметы могут быть разных типов: обычный, броня, еда и кидаемый, для каждого из них существует свой метод. Для создания предметов используется модуль Item. Каждый предмет имеет текстуру, которая задается в формате {name: "имя текстуры", meta: <номер текстуры>}, если номер текстуры 0, его можно не указывать. | ||
+ | <blockquote> | ||
+ | ''Item.createItem("строковый ID", "имя предмета", текстура, параметры) ''- создает обычный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами. | ||
+ | </blockquote> | ||
+ | Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | ||
+ | <blockquote> | ||
+ | ''{'' | ||
+ | |||
+ | '' isTech: false'', // если true, не добавляет предмет в креатив | ||
+ | |||
+ | '' stack: 64 ''// размер стака | ||
+ | |||
+ | ''} '' | ||
+ | </blockquote> | ||
+ | ---- | ||
+ | |||
+ | | ||
+ | <blockquote> | ||
+ | ''Item.createFoodItem("строковый ID", "имя предмета", текстура, параметры)'' - создает съедобный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами. | ||
+ | </blockquote> | ||
+ | Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | ||
+ | <blockquote> | ||
+ | ''{'' | ||
+ | |||
+ | '' isTech: false'', // если true, не добавляет предмет в креатив | ||
+ | |||
+ | '' stack: 64'', // размер стака | ||
+ | |||
+ | '' food: 1'', // восполнение здоровья едой | ||
+ | |||
+ | ''}'' | ||
+ | </blockquote> | ||
+ | ---- | ||
+ | <blockquote> | ||
+ | ''Item.createThrowableItem("строковый ID", "имя предмета", текстура, параметры)'' - создает кидаемый предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами. | ||
+ | </blockquote> | ||
+ | Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | ||
+ | <blockquote> | ||
+ | ''{'' | ||
+ | |||
+ | '' isTech: false'', // если true, не добавляет предмет в креатив | ||
− | + | '' stack: 64 ''// размер стака | |
− | Параметры имеют формат, если вы не хотите изменять значения по умолчанию, просто не пишите их: | + | ''}'' |
− | < | + | </blockquote> |
− | + | ---- | |
− | + | <blockquote> | |
− | + | ''- Item.createArmorItem("строковый ID", "имя предмета", текстура, параметры) ''- создает предмет брони на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами. | |
+ | </blockquote> | ||
+ | Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | ||
+ | <blockquote> | ||
+ | ''{'' | ||
− | '' | + | '' isTech: false'', // если true, не добавляет предмет в креатив |
− | |||
− | |||
− | + | '' armor: 1'', // значение брони | |
− | + | '' type: <обязательное значение>'', // тип предмета "helmet"/"chestplate"/"leggings"/"boots" | |
− | + | '' texture: <обязательное значение>'', // текстура модели данного предмета брони | |
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | + | '' durability: 1 ''// прочность | |
− | + | ''}'' | |
+ | </blockquote> | ||
+ | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Пример''': | '''Пример''': | ||
− | < | + | <blockquote> |
− | Item. | + | ''IDRegistry.genItemID("testItem");'' |
− | + | ||
− | + | ''Item.createItem("testItem", "test item", {name: "stick", meta: 0}, {}); ''// создаем обычный предмет на ID testItem с текстурой палки и стандартными параметрами | |
− | + | </blockquote> | |
− | + | |} | |
− | + | |} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | |} | |
− | |||
− | |||
− | |||
− | |||
− |