Редактирование:Создание блоков и предметов

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
<div class="mw-parser-output">
+
<div class="mw-parser-output"><div class="mw-parser-output">
 
=== Регистрация ID ===
 
=== Регистрация ID ===
  
ID - уникальный идентификатор блока\предмета, задается строкой и натуральным числом, которое сопоставляется этой строке. Чтобы зарегистрировать ID, используется модуль IDRegistry.
+
ID - уникальный идентефикатор блока\предмета, задается строкой и натуральным числом, которое сопоставляется этой строке. Чтобы зарегистрировать ID, используется модуль IDRegistry.
  
 
Для регистрации ID блока используется метод IDRegistry.genBlockID("строковый ID") - после вызова этой функции сгенерируется новый уникальный ID для блока, доступ к числовому значению которого может быть произведен как BlockID.<строковый ID>
 
Для регистрации ID блока используется метод IDRegistry.genBlockID("строковый ID") - после вызова этой функции сгенерируется новый уникальный ID для блока, доступ к числовому значению которого может быть произведен как BlockID.<строковый ID>
Строка 9: Строка 9:
  
 
Примеры:
 
Примеры:
<syntaxhighlight lang="Javascript">IDRegistry.genBlockID("testBlock"); // доступ BlockID.testBlock
+
<syntaxhighlight lang="Javascript">IDRegistry.genBlockID(&quot;testBlock&quot;); // доступ BlockID.testBlock
IDRegistry.genItemID("testItem"); // доступ ItemID.testItem</syntaxhighlight>
+
IDRegistry.genItemID(&quot;testItem&quot;); // доступ ItemID.testItem</syntaxhighlight>
<div class="mw-parser-output">
+
 
 
=== Текстуры ===
 
=== Текстуры ===
  
 
В ресурсах мода текстуры блоков и предметов задаются в определенном формате: каждая текстура должна быть в формате .png и имеет имя и номер, название любой текстуры выглядит так: имя_номер.png и никак иначе. Номера текстур с одним именем должны идти последовательно и начинаться с 0.
 
В ресурсах мода текстуры блоков и предметов задаются в определенном формате: каждая текстура должна быть в формате .png и имеет имя и номер, название любой текстуры выглядит так: имя_номер.png и никак иначе. Номера текстур с одним именем должны идти последовательно и начинаться с 0.
  
Текстуры блоков в ресурспаке располагаются по адресу res/terrain-atlas/
+
Текстуры блоков в ресурспаке располагаются по адресу images/terrain-atlas/
  
Текстуры предметов&nbsp;в ресурспаке располагаются по адресу res/items-opaque/
+
Текстуры предметов&nbsp;в ресурспаке располагаются по адресу images/items-opaque/
  
Текстуры брони в ресурспаке располагаются по адресу res/armor
 
</div>
 
 
=== Создание блоков ===
 
=== Создание блоков ===
  
Строка 32: Строка 30:
 
   name: "имя вариации",  
 
   name: "имя вариации",  
 
     texture: [
 
     texture: [
        ["название1", индекс1], // bottom
+
       ["текстура 1", <номер текстуры 1>],  
        ["название2", индекс2], // top
+
       ["текстура 2", <номер текстуры 2>],  
        ["название3", индекс3], // back
+
       ["текстура 3", <номер текстуры 3>],  
        ["название4", индекс4], // front
+
       ["текстура 4", <номер текстуры 4>],  
        ["название5", индекс5], // left
+
       ["текстура 5", <номер текстуры 5>],  
        ["название6", индекс6] // right
+
       ["текстура 6", <номер текстуры 6>]
    ],  
+
   ],  
 
   inCreative: true/false //(добавлять ли данную вариацию блока в креатив)
 
   inCreative: true/false //(добавлять ли данную вариацию блока в креатив)
 
}</syntaxhighlight>
 
}</syntaxhighlight>
Строка 45: Строка 43:
  
 
'''Пример''':
 
