Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java2新对象混乱在一起_Java_Bukkit - Fatal编程技术网

Java2新对象混乱在一起

Java2新对象混乱在一起,java,bukkit,Java,Bukkit,我制作了一个名为游戏的新对象: public class Game { private String gamenaam; private String bungeenaam; private int poort; private int minplayers; private int maxplayers; private static GameState gamestate = GameState.Ingame; public Ga

我制作了一个名为
游戏
的新对象:

public class Game {

    private String gamenaam;
    private String bungeenaam;
    private int poort;
    private int minplayers;
    private int maxplayers;
    private static GameState gamestate = GameState.Ingame;


    public Game(String naam) {
        this.gamenaam = naam;

        setAlles();
    }

    public String getGameNaam() {
        return this.gamenaam;
    }

    public String getBungeeNaam() {
        return bungeenaam;
    }

    public int getPoort() {
        return poort;
    }

    public int getMinPlayers() {
        return minplayers;
    }
    public int getMaxPlayers() {
        return maxplayers;
    }

    public GameState getCurrentState() {
        //System.out.print(gamenaam + ":" + MySQL.getGameState(getGameNaam()) + ":" + gamestate);
        return gamestate;
    }
    public void setCurrecntState(GameState state) {
        gamestate = state;
    }



    private void setAlles() {
        bungeenaam = MySQL.getBungeeNaam(this.gamenaam);
        poort = MySQL.getPoort(this.gamenaam);
        minplayers = MySQL.getMinPlayer(this.gamenaam); 
        maxplayers = MySQL.getMaxPlayer(this.gamenaam);
        //gamestate = MySQL.getGameState(this.gamenaam);
    }

}
我将所有内容存储在一个
公共静态HashMap gameSigns=newhashmap()中地图

Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(Bukkit.getPluginManager().getPlugin("SCGameHost"), new Runnable() {

    @Override
    public void run() {
        for(Map.Entry<Location, Game> entry: Main.gameSigns.entrySet()){
            Game game = entry.getValue();
            if(game.getGameNaam().equalsIgnoreCase("Heks")) {
                System.out.print(game.getGameNaam()+" is changed to FINISHED");
                game.setCurrecntState(GameState.Finished);
            }else {
                game.setCurrecntState(GameState.Maintenance);
            }
        }
    }
}, 10 *20L, 10 *20L);
Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(Bukkit.getPluginManager().getPlugin(“SCGameHost”),新的Runnable(){
@凌驾
公开募捐{
对于(Map.Entry:Main.gameSigns.entrySet()){
Game=entry.getValue();
if(game.getGameNaam().equalsIgnoreCase(“Heks”)){
System.out.print(game.getGameNaam()+“更改为FINISHED”);
game.setCurrecntState(GameState.Finished);
}否则{
game.setCurrecntState(GameState.Maintenance);
}
}
}
},10*20L,10*20L);
我在游戏中有两件事,一件是地图,另一件是雪球。
当我将Heks更改为
游戏状态时。已完成的
雪球也会被更改。

这是因为变量GameState是静态的,所以它在游戏类的所有实例之间共享。如果您希望为不同的实例使用单独的值,请删除“静态”一词。

您的意思是
Snowball
更改为
GameState
维护?这是因为如果
game.getGameNaam()
不等于Heks,您正在将
GameState
设置为
Maintenance
。从
GameState
属性中删除
static
。@Sybren当game.getGameNaam为“Heks”时,它被设置为Finished,但雪球的游戏状态也被更改为FinishedFinished@Keppil天哪,谢谢你,伙计,修好了:哦