<?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=89.40.193.42&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=89.40.193.42&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/89.40.193.42"/>
		<updated>2026-08-19T21:43:29Z</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=1652</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=1652"/>
				<updated>2018-07-09T09:42:38Z</updated>
		
		<summary type="html">&lt;p&gt;89.40.193.42: Мелкая правка в примерах&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Регистрация ID&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;ID - уникальный идентефикатор блока\предмета, задается строкой и натуральным числом, которое сопоставляется этой строке. Чтобы зарегистрировать ID, используется модуль IDRegistry.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Для регистрации ID блока используется метод IDRegistry.genBlockID(&amp;amp;quot;строковый ID&amp;amp;quot;) - после вызова этой функции сгенерируется новый уникальный ID для блока, доступ к числовому значению которого может быть произведен как BlockID.&amp;amp;lt;строковый ID&amp;amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Для регистрации ID предмета используется метод IDRegistry.genItemID(&amp;amp;quot;строковый ID&amp;amp;quot;) - после вызова этой функции сгенерируется новый уникальный ID для предмета, доступ к числовому значению которого может быть произведен как ItemID.&amp;amp;lt;строковый ID&amp;amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Примеры:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IDRegistry.genBlockID(&amp;amp;quot;testBlock&amp;amp;quot;); // доступ BlockID.testBlock&lt;br /&gt;
IDRegistry.genItemID(&amp;amp;quot;testItem&amp;amp;quot;); // доступ ItemID.testItem&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Текстуры&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;В ресурсах мода текстуры блоков и предметов задаются в определенном формате: каждая текстура должна быть в формате .png и имеет имя и номер, название любой текстуры выглядит так: имя_номер.png и никак иначе. Номера текстур с одним именем должны идти последовательно и начинаться с 0.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Текстуры блоков в ресурспаке располагаются по адресу images/terrain-atlas/&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Текстуры предметов&amp;amp;nbsp;в ресурспаке располагаются по адресу images/items-opaque/&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Создание блоков&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;После регистрации ID для блока, создается сам блок на этом ID. На одном ID может быть создано несколько вариаций блока, каждая из которых обладает своим именем и текстурой, разные вариации одного блока в мире будут иметь один ID, но разные значения metadata, подробнее об этом будет позднее. Для создания блоков используется модуль Block.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Метод Block.createBlock(&amp;amp;quot;строковый ID&amp;amp;quot;, [вариация1, вариация2, ...]) - создает блок и все его вариации на ранее зарегистрированном ID, если вариация 1, то просто создает данный блок.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Каждая вариация в массиве имеет формат {name: &amp;amp;quot;имя вариации&amp;amp;quot;, texture: [[&amp;amp;quot;текстура 1&amp;amp;quot;, &amp;amp;lt;номер текстуры 1&amp;amp;gt;], [&amp;amp;quot;текстура 2&amp;amp;quot;, &amp;amp;lt;номер текстуры 2&amp;amp;gt;], [&amp;amp;quot;текстура 3&amp;amp;quot;, &amp;amp;lt;номер текстуры 3&amp;amp;gt;], [&amp;amp;quot;текстура 4&amp;amp;quot;, &amp;amp;lt;номер текстуры 4&amp;amp;gt;], [&amp;amp;quot;текстура 5&amp;amp;quot;, &amp;amp;lt;номер текстуры 5&amp;amp;gt;], [&amp;amp;quot;текстура 6&amp;amp;quot;, &amp;amp;lt;номер текстуры 6&amp;amp;gt;]], inCreative: true/false (добавлять ли данную вариацию блока в креатив)}. Если текстур указано меньше, чем 6, то последняя из них будет дублирована несколько раз, чтобы дополнить их кол-во до 6.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Пример&amp;lt;/b&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IDRegistry.genBlockID(&amp;amp;quot;testBlock&amp;amp;quot;); // регистрация&lt;br /&gt;
Block.createBlock(&amp;amp;quot;testBlock&amp;amp;quot;, [&lt;br /&gt;
     {name: &amp;amp;quot;test block&amp;amp;quot;, texture: [[&amp;amp;quot;planks&amp;amp;quot;, 0], [&amp;amp;quot;planks&amp;amp;quot;, 0], [&amp;amp;quot;planks&amp;amp;quot;, 0], [&amp;amp;quot;planks&amp;amp;quot;, 0], [&amp;amp;quot;planks&amp;amp;quot;, 0], [&amp;amp;quot;planks&amp;amp;quot;, 0]], inCreative: true}&lt;br /&gt;
]) // создание простого блока на ID &amp;amp;quot;testBlock&amp;amp;quot; с текстурой досок на всех сторонах, будет добавлен в креатив&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Создание блоков с поворотом&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Метод Block.createBlockWithRotation -&amp;amp;nbsp;&amp;amp;nbsp;принимает те же аргументы, что и Block.createBlock, но для каждой вариации блока создает 4 вариации, которые реализуют поворот, блок, созданный этим методом, автоматически будет ставиться с нужным поворотом.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Создание предметов&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;После регистрации ID предмета, создается сам предмет на этом ID. Предметы могут быть разных типов: обычный, броня, еда и кидаемый, для каждого из них существует свой метод. Для создания предметов используется модуль Item. Каждый предмет имеет текстуру, которая задается в формате {name: &amp;amp;quot;имя текстуры&amp;amp;quot;, meta: &amp;amp;lt;номер текстуры&amp;amp;gt;}, если номер текстуры 0, его можно не указывать.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Item.createItem(&amp;amp;quot;строковый ID&amp;amp;quot;, &amp;amp;quot;имя предмета&amp;amp;quot;, текстура, параметры) - создает обычный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&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;
&amp;lt;h4&amp;gt;Создание еды&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Item.createFoodItem(&amp;amp;quot;строковый ID&amp;amp;quot;, &amp;amp;quot;имя предмета&amp;amp;quot;, текстура, параметры) - создает съедобный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&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;
&amp;lt;h4&amp;gt;Создание кидаемого предмета&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Item.createThrowableItem(&amp;amp;quot;строковый ID&amp;amp;quot;, &amp;amp;quot;имя предмета&amp;amp;quot;, текстура, параметры) - создает кидаемый предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
     isTech: false, // если true, не добавляет предмет в креатив&lt;br /&gt;
     stack: 64 // сколько предметов будет в одном стаке, максимум 64.&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Пример кидаемого предмета.&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Создание брони&amp;lt;/h4&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Item.createArmorItem(&amp;amp;quot;строковый ID&amp;amp;quot;, &amp;amp;quot;имя предмета&amp;amp;quot;, текстура, параметры) - создает предмет брони на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
     isTech: false, // если true, не добавляет предмет в креатив&lt;br /&gt;
     armor: 1, // количество добавляемой брони в шкале защиты&lt;br /&gt;
     type: &amp;amp;lt;обязательное значение&amp;amp;gt;, // тип предмета &amp;amp;quot;helmet&amp;amp;quot;/&amp;amp;quot;chestplate&amp;amp;quot;/&amp;amp;quot;leggings&amp;amp;quot;/&amp;amp;quot;boots&amp;amp;quot;&lt;br /&gt;
     texture: &amp;amp;lt;обязательное значение&amp;amp;gt;, // текстура модели данной брони&lt;br /&gt;
     durability: 1 // прочность брони&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Пример брони&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;fck_mw_syntaxhighlight&amp;quot;&amp;gt;&lt;br /&gt;
