java - 我想杀死一个球员,如果他超过 24 个街区

标签 java plugins minecraft bukkit

我想制作一个 Spigot 插件来杀死超过 24 个方 block 的玩家。 我已经做了一个代码,但它不起作用 这是完整代码,我不需要注册新类,因为我在主类中编写了事件

import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class MainFFA extends JavaPlugin implements Listener{

@Override
public void onEnable() {
    getServer().getConsoleSender().sendMessage("_____________START_____________");
    getServer().getConsoleSender().sendMessage("_____________START_____________");
    getServer().getConsoleSender().sendMessage("_____________START_____________");
    getServer().getConsoleSender().sendMessage("_____________START_____________");
    super.onEnable();
}

@Override
public void onDisable() {
    getServer().getConsoleSender().sendMessage("_________STOP_________-");
    super.onDisable();
}
@EventHandler
public void onPlayerDead(PlayerMoveEvent event) {
    Player p = event.getPlayer();
    if(p.getLocation().getBlockY() > 80) {
        p.setHealth(0);
    }
    else {
        p.sendMessage("Wenn du das siehst dann bist du unter 80 blöcken hoch");
    }

}
}

最佳答案

要解决此问题,您必须记住注册您的监听器,否则bukkit 将永远看不到它们。

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

将该行添加到 onEnable 方法中,您应该没问题

关于java - 我想杀死一个球员,如果他超过 24 个街区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54266854/

相关文章:

java - Perl Pipe 不重定向 Java 进程输出

java - Netty 中多种数据包类型的解码和编码

Python 查询游戏服务器

java - 从 Java 运行时执行的 avconv 工具在 8 分钟后停止编码

java - richfaces 文件上传 ViewExpiredException

java - 使用 Eclipse 开发插件时目标平台和依赖项之间的区别

C++ Adob​​e Premiere 视频过滤器 - 在输出视频帧中打印/绘制/渲染文本

java - 创建一个 bean 并 Autowiring 它

java - Android 写入文件时出现 NullPointerException

java - 如何在 JFace 的 TableViewer 中创建复选框?