<?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=CakesZero</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=CakesZero"/>
		<link rel="alternate" type="text/html" href="https://wiki.mineprogramming.org/index.php/%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/CakesZero"/>
		<updated>2026-04-28T16:08:53Z</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=2491</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=2491"/>
				<updated>2020-07-17T22:42:10Z</updated>
		
		<summary type="html">&lt;p&gt;CakesZero: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;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;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&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;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;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;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;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;
Каждая вариация в массиве имеет формат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&amp;gt;{&lt;br /&gt;
    name: &amp;quot;имя вариации&amp;quot;, &lt;br /&gt;
    texture: [&lt;br /&gt;
        [&amp;quot;название1&amp;quot;, индекс1], // bottom&lt;br /&gt;
        [&amp;quot;название2&amp;quot;, индекс2], // top&lt;br /&gt;
        [&amp;quot;название3&amp;quot;, индекс3], // back&lt;br /&gt;
        [&amp;quot;название4&amp;quot;, индекс4], // front&lt;br /&gt;
        [&amp;quot;название5&amp;quot;, индекс5], // left&lt;br /&gt;
        [&amp;quot;название6&amp;quot;, индекс6]  // right&lt;br /&gt;
    ], &lt;br /&gt;
    inCreative: true/false //(добавлять ли данную вариацию блока в креатив)&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если текстур указано меньше, чем 6, то последняя из них будет дублирована несколько раз, чтобы дополнить их кол-во до 6.&lt;br /&gt;
&lt;br /&gt;
'''Пример''':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&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; с текстурой досок на всех сторонах, будет добавлен в креатив&amp;lt;/syntaxhighlight&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 вариации, которые реализуют поворот, блок, созданный этим методом, автоматически будет ставиться с нужным поворотом. &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&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;
&lt;br /&gt;
Item.createItem(&amp;quot;строковый ID&amp;quot;, &amp;quot;имя предмета&amp;quot;, текстура, параметры) - создает обычный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&lt;br /&gt;
&lt;br /&gt;
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&amp;gt;{&lt;br /&gt;
     isTech: false, // если true, не добавляет предмет в креатив&lt;br /&gt;
     stack: 64 // размер стака&lt;br /&gt;
} &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Создание еды ====&lt;br /&gt;
&lt;br /&gt;
Item.createFoodItem(&amp;quot;строковый ID&amp;quot;, &amp;quot;имя предмета&amp;quot;, текстура, параметры) - создает съедобный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&lt;br /&gt;
&lt;br /&gt;
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&amp;gt;{&lt;br /&gt;
     isTech: false,// если true, не добавляет предмет в креатив&lt;br /&gt;
     stack: 64, // размер стака&lt;br /&gt;
     food: 1 // восполнение здоровья едой&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Создание кидаемого предмета ====&lt;br /&gt;
&lt;br /&gt;
Item.createThrowableItem(&amp;quot;строковый ID&amp;quot;, &amp;quot;имя предмета&amp;quot;, текстура, параметры) - создает кидаемый предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.&lt;br /&gt;
&lt;br /&gt;
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&amp;gt;{&lt;br /&gt;
     isTech: false, // если true, не добавляет предмет в креатив&lt;br /&gt;
     stack: 64 // сколько предметов будет в одном стаке, максимум 64.&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
==== Пример кидаемого предмета. ====&lt;br /&gt;
&amp;lt;pre&amp;gt;IDRegistry.genItemID(&amp;quot;throwableItem&amp;quot;);&amp;amp;nbsp;&lt;br /&gt;
Item.createThrowableItem(&amp;quot;throwableItem&amp;quot;, &amp;quot;Throwable Item&amp;quot;, { name: &amp;quot;throwable_item&amp;quot;, meta: 0}, {})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Создание брони ====&lt;br /&gt;
&amp;lt;pre&amp;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;
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&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;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Пример брони ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&amp;gt;IDRegistry.genItemID(&amp;quot;helmet&amp;quot;);//создаем новый ID для шлема&lt;br /&gt;
IDRegistry.genItemID(&amp;quot;chestplate&amp;quot;);//создаем новый ID для нагрудника&lt;br /&gt;
IDRegistry.genItemID(&amp;quot;leggings&amp;quot;);//создаем новый ID для понож&lt;br /&gt;
IDRegistry.genItemID(&amp;quot;boots&amp;quot;);//создаем новый ID для ботинок&lt;br /&gt;
&lt;br /&gt;
Item.createArmorItem(&amp;quot;helmet&amp;quot;, &amp;quot;Helmet&amp;quot;, {name: &amp;quot;helmet&amp;quot;}, {type: &amp;quot;helmet&amp;quot;, armor: 2, durability: 149, texture: &amp;quot;armor/lay_1.png&amp;quot;});//применяем наш ID helmet, добавляем имя Helmet, задаем текстуру предмета и объект описания.&lt;br /&gt;
Item.createArmorItem(&amp;quot;chestplate&amp;quot;, &amp;quot;Chestplate&amp;quot;, {name: &amp;quot;chestplate&amp;quot;}, {type: &amp;quot;chestplate&amp;quot;, armor: 6, durability: 216, texture: &amp;quot;armor/lay_1.png&amp;quot;});//применяем наш ID chestplate, добавляем имя ChestPlate, задаем текстуру предмета и объект описания.&lt;br /&gt;
Item.createArmorItem(&amp;quot;leggings&amp;quot;, &amp;quot;Leggings&amp;quot;, {name: &amp;quot;leggings&amp;quot;}, {type: &amp;quot;leggings&amp;quot;, armor: 5, durability: 203, texture: &amp;quot;armor/lay_2.png&amp;quot;});//применяем наш ID leggins, добавляем имя Leggins, задаем текстуру предмета и объект описания.&lt;br /&gt;
Item.createArmorItem(&amp;quot;boots&amp;quot;, &amp;quot;Boots&amp;quot;, {name: &amp;quot;boots&amp;quot;}, {type: &amp;quot;boots&amp;quot;, armor: 2, durability: 176, texture: &amp;quot;armor/lay_1.png&amp;quot;});//применяем наш ID boots, добавляем имя Boots, задаем текстуру предмета и объект описания.&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-parser-output&amp;quot;&amp;gt;&lt;br /&gt;
=== Пример предмета ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Javascript&amp;quot;&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 с текстурой палки и стандартными параметрами&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>CakesZero</name></author>	</entry>

	</feed>