Ловушки ModPE - важная часть ModPE API, позволяющая отлавливать основные события в игре.
Содержание
- 1 attackHook(attacker, victim)
- 2 chatHook(str)
- 3 continueDestroyBlock(x, y, z, side, progress)
- 4 destroyBlock(x, y, z, side)
- 5 projectileHitEntityHook(projectile, targetEntity)
- 6 eatHook(hearts, saturationRatio)
- 7 entityAddedHook(entity)
- 8 entityHurtHook(attacker, victim, halfhearts)
- 9 entityRemovedHook(entity)
- 10 explodeHook(entity, x, y, z, power, onFire)
- 11 serverMessageReceiveHook(str)
- 12 deathHook(attacker, victim)
- 13 playerAddExpHook(player, experienceAdded)
- 14 playerExpLevelChangeHook(player, levelsAdded)
- 15 redstoneUpdateHook(x, y, z, newCurrent, someBooleanIDontKnow, blockId, blockData)
- 16 function screenChangeHook(screenName)
- 17 newLevel()
- 18 startDestroyBlock(x, y, z, side)
- 19 projectileHitBlockHook(projectile, blockX, blockY, blockZ, side)
- 20 modTick()
- 21 useItem(x, y, z, itemid, blockid, side, itemDamage, blockDamage)
attackHook(attacker, victim)
Можно юзать preventDefault()
Происходит при ударе сущностью attacker сущность victim.
chatHook(str)
Можно юзать preventDefault()
Происходит при отправлении каким-либо игроком сообщения в чат.
continueDestroyBlock(x, y, z, side, progress)
Можно юзать preventDefault()
Происходит каждый тик во время ломания блока с координатами x, y, z со стороны side. progress - значение с плавающей точкой от 0 до 1, показывает прогресс разрушения блока (в частях от 1). Для переведения в проценты просто умножаем на сто и округляем (при необходимости).
destroyBlock(x, y, z, side)
Можно юзать preventDefault()
Происходит при разрушении блока с координатами x, y, z со стороны side.
projectileHitEntityHook(projectile, targetEntity)
eatHook(hearts, saturationRatio)
Происходит при съедании игроком еды. Параметры, вероятно, названы неправильно (надо уточнить).
entityAddedHook(entity)
Происходит при появлении новой сущности entity в мире.
entityHurtHook(attacker, victim, halfhearts)
entityRemovedHook(entity)
explodeHook(entity, x, y, z, power, onFire)
Можно юзать preventDefault()
serverMessageReceiveHook(str)
Можно юзать preventDefault()
deathHook(attacker, victim)
Можно юзать preventDefault()
Происходит при смерти сущности victim из-за удара attacker.
playerAddExpHook(player, experienceAdded)
Можно юзать preventDefault()
playerExpLevelChangeHook(player, levelsAdded)
Можно юзать preventDefault()
redstoneUpdateHook(x, y, z, newCurrent, someBooleanIDontKnow, blockId, blockData)
function screenChangeHook(screenName)
newLevel()
Происходит при заходе в мир
startDestroyBlock(x, y, z, side)
Можно юзать preventDefault()
Происходит, когда игрок начинает ломать блок с координатами x, y, z со стороны side.
projectileHitBlockHook(projectile, blockX, blockY, blockZ, side)
modTick()
Происходит 20 раз в ссекунду. Является основой всех таймеров в игре. Библиотека NIDE Timers служит прекрасной оболочкой, позволяющей использовать различные однократные и повторяющиеся таймеры.
useItem(x, y, z, itemid, blockid, side, itemDamage, blockDamage)
Можно юзать preventDefault()
Происходит при тапе по блоку с координатами x, y, z со стороны side. Блок, по которому тапнули, имеет id = blockid, data = blockDamage. Тапнули предметом с id = itemid, data = itemDamage.