MCPcopy Index your code
hub / github.com/Maxlego08/zMenu / MessageLoader

Class MessageLoader

src/main/java/fr/maxlego08/menu/save/MessageLoader.java:18–155  ·  view source on GitHub ↗

The MessageLoader class extends YamlUtils and implements Savable to manage message configurations. This class is responsible for loading and saving custom messages to a YAML file for a Bukkit plugin.

Source from the content-addressed store, hash-verified

16 * This class is responsible for loading and saving custom messages to a YAML file for a Bukkit plugin.
17 */
18public class MessageLoader {
19
20 private final List<Message> loadedMessages = new ArrayList<>();
21 private final ZMenuPlugin plugin;
22
23 public MessageLoader(ZMenuPlugin plugin) {
24 this.plugin = plugin;
25 }
26
27 public void save() {
28
29 File file = new File(this.plugin.getDataFolder(), "messages.yml");
30 if (!file.exists()) {
31 try {
32 file.createNewFile();
33 } catch (IOException exception) {
34 exception.printStackTrace();
35 }
36 }
37
38 YamlConfiguration configuration = YamlConfiguration.loadConfiguration(file);
39 for (Message message : Message.values()) {
40
41 String path = message.name().toLowerCase().replace("_", "-");
42
43 if (configuration.contains(path)) continue;
44
45 if (message.getType() != MessageType.TCHAT) {
46 configuration.set(path + ".type", message.getType().name());
47 configuration.set(path + ".message", message.getMessage());
48 }
49 if (message.getType().equals(MessageType.TCHAT) || message.getType().equals(MessageType.ACTION) || message.getType().equals(MessageType.CENTER)) {
50
51 if (message.isMessage()) {
52 if (message.getType() != MessageType.TCHAT) {
53 configuration.set(path + ".messages", message.getMessages());
54 } else {
55 configuration.set(path, message.getMessages());
56 }
57 } else {
58 if (message.getType() != MessageType.TCHAT) {
59 configuration.set(path + ".message", message.getMessage());
60 } else {
61 configuration.set(path, message.getMessage());
62 }
63 }
64 }
65 }
66
67 try {
68 configuration.save(file);
69 } catch (IOException exception) {
70 exception.printStackTrace();
71 }
72
73 this.loadMessages(configuration);
74 }
75

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected