shutong

如上图所示,拿起水桶,对该头颅下面的方块,右键点击,会放出水,但是也会把头给卡飞



上图为卡飞的头颅




上图为 a8大佬提供的思路,这个思路我深入研究之后发现解决了 水流会冲掉头颅的问题,但是对于图1,图2,所示的问题无能为力

苦瓜chaos
用交互事件试试看
判断是不是拿着水桶右键
判断右键的方块能不能放水
判断方块上有没有头颅
有的话取消事件

shutong
a103060 发表于 2019-4-18 14:38
用交互事件试试看
判断是不是拿着水桶右键
判断右键的方块能不能放水

怎么判断一个方块的上面有没有头颅

苦瓜chaos
shutong 发表于 2019-4-18 15:22
怎么判断一个方块的上面有没有头颅


location

a8105
PlayerInteractEvent e
Block clickBlock=e.getClickedBlock();
if(clickBlock==null)
  return;
Block upBlock=clickBlock.getRelative(BlockFace.UP);
if(upBlock!=null && upBlock.getState() instanceof Skull){
    e.setCancelled(true);
}

Savior_Hn
这个设定能否从代码方面解决掉?

shutong
Savior_Hn 发表于 2019-4-19 10:34
这个设定能否从代码方面解决掉?

不太清楚,可以多看看bukkitAPI尝试用不同思路解决一下,再A8大佬发出代码之前我用别的方法解决了。不过比较繁琐麻烦

shutong
810587921 发表于 2019-4-18 18:37
PlayerInteractEvent e
Block clickBlock=e.getClickedBlock();
if(clickBlock==null)

这段代码会导致所有头颅都变成 小白头颅 e.setCancelled(true); 我把这段代码换成 不让水放置成功就可以了