InnerCore/ToolAPI и ToolType

Материал из mineprogramming wiki
Перейти к: навигация, поиск

Ожидает заполнения, Волк там где-то спит, скоро закончит. Или не скоро, пинайте его.
ToolAPI - API позваляющая регистрировать инструменты.
ToolType - Библиотека, предоставляющая универсальные типы инструментов и содержащая некоторые доработки и фиксы ошибок в ToolAPI.

Версия Скачать
3 Скачать

 

Документация[править]

Подключение[править]

Чтобы подключить библиотеку, необходимо расположить файл библиотеки в папку lib в корне мода написать следующее в начале вашего кода:

IMPORT("ToolType");

После этого вам станет доступен весь функционал библиотеки.

Основные команды[править]

Для регистрации инструмента используется метод ToolAPI.setTool(ItemID, materialTool, toolType)

ToolAPI.setTool(ItemID["myTool"], "wood", ToolType.axe);

Для регистрации нового материала инструментов используется метод ToolAPI.addToolMaterial(materialTool, params)

ToolAPI.addToolMaterial("dirt", {
    durability: 3,//Долговечность(Сколько блоков можно сломать)
    level: 1,//Уровень инструмента, влияет на блоки которые инструмент может ломать 
    efficiency: 10,//Эффективность, чем больше эффективность, тем быстрее ломается нужный блок
    damage: 1,//Урон наносимый инструментами данного материала
    enchantability: 14
});

Для регистрации блока используется метод ToolAPI.registerBlockMaterial(BlockID, materialBlock, level);

ToolAPI.registerBlockMaterial(BlockID["myBlock"], "stone", 1);

Для регистрации материала блока используется метод ToolAPI.addBlockMaterial(materialBlock, breakingMultiplier);

ToolAPI.addBlockMaterial("test", 3);

Создание своего типа инструмента[править]

 

ToolType.myType = {
    enchantType: Native.EnchantType.pickaxe,//ТИп чар для инстумента
    damage: 2,//Урон инструмента
    blockTypes: ["dirt", "stone", "test"], //Материалы блоков, которые может ломать инструмент
    onAttack: function(item){
        if(item.data > Item.getMaxDamage(item.id)){
            item.id = item.data = item.count = 0;
        }
    }
}

Все методы[править]