Редактирование:ToolLib

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

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">ToolLib -&nbsp;Библиотека, предоставляющая универсальные типы инструментов и упрощающая создание инструментов.  
+
<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"><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"><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"><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">
== Загрузка ==
+
ToolAPI - API позваляющий&nbsp;регистрировать инструменты.<br/> ToolLib -&nbsp;Библиотека, предоставляющая универсальные типы инструментов и содержащая несколько вспомогательных методов для работы с инструментами и блоками.
  
{| border="1" cellpadding="1" cellspacing="1" style="width: 579px;"
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 223px;"
 
|-
 
|-
| style="width: 68px; text-align: center;" | '''Версия'''
+
| style="width: 83px; text-align: center;" | '''Версия'''
| style="width: 81px; text-align: center;" | '''Скачать'''
+
| style="width: 127px; text-align: center;" | '''Скачать'''
| style="width: 305px; text-align: center;" | '''Изменения'''
 
| style="width: 100px; text-align: center;" | '''Дата выхода'''
 
 
|-
 
|-
| style="width: 68px; text-align: center;" | '''23'''
+
| style="width: 83px; text-align: center;" | '''20'''
| style="width: 81px; text-align: center;" | [https://github.com/MineExplorer/IC_Libraries/releases/tag/toollib-v23 Скачать]
+
| style="width: 127px; text-align: center;" | [https://drive.google.com/file/d/1obV7as1BOKHV04U6D3st6JXeSraWl54H/view?usp=sharing Скачать]
| style="width: 305px;" | - Поддержка мультиплеера
 
| style="width: 100px; text-align: center;" | 27.12.20
 
|-
 
| style="width: 68px; text-align: center;" | '''22'''
 
| style="width: 81px; text-align: center;" | -
 
| style="width: 305px;" | - Топоры могут делать обтёсанную древесину<br/> -&nbsp;Исправления ошибок
 
| style="width: 100px; text-align: center;" | 24.08.20
 
|-
 
| style="width: 68px; text-align: center;" | '''21'''
 
| style="width: 81px; text-align: center;" | -
 
| style="width: 305px;" | - Добавлен enum&nbsp;MiningLevel
 
| style="width: 100px; text-align: center;" | 11.07.20
 
 
|}
 
|}
  
== <br/> Документация ==
+
&nbsp;
 +
<div class="mw-parser-output">
 +
== Документация ==
  
 
=== Подключение ===
 
=== Подключение ===
Строка 36: Строка 24:
 
=== Добавление инструмента ===
 
=== Добавление инструмента ===
  
Для регистрации инструмента используется метод ToolLib.setTool(ItemID, toolMaterial, toolType)
+
Для регистрации инструмента используется метод ToolAPI.setTool(ItemID, toolMaterial, toolType)
<syntaxhighlight lang="JavaScript">ToolLib.setTool(ItemID.myTool, "wood", ToolType.axe);
+
<syntaxhighlight lang="JavaScript">ToolAPI.setTool(ItemID.myTool, "wood", ToolType.axe);
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
Так же вместо названия материала может напрямую быть передан объект с его свойствами.
 
Так же вместо названия материала может напрямую быть передан объект с его свойствами.
  
Материалы инструментов регистрируются методом&nbsp;ToolAPI.addToolMaterial(toolMaterial, params), но библиотека добавляет поддержку свойства зачаровываемости.
+
Для регистрации нового материала инструментов используется метод&nbsp;ToolAPI.addToolMaterial(toolMaterial, params)
 
<syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial("dirt", {
 
<syntaxhighlight lang="JavaScript">ToolAPI.addToolMaterial("dirt", {
    durability: 15, // Прочность (сколько блоков можно сломать)
+
    durability: 3, // Прочность (Сколько блоков можно сломать)
    level: 1, // Уровень инструмента - определяет, какие блоки инструмент может добыть.
+
    level: 1, // Уровень инструмента, влияет на блоки которые инструмент может ломать
 
    efficiency: 10, // Эффективность - модификатор скорости ломания блока
 
    efficiency: 10, // Эффективность - модификатор скорости ломания блока
 
    damage: 1, // Увеличение базового урона инструмента данным материалом
 
    damage: 1, // Увеличение базового урона инструмента данным материалом
Строка 52: Строка 40:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== Уровни добычи ===
+
=== Регистрация блока ===
 +
 
 +
Для регистрации блока используется метод&nbsp;ToolAPI.registerBlockMaterial(BlockID, blockMaterial, level);
 +
<syntaxhighlight lang="JavaScript">ToolAPI.registerBlockMaterial(BlockID.myBlock, "stone", 1);</syntaxhighlight>
 +
 
 +
Уровни блоков:
 +
 
 +
1 - камень
 +
 
 +
2 - железная руда
 +
 
 +
3 - алмазная руда
  
Библиотека позволяет вместо чисел использовать константы для уровней блоков и инструментов:
+
4 - обсидиан
  
MiningLevel.STONE&nbsp;=&nbsp;1 - камень<br/> MiningLevel.IRON&nbsp;=&nbsp;2 - железная руда<br/> MiningLevel.DIAMOND&nbsp;=&nbsp;3 - алмазная руда<br/> MiningLevel.OBSIDIAN&nbsp;=&nbsp;4 - обсидиан
+
Для регистрации материала блока используется метод&nbsp;ToolAPI.addBlockMaterial(blockMaterial, breakingMultiplier);
 +
<syntaxhighlight lang="JavaScript">ToolAPI.addBlockMaterial("test", 3);</syntaxhighlight>
 +
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
 +
<div class="mw-parser-output">
 +
=== Типы инструментов ===
  
=== Стандартные типы инструментов ===
+
Cтандартные типы:
  
 
ToolType.sword - меч<br/> ToolType.shovel - лопата<br/> ToolType.pickaxe - кирка<br/> ToolType.axe - топор<br/> ToolType.hoe - мотыга
 
ToolType.sword - меч<br/> ToolType.shovel - лопата<br/> ToolType.pickaxe - кирка<br/> ToolType.axe - топор<br/> ToolType.hoe - мотыга
  
=== Создание своего типа инструментов ===
+
Создание своего типа инструментов
 
 
Тип инструмента - это объект, содержащий свойства&nbsp;и функции&nbsp;инструмента. Библиотека поддерживает все параметры инструмента, указываемые&nbsp;ToolAPI.registerTool, а также добавляет новые.&nbsp;
 
 
<syntaxhighlight lang="JavaScript">ToolType.myType = {
 
<syntaxhighlight lang="JavaScript">ToolType.myType = {
 
    enchantType: Native.EnchantType.pickaxe, //Тип чар для инструмента
 
    enchantType: Native.EnchantType.pickaxe, //Тип чар для инструмента
 
    damage: 2, // Базовый урон инструмента
 
    damage: 2, // Базовый урон инструмента
 
    blockTypes: ["dirt", "stone", "test"], // Материалы блоков, которые может ломать инструмент
 
    blockTypes: ["dirt", "stone", "test"], // Материалы блоков, которые может ломать инструмент
    useItem: function(coords, item, block, player) { // Функция клика по блоку
+
    onAttack: function(item){
        if (item.data > 0) {
+
        if(item.data > Item.getMaxDamage(item.id)){
            Entity.setCarriedItem(player, item.id, 1, item.data - 1, item.extra); // Починить инструмент на 1
+
            item.id = item.data = item.count = 0;
        }
+
        }
 
    }
 
    }
 
} </syntaxhighlight>
 
} </syntaxhighlight>
 +
</div> </div> </div></div>
  
 
=== Все методы ===
 
=== Все методы ===
  
 
// Скоро будут добавлены
 
// Скоро будут добавлены
</div> </div> </div> </div>
+
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>

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