<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.mineprogramming.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=128.68.28.85&amp;*</id>
		<title>mineprogramming wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.mineprogramming.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=128.68.28.85&amp;*"/>
		<link rel="alternate" type="text/html" href="https://wiki.mineprogramming.org/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/128.68.28.85"/>
		<updated>2026-08-19T19:05:31Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.mineprogramming.org/index.php?title=InnerCore/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%BB%D0%BE%D0%BA%D0%BE%D0%B2_%D0%B8_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2&amp;diff=182</id>
		<title>InnerCore/Создание блоков и предметов</title>
		<link rel="alternate" type="text/html" href="https://wiki.mineprogramming.org/index.php?title=InnerCore/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%BB%D0%BE%D0%BA%D0%BE%D0%B2_%D0%B8_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2&amp;diff=182"/>
				<updated>2017-08-20T06:20:09Z</updated>
		
		<summary type="html">&lt;p&gt;128.68.28.85: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== Регистрация ID ===&lt;br /&gt;
&lt;br /&gt;
ID - уникальный идентефикатор блока\предмета, задается строкой и натуральным числом, которое сопоставляется этой строке. Чтобы зарегистрировать ID, используется модуль IDRegistry.&lt;br /&gt;
&lt;br /&gt;
Для регистрации ID блока используется метод IDRegistry.genBlockID(&amp;quot;строковый ID&amp;quot;) - после вызова этой функции сгенерируется новый уникальный ID для блока, доступ к числовому значению которого может быть произведен как BlockID.&amp;lt;строковый ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для регистрации ID предмета используется метод IDRegistry.genItemID(&amp;quot;строковый ID&amp;quot;) - после вызова этой функции сгенерируется новый уникальный ID для предмета, доступ к числовому значению которого может быть произведен как ItemID.&amp;lt;строковый ID&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Примеры:&lt;br /&gt;
&amp;lt;pre&amp;gt;IDRegistry.genBlockID(&amp;quot;testBlock&amp;quot;); // доступ BlockID.testBlock&lt;br /&gt;
IDRegistry.genItemID(&amp;quot;testItem&amp;quot;); // доступ ItemID.testItem&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Текстуры ===&lt;br /&gt;
&lt;br /&gt;
В ресурсах мода текстуры блоков и предметов задаются в определенном формате: каждая текстура должна быть в формате .png и имеет имя и номер, название любой текстуры выглядит так: имя_номер.png и никак иначе. Номера текстур с одним именем должны идти последовательно и начинаться с 0.&lt;br /&gt;
&lt;br /&gt;
Текстуры блоков в ресурспаке располагаются по адресу images/terrain-atlas/&lt;br /&gt;
&lt;br /&gt;
Текстуры предметов&amp;amp;nbsp;в ресурспаке располагаются по адресу images/items-opaque/&lt;br /&gt;
&lt;br /&gt;
=== Создание блоков ===&lt;br /&gt;
&lt;br /&gt;
После регистрации ID для блока, создается сам блок на этом ID. На одном ID может быть создано несколько вариаций блока, каждая из которых обладает своим именем и текстурой, разные вариации одного блока в мире будут иметь один ID, но разные значения metadata, подробнее об этом будет позднее. Для создания блоков используется модуль Block.&lt;br /&gt;
&lt;br /&gt;
Метод Block.createBlock(&amp;quot;строковый ID&amp;quot;, [вариация1, вариация2, ...]) - создает блок и все его вариации на ранее зарегистрированном ID, если вариация 1, то просто создает данный блок.&lt;br /&gt;
&lt;br /&gt;
Каждая вариация в массиве имеет формат {name: &amp;quot;имя вариации&amp;quot;, texture: [[&amp;quot;текстура 1&amp;quot;, &amp;lt;номер текстуры 1&amp;gt;], [&amp;quot;текстура 2&amp;quot;, &amp;lt;номер текстуры 2&amp;gt;], [&amp;quot;текстура 3&amp;quot;, &amp;lt;номер текстуры 3&amp;gt;], [&amp;quot;текстура 4&amp;quot;, &amp;lt;номер текстуры 4&amp;gt;], [&amp;quot;текстура 5&amp;quot;, &amp;lt;номер текстуры 5&amp;gt;], [&amp;quot;текстура 6&amp;quot;, &amp;lt;номер текстуры 6&amp;gt;]], inCreative: true/false (добавлять ли данную вариацию блока в креатив)}. Если текстур указано меньше, чем 6, то последняя из них будет дублирована несколько раз, чтобы дополнить их кол-во до 6.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&amp;lt;pre&amp;gt;IDRegistry.genBlockID(&amp;quot;testBlock&amp;quot;); // регистрация&lt;br /&gt;
Block.createBlock(&amp;quot;testBlock&amp;quot;, [&lt;br /&gt;
     {name: &amp;quot;test block&amp;quot;, texture: [[&amp;quot;planks&amp;quot;, 0], [&amp;quot;planks&amp;quot;, 0], [&amp;quot;planks&amp;quot;, 0], [&amp;quot;planks&amp;quot;, 0], [&amp;quot;planks&amp;quot;, 0], [&amp;quot;planks&amp;quot;, 0]], inCreative: true}&lt;br /&gt;
]) // создание простого блока на ID &amp;quot;testBlock&amp;quot; с текстурой досок на всех сторонах, будет добавлен в креатив&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Создание блоков с поворотом ====&lt;br /&gt;
&lt;br /&gt;
Метод Block.createBlockWithRotation -&amp;amp;nbsp;&amp;amp;nbsp;принимает те же аргументы, что и Block.createBlock, но для каждой вариации блока создает 4 вариации, которые реализуют поворот, блок, созданный этим методом, автоматически будет ставиться с нужным поворотом.&lt;br /&gt;
&lt;br /&gt;
=== Создание предметов ===&lt;br /&gt;
&lt;br /&gt;
После регистрации ID предмета, создается сам предмет на этом ID. Предметы могут быть разных типов: обычный, броня, еда и кидаемый, для каждого из них существует свой метод. Для создания предметов используется модуль Item. Каждый предмет имеет текстуру, которая задается в формате {name: &amp;quot;имя текстуры&amp;quot;, meta: &amp;lt;номер текстуры&amp;gt;}, если номер текстуры 0, его можно не указывать.&lt;br /&gt;
&amp;lt;pre&amp;gt;Item.createItem(&amp;quot;строковый ID&amp;quot;, &amp;quot;имя предмета&amp;quot;, текстура, параметры) - создает обычный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&lt;br /&gt;
&amp;lt;pre&amp;gt;{&lt;br /&gt;
     isTech: false, // если true, не добавляет предмет в креатив&lt;br /&gt;
     stack: 64 // размер стака&lt;br /&gt;
} &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Создание еды ====&lt;br /&gt;
&amp;lt;pre&amp;gt;Item.createFoodItem(&amp;quot;строковый ID&amp;quot;, &amp;quot;имя предмета&amp;quot;, текстура, параметры) - создает съедобный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&lt;br /&gt;
&amp;lt;pre&amp;gt;{&lt;br /&gt;
     isTech: false,// если true, не добавляет предмет в креатив&lt;br /&gt;
     stack: 64, // размер стака&lt;br /&gt;
     food: 1 // восполнение здоровья едой&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Создание кидаемого предмета ====&lt;br /&gt;
&amp;lt;pre&amp;gt;Item.createThrowableItem(&amp;quot;строковый ID&amp;quot;, &amp;quot;имя предмета&amp;quot;, текстура, параметры) - создает кидаемый предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&lt;br /&gt;
&amp;lt;pre&amp;gt;{&lt;br /&gt;
     isTech: false, // если true, не добавляет предмет в креатив&lt;br /&gt;
     stack: 64 // размер стака&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Создание брони ====&lt;br /&gt;
&amp;lt;pre&amp;gt;Item.createArmorItem(&amp;quot;строковый ID&amp;quot;, &amp;quot;имя предмета&amp;quot;, текстура, параметры) - создает предмет брони на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&lt;br /&gt;
&amp;lt;pre&amp;gt;{&lt;br /&gt;
     isTech: false, // если true, не добавляет предмет в креатив&lt;br /&gt;
     armor: 1, // значение брони&lt;br /&gt;
     type: &amp;lt;обязательное значение&amp;gt;, // тип предмета &amp;quot;helmet&amp;quot;/&amp;quot;chestplate&amp;quot;/&amp;quot;leggings&amp;quot;/&amp;quot;boots&amp;quot;&lt;br /&gt;
     texture: &amp;lt;обязательное значение&amp;gt;, // текстура модели данного предмета брони&lt;br /&gt;
     durability: 1 // прочность&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Пример ===&lt;br /&gt;
&amp;lt;pre&amp;gt;IDRegistry.genItemID(&amp;quot;testItem&amp;quot;);&lt;br /&gt;
Item.createItem(&amp;quot;testItem&amp;quot;, &amp;quot;test item&amp;quot;, {name: &amp;quot;stick&amp;quot;, meta: 0}, {}); // создаем обычный предмет на ID testItem с текстурой палки и стандартными параметрами&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>128.68.28.85</name></author>	</entry>

	</feed>