'''Пример''':
<syntaxhighlight lang="Javascript">IDRegistry.genBlockID("testBlock"); // регистрация
+
<syntaxhighlight lang="Javascript">IDRegistry.genBlockID(&quot;testBlock&quot;); // регистрация
Block.createBlock("testBlock", [
+
Block.createBlock(&quot;testBlock&quot;, [
 
     {name: "test block", texture: [["planks", 0], ["planks", 0], ["planks", 0], ["planks", 0], ["planks", 0], ["planks", 0]], inCreative: true}
 
     {name: "test block", texture: [["planks", 0], ["planks", 0], ["planks", 0], ["planks", 0], ["planks", 0], ["planks", 0]], inCreative: true}
]); // создание простого блока на ID "testBlock" с текстурой досок на всех сторонах, будет добавлен в креатив</syntaxhighlight>
+
]) // создание простого блока на ID "testBlock" с текстурой досок на всех сторонах, будет добавлен в креатив</syntaxhighlight>
<div class="mw-parser-output"><div class="mw-parser-output">
+
 
 
==== Создание блоков с поворотом ====
 
==== Создание блоков с поворотом ====
  
 
Метод Block.createBlockWithRotation -&nbsp;&nbsp;принимает те же аргументы, что и Block.createBlock, но для каждой вариации блока создает 4 вариации, которые реализуют поворот, блок, созданный этим методом, автоматически будет ставиться с нужным поворотом.
 
Метод Block.createBlockWithRotation -&nbsp;&nbsp;принимает те же аргументы, что и Block.createBlock, но для каждой вариации блока создает 4 вариации, которые реализуют поворот, блок, созданный этим методом, автоматически будет ставиться с нужным поворотом.
</div> </div>
+
 
 
=== Создание предметов ===
 
=== Создание предметов ===
  
Строка 60: Строка 58:
 
Item.createItem("строковый ID", "имя предмета", текстура, параметры) - создает обычный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
 
Item.createItem("строковый ID", "имя предмета", текстура, параметры) - создает обычный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
  
Параметры имеют формат, если вы не хотите изменять значения по умолчанию, просто не пишите их:
+
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:
 
<syntaxhighlight lang="Javascript">{
 
<syntaxhighlight lang="Javascript">{
 
     isTech: false, // если true, не добавляет предмет в креатив
 
     isTech: false, // если true, не добавляет предмет в креатив
 
     stack: 64 // размер стака
 
     stack: 64 // размер стака
 
} </syntaxhighlight>
 
} </syntaxhighlight>
 
'''Пример''':
 
<syntaxhighlight lang="JavaScript">IDRegistry.genItemID("testItem");
 
Item.createItem("testItem", "test item", {name: "stick", meta: 0}, {}); // создаем обычный предмет на ID testItem с текстурой палки и стандартными параметрами</syntaxhighlight>
 
  
 
==== Создание еды ====
 
==== Создание еды ====
Строка 74: Строка 68:
 
Item.createFoodItem("строковый ID", "имя предмета", текстура, параметры) - создает съедобный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
 
Item.createFoodItem("строковый ID", "имя предмета", текстура, параметры) - создает съедобный предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
  
Параметры имеют формат, если вы не хотите изменять значения по умолчанию, просто не пишите их:
+
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:
 
