ProjectAres/PGM/src/main/java/tc/oc/pgm/listing/ListingConfiguration.java

38 lines
1.0 KiB
Java

package tc.oc.pgm.listing;
import java.net.URL;
import java.util.OptionalInt;
import javax.annotation.Nullable;
import javax.inject.Inject;
import tc.oc.commons.core.configuration.ConfigUtils;
import tc.oc.minecraft.api.configuration.Configuration;
import tc.oc.minecraft.api.configuration.ConfigurationSection;
import tc.oc.net.UriUtils;
class ListingConfiguration {
private final ConfigurationSection config;
@Inject ListingConfiguration(Configuration root) {
this.config = root.needSection("announce");
}
public boolean enabled() {
return config.getBoolean("enabled", false);
}
public URL announceUrl() {
return ConfigUtils.getUrl(config, "url", UriUtils.url("https://oc.tc/announce"));
}
public @Nullable String serverHost() {
return config.getString("server-host");
}
public OptionalInt serverPort() {
final int port = config.getInt("server-port", 0);
return port != 0 ? OptionalInt.of(port) : OptionalInt.empty();
}
}