殇晨呦
比如想做一个计分板,记录玩家破基岩的数量
但游戏内计分板本身是做不到的
监听器里各种事件似乎我也没找到。。因为基岩消失本质上不是玩家行为

名副其实
不如换个角度想想,监测玩家和活塞交互?

殇晨呦
名副其实 发表于 2020-7-23 17:52
不如换个角度想想,监测玩家和活塞交互?

问题是破基岩不是百分百啊

名副其实
殇晨呦 发表于 2020-7-23 18:11
问题是破基岩不是百分百啊

可以用testforblock监测基岩的消失啊
如果玩家与活塞交互而基岩没有消失则判定玩家使用失败

殇晨呦
名副其实 发表于 2020-7-23 18:13
可以用testforblock监测基岩的消失啊
如果玩家与活塞交互而基岩没有消失则判定玩家使用失败 ...

通过拉杆或者红石电路触发活塞也算“玩家与活塞交互”吗?
现在破基岩大部分还是铁头功,无头活塞出来后就靠tnt抽奖了
怎么和基岩消失联系在一起判定啊

William_Shi
https://bukkit.windit.net/javado ... tonExtendEvent.html

这个可以监听活塞推出去

至于你说的什么破基岩什么的,我根本不知道你在说什么,但我想只要是活塞就可以用这个监听

名副其实
殇晨呦 发表于 2020-7-23 18:42
通过拉杆或者红石电路触发活塞也算“玩家与活塞交互”吗?
现在破基岩大部分还是铁头功,无头活塞出来后 ...

检查被激活的活塞和消失的基岩是否相邻

南柯郡守
BlockBreakEvent不行?

殇晨呦

这个不是只能监听玩家破坏方块事件吗
但这个是无头活塞强刷新卡没得

南柯郡守
殇晨呦 发表于 2020-7-23 20:48
这个不是只能监听玩家破坏方块事件吗
但这个是无头活塞强刷新卡没得

那就只能是监听BlockPistonExtendEvent 活塞伸出事件
然后判断推动的方块是否是基岩

可能获取不到  估计得getDirection() 然后判断该方向是否有基岩

殇晨呦
南柯郡守 发表于 2020-7-23 21:08
那就只能是监听BlockPistonExtendEvent 活塞伸出事件
然后判断推动的方块是否是基岩

回头我去试试

顺路问下,怎么对游戏内已存在的计分板项目里面玩家的score进行操作

xiaolv5122
监听活塞收回事件(或者mixin进去),然后判断面前的是不是基岩,是的话就找最近5格内的玩家。。。
(Fallen的破基岩统计就是这样做的)

DLumina
活塞底在收回的时候并不会检查它面前的是什么方块,实际上这一条也是破基岩能成功的原理。如果想要知道破了多少基岩应该只能用楼上给的方式,监听收回事件然后检查朝向处方块是不是基岩。

Ray_Hughes
提供一个思路 进行A*算法 然后记录路径内容 与活塞操作后判断不同部分是否为基岩