<syntaxhighlight lang="Javascript">{
 
<syntaxhighlight lang="Javascript">{
 
     isTech: false,// если true, не добавляет предмет в креатив
 
     isTech: false,// если true, не добавляет предмет в креатив
Строка 85: Строка 79:
 
Item.createThrowableItem("строковый ID", "имя предмета", текстура, параметры) - создает кидаемый предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
 
Item.createThrowableItem("строковый ID", "имя предмета", текстура, параметры) - создает кидаемый предмет на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.
  
Параметры имеют формат, если вы не хотите изменять значения по умолчанию, просто не пишите их:
+
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:
 
<syntaxhighlight lang="Javascript">{
 
<syntaxhighlight lang="Javascript">{
 
     isTech: false, // если true, не добавляет предмет в креатив
 
     isTech: false, // если true, не добавляет предмет в креатив
 
     stack: 64 // сколько предметов будет в одном стаке, максимум 64.
 
     stack: 64 // сколько предметов будет в одном стаке, максимум 64.
 
}</syntaxhighlight>
 
}</syntaxhighlight>
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
+
 
'''Пример''':
+
==== Пример кидаемого предмета. ====
<syntaxhighlight lang="JavaScript">IDRegistry.genItemID("throwableItem");&nbsp;
+
<syntaxhighlight lang="Javascript">//TODO</syntaxhighlight>
Item.createThrowableItem("throwableItem", "Throwable Item", { name: "throwable_item", meta: 0}, {})
+
 
</syntaxhighlight>
 
</div> </div> </div> </div> </div> </div>
 
 
==== Создание брони ====
 
==== Создание брони ====
 
<pre>Item.createArmorItem(&quot;строковый ID&quot;, &quot;имя предмета&quot;, текстура, параметры) - создает предмет брони на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.</pre>
 
<pre>Item.createArmorItem(&quot;строковый ID&quot;, &quot;имя предмета&quot;, текстура, параметры) - создает предмет брони на ранее зарегистрированном строковом ID, с данным именем, текстурой и параметрами.</pre>
  
Параметры имеют формат, если вы не хотите изменять значения по умолчанию, просто не пишите их:
+
Параметры имеют формат, если вы не хотите изменять значения по-умолчанию, просто не пишите их:
 
<syntaxhighlight lang="Javascript">{
 
<syntaxhighlight lang="Javascript">{
 
     isTech: false, // если true, не добавляет предмет в креатив
 
     isTech: false, // если true, не добавляет предмет в креатив
Строка 107: Строка 99:
 
     durability: 1 // прочность брони
 
     durability: 1 // прочность брони
 
}</syntaxhighlight>
 
}</syntaxhighlight>
<div class="mw-parser-output"><div class="mw-parser-output">
 
'''Пример брони''':
 
<syntaxhighlight lang="Javascript">IDRegistry.genItemID("myHelmet"); // регистрируем ID шлема
 
IDRegistry.genItemID("myChestplate"); // регистрируем ID нагрудника
 
IDRegistry.genItemID("myLeggings"); // регистрируем ID понож
 
IDRegistry.genItemID("myBoots"); // регистрируем ID ботинок
 
  
Item.createArmorItem("myHelmet", "Helmet", {name: "helmet"}, {type: "helmet", armor: 2, durability: 149, texture: "armor/lay_1.png"}); // создаём шлем с ID myHelmet
+
=== Пример брони ===
Item.createArmorItem("myChestplate", "Chestplate", {name: "chestplate"}, {type: "chestplate", armor: 6, durability: 216, texture: "armor/lay_1.png"}); // создаём нагрудник с ID myChestplate
+
<syntaxhighlight lang="Javascript">IDRegistry.genItemID("helmet");//создаем новый ID для шлема
Item.createArmorItem("myLeggings", "Leggings", {name: "leggings"}, {type: "leggings", armor: 5, durability: 203, texture: "armor/lay_2.png"}); // создаём поножи с ID myLeggings
+
IDRegistry.genItemID("chestplate");//создаем новый ID для нагрудника
Item.createArmorItem("myBoots", "Boots", {name: "boots"}, {type: "boots", armor: 2, durability: 176, texture: "armor/lay_1.png"}); // создаём ботинки с ID myBoots
+
IDRegistry.genItemID("leggings");//создаем новый ID для понож
</syntaxhighlight>
+
IDRegistry.genItemID("boots");//создаем новый ID для ботинок
</div> </div> </div>
+
 
 +
Item.createArmorItem("helmet", "Helmet", {name: "helmet"}, {type: "helmet", armor: 2, durability: 149, texture: "armor/lay_1.png"});//применяем наш ID helmet, добавляем имя Helmet, задаем текстуру предмета и объект описания.
 +
Item.createArmorItem("chestplate", "Chestplate", {name: "chestplate"}, {type: "chestplate", armor: 6, durability: 216, texture: "armor/lay_1.png"});//применяем наш ID chestplate, добавляем имя ChestPlate, задаем текстуру предмета и объект описания.
 +
Item.createArmorItem("leggings", "Leggings", {name: "leggings"}, {type: "leggings", armor: 5, durability: 203, texture: "armor/lay_2.png"});//применяем наш ID leggins, добавляем имя Leggins, задаем текстуру предмета и объект описания.
 +
Item.createArmorItem("boots", "Boots", {name: "boots"}, {type: "boots", armor: 2, durability: 176, texture: "armor/lay_1.png"});//применяем наш ID boots, добавляем имя Boots, задаем текстуру предмета и объект описания.</syntaxhighlight>
 +
 
 +
=== Пример предмета ===
 +
<syntaxhighlight lang="Javascript">IDRegistry.genItemID("testItem");
 +
Item.createItem("testItem", "test item", {name: "stick", meta: 0}, {}); // создаем обычный предмет на ID testItem с текстурой палки и стандартными параметрами</syntaxhighlight>
 +
 
 +
&nbsp;
 +
</div> </div>

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии GNU Free Documentation License 1.3 или более поздняя (см. Mineprogramming wiki:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!