方块右键事件
该代码在server脚本里
方块右键事件有两种调取方式
BlockEvents.rightClicked(blockId, event => {})
第一种是指定方块右键捕捉获取事件BlockEvents.rightClicked(event => {})
第二种是捕捉所有被右键的方块
这边建议使用第一种指定一种方块,第二种看情况再选择
可被直接访问的方法
getBlock()
获取被右键方块属性
BlockContainerJS
block
getEntity()
获取右键方块的实体(在这里获取的是玩家)
Player
entity
getFacing()
获取被右键方块的朝向
Direction
facing
getHand()
获取哪个手右键的方块
InteractionHand
hand
getItem()
获取右键方块的物品
ItemStack
item
getLevel()
获取被右键方块的世界
Level
level
getPlayer()
获取右键方块的玩家
Player
player
getServer()
获取被右键方块的服务端
MinecraftServer
server
示例
下面示例使用方块右键事件,当玩家使用含有斧子tag的物品右键橡木木板时,会使木板掉落木棍8个
方块右键事件会获取玩家两次,第一次为主手第二次为副手
所以需要判断一下if (event.hand == "OFF_HAND")
是为哪个手点击的物品
这里的event.getItem()
获取的是event.hand
的物品
event.getItem().hasTag("minecraft:axes")
判断物品是否含有某一个tag标签
event.level.destroyBlock(event.block.pos,false)
使用破坏方块方法传入方块坐标和false来代表方块被破坏并且不会进行掉落
Last updated