BowLib
BowLib — мод-библиотека, упрощающая создание собственного лука.
Использование через Bow
Инициализация
-
Для начала работы импортируйте библиотеку:
IMPORT("Bow"); -
Теперь, создайте предмет и донастройте его:
IDRegistry.genItemID("cbow");
Item.createItem("cbow", "Custom Bow", { name: "Cbow", meta: 0 }, { stack: 1 });
Item.describeItem(ItemID.cbow, {
toolRender: true, // Рендерить как инструмент
maxDamage: 385, // Максимальная прочность
useAnimation: 4 // Анимация использования - 4:лук
}); -
Можете создать лук, описание которого будет установлено позже:
var CustomBow = new Bow(); -
Добавим само описание, что настроит наш лук:
CustomBow.set({
id: ItemID.cbow,
texture: "Cbow",
bullets: [262],
skin: "entity/arrow.png",
speed: 2,
damage: 1.5,
variations: 3,
})
Отлично! Мы создали новый лук с нужными параметрами.
Методы Bow
| Метод | Описание |
|---|---|
| get() | Возвращает объект лука |
| shoot() | Принудительный выстрел |
| set(prototype) | Соз дает описание для работы с луком |
Объект описания prototype
{
// идентификатор предмета с которым будет работать библиотека
id: ItemID.test,
// текстура которая будет использоваться для того чтобы анимировать лук
texture: "test",
// массив с идентификаторами предметов которые будут использованы в качестве боеприпаса
bullets: [262],
// путь к папке с текстурой для для изменения текстуры стрелы
skin: "entity/arrow.png",
// скорость с которой будет лететь стрела
speed: 2,
// урон который будет нанесен сущности
damage: 1.5,
// сколько кадров анимации будет у лука. от 0 до n. Сменяются каждые 5 тиков при использовани.
variations: 3
}
Список калбеков
| Callback | Возвращаемые значения | Возвращает |
|---|---|---|
| BowArrowEntityDamage | atacker, victim, damage | Атакующего; существо в которое попала стрела; нанесенный урон |
| BowArrowHit | projectile, item, target | Кидаемый предмет; предмет; цель в которую попала стрела |
| BowOnShot | bow | Прототип лука в момент выстрела |
| BowStateChange | bow | Прототип лука когда меняется состояние лука |
Использование через Bows
Позволяет использование методов, которые скрыты.
-
Для начала работы импортируйте библиотеку:
IMPORT("Bows"); -
Теперь, создайте предмет и донастройте его:
IDRegistry.genItemID("cbow");
Item.createItem("cbow", "Custom Bow", { name: "Cbow", meta: 0 }, { stack: 1 });
Item.describeItem(ItemID.cbow, {
toolRender: true,
maxDamage: 385,
useAnimation: 4
}); -
Можете создать лук, описание которого будет установлено позже:
var CustomBow = new Bow(); -
Добавим само описание, что настроит наш лук:
CustomBow.set({
id: ItemID.cbow,
texture: "Cbow",
bullets: [262],
skin: "entity/arrow.png",
speed: 2,
damage: 1.5,
variations: 3,
})
Отлично! Мы создали новый лук с нужными параметрами.
Объект Bows
| Метод | Описание |
|---|---|
| aim | Отдает картинку прицела кодированную в base64 |
| ingame | Отдает значение true/false, Проверка того что игрок в игре |
| currentBow | Отдает объект описания текущего лука |
| aimShown | Отдает значение true/false когда показывается прицел |
| bowInfo | Отдает список из BowId: info |
| dynamicProps | Отдает объекты bullets[] и hurt[] |
| windowAim | Отдает окно PopupWindow с прицелом |
| addNewBow(prototype) | Создает новый лук с прототипом prototype |
| setShoot(BowId, bool) | Включает/Выключает луку с BowId режим стрельбы |
| getShoot(BowId) | Отдает режим стрельбы: true/false или null |
| addBullet(bInfo) | |
| addHurt(hInfo) | |
| addUI() | Устанавливает окно PopupWindow с прицелом в windowAim |
| getCurrentBow() | Отдает текущий лук в руке или null |
| setCurrentBow(BowId) | Устанавливает текущий лук BowId если он есть в bowInfo и возвращает currentBow |
| addBulletFilter(projectile, item, target) | Добавляет в фильтр стрел - projectile, item, target |
| addCallbacks() | Устанавливает калбеки: смены анимации, изменения интерфейса, начала разрушения блока |
| getBullet(bullets) | Отдает id предмета используемого как боеприпас или null |
| shoot() | Принудительный выстрел из текущего лука |
| animateShoot() | Принудительная смена анимации |
| updateAim() | Принудительное обновление состояния прицела |