小编joe*_*nte的帖子

为什么if语句不能检测我的游戏状态

我是Java的新手,我在代码中遇到了一个"错误",我无法理解/修复.为了给你一些背景知识,我设置了一个说明所有游戏状态的枚举(下面)

public enum GameState {

    IN_LOBBY(true), IN_GAME(false), POST_GAME(false), RESETTING(false);

    private boolean canJoin;    
    private static GameState currentState;

    GameState(boolean canJoin) {
        this.canJoin = canJoin;
    }

    public boolean canJoin() {
        return canJoin();
    }

    public static void setState(GameState state) {
        GameState currentState = state;
    }

    public static boolean isState(GameState state) {
        return GameState.currentState == state;
    }

    public static GameState getState() {
        return currentState;
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的main.java类中,我在onEnable方法中指定将GameState设置为IN_LOBBY.

基本上我想要做的是在BlockBreakEvent Listener我想说的是

if (GameState.isState(GameState.IN_LOBBY)) {
    Location bLoc = block.getLocation();
    ChatUtilties.errorPlayer("You may not …
Run Code Online (Sandbox Code Playgroud)

java plugins enums listeners

1
推荐指数
1
解决办法
127
查看次数

标签 统计

enums ×1

java ×1

listeners ×1

plugins ×1