SaloEater (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | == | + | === Регистрация ID === |
ID - уникальный идентефикатор блока\предмета, задается строкой и натуральным числом, которое сопоставляется этой строке. Чтобы зарегистрировать ID, используется модуль IDRegistry. | ID - уникальный идентефикатор блока\предмета, задается строкой и натуральным числом, которое сопоставляется этой строке. Чтобы зарегистрировать ID, используется модуль IDRegistry. | ||
Строка 9: | Строка 9: | ||
Примеры: | Примеры: | ||
− | < | + | <pre>IDRegistry.genBlockID("testBlock"); // доступ BlockID.testBlock |
− | + | IDRegistry.genItemID("testItem"); // доступ ItemID.testItem</pre> | |
− | + | ||
− | + | === Текстуры === | |
− | </ | ||
− | == | ||
В ресурсах мода текстуры блоков и предметов задаются в определенном формате: каждая текстура должна быть в формате .png и имеет имя и номер, название любой текстуры выглядит так: имя_номер.png и никак иначе. Номера текстур с одним именем должны идти последовательно и начинаться с 0. | В ресурсах мода текстуры блоков и предметов задаются в определенном формате: каждая текстура должна быть в формате .png и имеет имя и номер, название любой текстуры выглядит так: имя_номер.png и никак иначе. Номера текстур с одним именем должны идти последовательно и начинаться с 0. | ||
Строка 22: | Строка 20: | ||
Текстуры блоков в ресурспаке располагаются по адресу images/items-opaque/ | Текстуры блоков в ресурспаке располагаются по адресу images/items-opaque/ | ||
− | == | + | === Создание блоков === |
После регистрации ID для блока, создается сам блок на этом ID. На одном ID может быть создано несколько вариаций блока, каждая из которых обладает своим именем и текстурой, разные вариации одного блока в мире будут иметь один ID, но разные значения metadata, подробнее об этом будет позднее. Для создания блоков используется модуль Block. | После регистрации ID для блока, создается сам блок на этом ID. На одном ID может быть создано несколько вариаций блока, каждая из которых обладает своим именем и текстурой, разные вариации одного блока в мире будут иметь один ID, но разные значения metadata, подробнее об этом будет позднее. Для создания блоков используется модуль Block. | ||
Строка 31: | Строка 29: | ||
'''Пример''': | '''Пример''': | ||
− | < | + | <pre>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" с текстурой досок на всех сторонах, будет добавлен в креатив | |
− | + | </pre> | |
− | |||
− | |||
− | |||
− | </ | ||
− | |||
− | === | + | ==== Создание блоков с поворотом ==== |
Метод Block.createBlockWithRotation - принимает те же аргументы, что и Block.createBlock, но для каждой вариации блока создает 4 вариации, которые реализуют поворот, блок, созданный этим методом, автоматически будет ставиться с нужным поворотом. | Метод Block.createBlockWithRotation - принимает те же аргументы, что и Block.createBlock, но для каждой вариации блока создает 4 вариации, которые реализуют поворот, блок, созданный этим методом, автоматически будет ставиться с нужным поворотом. | ||
− | == | + | === Создание предметов === |
После регистрации ID предмета, создается сам предмет на этом ID. Предметы могут быть разных типов: обычный, броня, еда и кидаемый, для каждого из них существует свой метод. Для создания предметов используется модуль Item. Каждый предмет имеет текстуру, которая задается в формате {name: "имя текстуры", meta: <номер текстуры>}, если номер текстуры 0, его можно не указывать. | После регистрации ID предмета, создается сам предмет на этом ID. Предметы могут быть разных типов: обычный, броня, еда и кидаемый, для каждого из них существует свой метод. Для создания предметов используется модуль Item. Каждый предмет имеет текстуру, которая задается в формате {name: "имя текстуры", meta: <номер текстуры>}, если номер текстуры 0, его можно не указывать. | ||
− | < | + | <pre>Item.createItem("строковый ID", "имя предмета", текстура, параметры) - создает обычный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.</pre> |
− | + | ||
− | </ | ||
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | ||
− | < | + | <pre>{ |
− | + | isTech: false, // если true, не добавляет предмет в креатив | |
− | + | stack: 64 // размер стака | |
− | + | } </pre> | |
− | + | ==== Создание еды ==== | |
+ | <pre>Item.createFoodItem("строковый ID", "имя предмета", текстура, параметры) - создает съедобный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.</pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | ||
− | < | + | <pre>{ |
− | + | isTech: false,// если true, не добавляет предмет в креатив | |
− | + | stack: 64, // размер стака | |
− | + | food: 1 // восполнение здоровья едой | |
+ | }</pre> | ||
− | + | ==== Создание кидаемого предмета ==== | |
+ | <pre>Item.createThrowableItem("строковый ID", "имя предмета", текстура, параметры) - создает кидаемый предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.</pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | ||
− | < | + | <pre>{ |
− | + | isTech: false, // если true, не добавляет предмет в креатив | |
+ | stack: 64 // размер стака | ||
+ | }</pre> | ||
− | + | ==== Создание брони ==== | |
+ | <pre>Item.createArmorItem("строковый ID", "имя предмета", текстура, параметры) - создает предмет брони на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.</pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их: | ||
− | < | + | <pre>{ |
− | + | isTech: false, // если true, не добавляет предмет в креатив | |
− | + | armor: 1, // значение брони | |
− | + | type: <обязательное значение>, // тип предмета "helmet"/"chestplate"/"leggings"/"boots" | |
− | + | texture: <обязательное значение>, // текстура модели данного предмета брони | |
− | + | durability: 1 // прочность | |
− | + | }</pre> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </ | ||
− | |||
− | |||
− | |||
− | + | === Пример === | |
− | </ | + | <pre>IDRegistry.genItemID("testItem"); |
+ | Item.createItem("testItem", "test item", {name: "stick", meta: 0}, {}); // создаем обычный предмет на ID testItem с текстурой палки и стандартными параметрами</pre> |
ID - уникальный идентефикатор блока\предмета, задается строкой и натуральным числом, которое сопоставляется этой строке. Чтобы зарегистрировать ID, используется модуль IDRegistry.
Для регистрации ID блока используется метод IDRegistry.genBlockID("строковый ID") - после вызова этой функции сгенерируется новый уникальный ID для блока, доступ к числовому значению которого может быть произведен как BlockID.<строковый ID>
Для регистрации ID предмета используется метод IDRegistry.genItemID("строковый ID") - после вызова этой функции сгенерируется новый уникальный ID для предмета, доступ к числовому значению которого может быть произведен как ItemID.<строковый ID>
Примеры:
IDRegistry.genBlockID("testBlock"); // доступ BlockID.testBlock IDRegistry.genItemID("testItem"); // доступ ItemID.testItem
В ресурсах мода текстуры блоков и предметов задаются в определенном формате: каждая текстура должна быть в формате .png и имеет имя и номер, название любой текстуры выглядит так: имя_номер.png и никак иначе. Номера текстур с одним именем должны идти последовательно и начинаться с 0.
Текстуры блоков в ресурспаке располагаются по адресу images/terrain-atlas/
Текстуры блоков в ресурспаке располагаются по адресу images/items-opaque/
После регистрации ID для блока, создается сам блок на этом ID. На одном ID может быть создано несколько вариаций блока, каждая из которых обладает своим именем и текстурой, разные вариации одного блока в мире будут иметь один ID, но разные значения metadata, подробнее об этом будет позднее. Для создания блоков используется модуль Block.
Метод 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.
Пример:
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" с текстурой досок на всех сторонах, будет добавлен в креатив
Метод Block.createBlockWithRotation - принимает те же аргументы, что и Block.createBlock, но для каждой вариации блока создает 4 вариации, которые реализуют поворот, блок, созданный этим методом, автоматически будет ставиться с нужным поворотом.
После регистрации ID предмета, создается сам предмет на этом ID. Предметы могут быть разных типов: обычный, броня, еда и кидаемый, для каждого из них существует свой метод. Для создания предметов используется модуль Item. Каждый предмет имеет текстуру, которая задается в формате {name: "имя текстуры", meta: <номер текстуры>}, если номер текстуры 0, его можно не указывать.
Item.createItem("строковый ID", "имя предмета", текстура, параметры) - создает обычный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:
{ isTech: false, // если true, не добавляет предмет в креатив stack: 64 // размер стака }
Item.createFoodItem("строковый ID", "имя предмета", текстура, параметры) - создает съедобный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:
{ isTech: false,// если true, не добавляет предмет в креатив stack: 64, // размер стака food: 1 // восполнение здоровья едой }
Item.createThrowableItem("строковый ID", "имя предмета", текстура, параметры) - создает кидаемый предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:
{ isTech: false, // если true, не добавляет предмет в креатив stack: 64 // размер стака }
Item.createArmorItem("строковый ID", "имя предмета", текстура, параметры) - создает предмет брони на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:
{ isTech: false, // если true, не добавляет предмет в креатив armor: 1, // значение брони type: <обязательное значение>, // тип предмета "helmet"/"chestplate"/"leggings"/"boots" texture: <обязательное значение>, // текстура модели данного предмета брони durability: 1 // прочность }
IDRegistry.genItemID("testItem"); Item.createItem("testItem", "test item", {name: "stick", meta: 0}, {}); // создаем обычный предмет на ID testItem с текстурой палки и стандартными параметрами