我正在用的插頭(我的世界)一個插件,我用枚舉來存儲郵件/語言,也具體的事情地位。 問題是狀態枚舉取決於消息枚舉。消息枚舉依賴於文件messages.yml。 我知道如何重新加載該文件,但是當我這樣做時,如果我更改文件messages.yml中的翻譯,但發送的消息會更新,但狀態消息的狀態不會更新。我會以「刷新」枚舉實例
因此,我想知道是否有可能刪除一個枚舉的實例,並再次向產生它更新這些值喜歡當插件重新加載它。
public enum Message {
WAITING("Status.Waiting");
private String path;
Message(String path) {
this.path = path;
}
public String getMessage() {
return file.getString(path);
}
}
public enum Status {
WAITING(Message.WAITING.getMessage());
private String name;
Status(String name) {
this.name = name;
}
public getName() {
return name;
}
}
請不要回答這個問題,我可以把WAITING(Message.WAITING),做Status.WAITING.getName(),會做name.getMessage();.我寫這段代碼作爲例子,我的函數不使用getName()函數,只是enum的值,所以名稱寫在消息枚舉中。
如果有人解決這個問題,請提前致謝。 :)
爲什麼你真的需要使用枚舉?你可以在所有消息中使用帶getters的類,它們會在你的配置文件中找到並存儲在地圖中,例如 – Kerooker
雖然'enums'可能聽起來像是儲存消息的好主意,但事實並非如此。枚舉並不是爲了重新加載而設計的,它們被設計成常量,所以任何黑客你放在一起都不值得花費。我推薦的是直接從文件中獲取消息。 –