gpt4 book ai didi

java - (MC bukkit服务器)右键单击特定项目以触发事件

转载 作者:行者123 更新时间:2023-12-02 13:19:45 41 4
gpt4 key购买 nike

public void arrowstick(PlayerInteractEvent event) {
Player p = event.getPlayer();
if(p.getInventory().getItemInMainHand().getType().equals(Material.STICK)){
if(event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK){

Arrow ar = p.getWorld().spawn(p.getLocation(), Arrow.class);
ar.setShooter(p);


}

}

}

我想要做的是,如果玩家手里拿着棍子右键单击,则射出一支箭。我似乎无法找到解决方案,有人知道我可能做错了什么吗?如果这是一个小而愚蠢的错误,我很抱歉,现在是凌晨 2 点,所以是的,希望你们能帮忙

最佳答案

我在这里为您编码:

public class Arrow extends JavaPlugin implements Listener {

public void onEnable() {
this.getServer().getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onPlayerInteract(PlayerInteractEvent e) {
Player p = e.getPlayer();
if (p.getInventory().getItemInHand().getType() == Material.STICK) {
if (e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
p.launchProjectile(Arrow.class);
}
}
}

}

如果您只是将监听器复制到新类中,请不要忘记将其设为实现监听器并注册监听器。

关于java - (MC bukkit服务器)右键单击特定项目以触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43623056/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com