Java Bukkit-从其他@EventHandler获取变量?

Java Bukkit-从其他@EventHandler获取变量?,java,bukkit,Java,Bukkit,我想知道如何从不同的@EventHandler获取变量。在这个实例中,我的变量是一个数组列表 我的代码如下: @EventHandler public void onBlockBreak(BlockBreakEvent event) { ArrayList<String> build = new ArrayList(); Player player = event.getPlayer(); if(!player.isOp()) { event.

我想知道如何从不同的@EventHandler获取变量。在这个实例中,我的变量是一个数组列表

我的代码如下:

@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
    ArrayList<String> build = new ArrayList();
    Player player = event.getPlayer();
    if(!player.isOp()) {
        event.setCancelled(true);
    }else if(!build.contains(player)) {
        event.setCancelled(true);
    }else if(build.contains(player)) {
        event.setCancelled(false);
    }
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
    Player player = event.getPlayer();
    event.setJoinMessage("§4§l>>§a§l " + player + " §b§ljoined! §4§l<<");
    if(build.contains(player)) {
        build.remove(player);
@EventHandler
BlockBreak上的公共无效(BlockBreakEvent事件){
ArrayList build=新建ArrayList();
Player=event.getPlayer();
如果(!player.isOp()){
event.setCancelled(true);
}如果(!build.contains(player)){
event.setCancelled(true);
}else if(build.contains(player)){
event.setCancelled(false);
}
}
@事件处理程序
PlayerJoin上的公共无效(PlayerJoinEvent事件){
Player=event.getPlayer();

事件。setJoinMessage(§4§l>§a§l“+玩家+”§b§l已加入!§4§l
构建
是一个局部变量,仅在BlockBreak(BlockBreakEvent事件)
方法中可用

您要做的是在方法之外声明一个变量,并在它的
onEnable()
方法中初始化它。您还应该执行KingFaris10的操作并存储播放器的UUID。您还需要某种方法将播放器添加到ArrayList中

private ArrayList<UUID> build;
@Override
public void onEnable () {
    build = new ArrayList<UUID>();
}

@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
    Player player = event.getPlayer();
    //Following derived from KingFaris10
    if (!player.isOp() || !build.contains(player.getUUID())) event.setCancelled(true);
    else event.setCancelled(false);
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
    Player player = event.getPlayer();
    event.setJoinMessage("§4§l>>§a§l " + player + " §b§ljoined! §4§l<<");
    UUID id = player.getUUID();
    if(build.contains(id)) {
        build.remove(id);
私有ArrayList构建;
@凌驾
公共void可合并(){
build=newarraylist();
}
@事件处理程序
BlockBreak上的公共无效(BlockBreakEvent事件){
Player=event.getPlayer();
//以下内容来源于KingFaris10
如果(!player.isOp()| |!build.contains(player.getUUID())event.setCancelled(true);
else事件。setCancelled(false);
}
@事件处理程序
PlayerJoin上的公共无效(PlayerJoinEvent事件){
Player=event.getPlayer();

事件。setJoinMessage(§4§l>§a§l“+玩家+”§b§l加入!§4§l问题的范围是可变的。