IDRegistry.genItemID(&amp;amp;quot;helmet&amp;amp;quot;);//создаем новый ID для шлема&lt;br /&gt;
IDRegistry.genItemID(&amp;amp;quot;chestplate&amp;amp;quot;);//создаем новый ID для нагрудника&lt;br /&gt;
IDRegistry.genItemID(&amp;amp;quot;leggings&amp;amp;quot;);//создаем новый ID для понож&lt;br /&gt;
IDRegistry.genItemID(&amp;amp;quot;boots&amp;amp;quot;);//создаем новый ID для ботинок&lt;br /&gt;
&lt;br /&gt;
Item.createArmorItem(&amp;amp;quot;helmet&amp;amp;quot;, &amp;amp;quot;Helmet&amp;amp;quot;, {name: &amp;amp;quot;helmet&amp;amp;quot;}, {type: &amp;amp;quot;helmet&amp;amp;quot;, armor: 2, durability: 149, texture: &amp;amp;quot;armor/lay_1.png&amp;amp;quot;});//применяем наш ID helmet, добавляем имя Helmet, задаем текстуру предмета и объект описания.&lt;br /&gt;
Item.createArmorItem(&amp;amp;quot;chestplate&amp;amp;quot;, &amp;amp;quot;Chestplate&amp;amp;quot;, {name: &amp;amp;quot;chestplate&amp;amp;quot;}, {type: &amp;amp;quot;chestplate&amp;amp;quot;, armor: 6, durability: 216, texture: &amp;amp;quot;armor/lay_1.png&amp;amp;quot;});//применяем наш ID chestplate, добавляем имя ChestPlate, задаем текстуру предмета и объект описания.&lt;br /&gt;
Item.createArmorItem(&amp;amp;quot;leggings&amp;amp;quot;, &amp;amp;quot;Leggings&amp;amp;quot;, {name: &amp;amp;quot;leggings&amp;amp;quot;}, {type: &amp;amp;quot;leggings&amp;amp;quot;, armor: 5, durability: 203, texture: &amp;amp;quot;armor/lay_2.png&amp;amp;quot;});//применяем наш ID leggins, добавляем имя Leggins, задаем текстуру предмета и объект описания.&lt;br /&gt;
Item.createArmorItem(&amp;amp;quot;boots&amp;amp;quot;, &amp;amp;quot;Boots&amp;amp;quot;, {name: &amp;amp;quot;boots&amp;amp;quot;}, {type: &amp;amp;quot;boots&amp;amp;quot;, armor: 2, durability: 176, texture: &amp;amp;quot;armor/lay_1.png&amp;amp;quot;});//применяем наш ID boots, добавляем имя Boots, задаем текстуру предмета и объект описания.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;armor&amp;quot;&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Пример предмета&amp;lt;/h3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IDRegistry.genItemID(&amp;amp;quot;testItem&amp;amp;quot;);&lt;br /&gt;
Item.createItem(&amp;amp;quot;testItem&amp;amp;quot;, &amp;amp;quot;test item&amp;amp;quot;, {name: &amp;amp;quot;stick&amp;amp;quot;, meta: 0}, {}); // создаем обычный предмет на ID testItem с текстурой палки и стандартными параметрами&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>89.40.193.42</name></author>	</entry>

	</feed>