64 lines
1.8 KiB
Java
64 lines
1.8 KiB
Java
package ru.dmitriymx.minecraft.globalchat;
|
|
|
|
import lombok.AllArgsConstructor;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.configuration.file.FileConfiguration;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
import java.util.List;
|
|
import java.util.StringJoiner;
|
|
|
|
@AllArgsConstructor
|
|
class Config {
|
|
|
|
private JavaPlugin plugin;
|
|
private FileConfiguration config;
|
|
|
|
String getHosts() {
|
|
String hosts;
|
|
List<String> hostList = config.getStringList("kafka.hosts");
|
|
if (hostList.size() == 0) {
|
|
Bukkit.getServer().getPluginManager().disablePlugin(plugin);
|
|
throw new RuntimeException("Empty field 'kafka.hosts'!");
|
|
} else if (hostList.size() == 1) {
|
|
hosts = hostList.get(0);
|
|
} else {
|
|
StringJoiner sj = new StringJoiner(",");
|
|
hostList.forEach(sj::add);
|
|
hosts = sj.toString();
|
|
}
|
|
|
|
return hosts;
|
|
}
|
|
|
|
String getTopic() {
|
|
String topic = config.getString("kafka.topic");
|
|
if (topic == null || topic.trim().isEmpty()) {
|
|
Bukkit.getServer().getPluginManager().disablePlugin(plugin);
|
|
throw new RuntimeException("Empty field 'kafka.topic'!");
|
|
}
|
|
|
|
return topic;
|
|
}
|
|
|
|
long getDuration() {
|
|
long duration = config.getLong("kafka.duration");
|
|
if (duration == 0L) {
|
|
plugin.getLogger().warning("Field 'kafka.duration' is verry low. Set default value 1000.");
|
|
duration = 1000L;
|
|
}
|
|
|
|
return duration;
|
|
}
|
|
|
|
String getFormat() {
|
|
String format = config.getString("message_format");
|
|
if (format.trim().isEmpty()) {
|
|
plugin.getLogger().warning("Field 'message_format' is empty. Set default value '{0}: {1}'.");
|
|
format = "{0}: {1}";
|
|
}
|
|
|
|
return format;
|
|
}
|
|
}
|