当他走过一个指定的街区时,我正试图让玩家获得一定的药水效果。不幸的是我无法理解。
我已尝试过的内容:
- 我在youtube上搜索了教程,但没有找到任何
答案 0 :(得分:5)
我不确定这是否是绝对最好的方式,但这就是我要做的。我会创建一个playerMoveEvent(每次玩家移动时调用)。然后通过获取播放器的位置然后设置块对象等于位置类中的getblock方法来检查该播放器下的块是什么。之后,这是一个测试问题,看看它是否是你想要的块,然后应用药水效果!
示例(拿着一粒盐,我现在没有环境来测试它):
@EventHandler
public void onPlayerMove(PlayerMoveEvenet event) {
Player p = event.getPlayer();
//This might not be the way to get the players location. Bukkit vs Spigot thing
Location l = p.getLocation();
l.add(0, -1, 0);
Block b = l.getBlock();
if(b.getType() == Material.WHATEVERBLOCKITIS){
p.addPotionEffect(WHATEVERPOTIONEFFECT);
}
}
如果您需要有关向插件添加活动的帮助,可以阅读更多相关信息here。