From 748f34eb706e5a59fc92b169d35b3e7f82f5eb24 Mon Sep 17 00:00:00 2001 From: Techcable Date: Tue, 25 Oct 2016 11:58:37 -0400 Subject: [PATCH] Add Waterfall configuration files diff --git a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java index edd82c1..b30541b 100644 --- a/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java +++ b/api/src/main/java/net/md_5/bungee/api/ProxyConfig.java @@ -79,4 +79,9 @@ public interface ProxyConfig * The favicon used for the server ping list. */ Favicon getFaviconObject(); + + // + // Waterfall Options + // + } diff --git a/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java new file mode 100644 index 0000000..f9e277d --- /dev/null +++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java @@ -0,0 +1,18 @@ +package io.github.waterfallmc.waterfall.conf; + +import lombok.*; + +import java.io.File; + +import net.md_5.bungee.conf.Configuration; +import net.md_5.bungee.conf.YamlConfig; + +public class WaterfallConfiguration extends Configuration { + + @Override + public void load() { + super.load(); + YamlConfig config = new YamlConfig(new File("waterfall.yml")); + config.load(false); // Load, but no permissions + } +} diff --git a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java index 5b01030..7bb0862 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -11,6 +11,7 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import io.github.waterfallmc.waterfall.conf.WaterfallConfiguration; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelException; @@ -103,7 +104,7 @@ public class BungeeCord extends ProxyServer * Configuration. */ @Getter - public final Configuration config = new Configuration(); + public final Configuration config = new WaterfallConfiguration(); /** * Localization bundle. */ diff --git a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java index 25d87d9..81dd4af 100644 --- a/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java +++ b/proxy/src/main/java/net/md_5/bungee/conf/Configuration.java @@ -24,7 +24,7 @@ import net.md_5.bungee.util.CaseInsensitiveSet; * Core configuration for the proxy. */ @Getter -public class Configuration implements ProxyConfig +public abstract class Configuration implements ProxyConfig { /** diff --git a/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java b/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java index 82ff91a..4ec9782 100644 --- a/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java +++ b/proxy/src/main/java/net/md_5/bungee/conf/YamlConfig.java @@ -42,10 +42,15 @@ public class YamlConfig implements ConfigurationAdapter } private final Yaml yaml; private Map config; - private final File file = new File( "config.yml" ); + private final File file; - public YamlConfig() + public YamlConfig() { + this(new File("config.yml")); + } + + public YamlConfig(File file) { + this.file = file; DumperOptions options = new DumperOptions(); options.setDefaultFlowStyle( DumperOptions.FlowStyle.BLOCK ); yaml = new Yaml( options ); @@ -54,6 +59,11 @@ public class YamlConfig implements ConfigurationAdapter @Override public void load() { + load(true); + } + + public void load(boolean doPermissions) + { try { file.createNewFile(); @@ -75,6 +85,7 @@ public class YamlConfig implements ConfigurationAdapter throw new RuntimeException( "Could not load configuration!", ex ); } + if (!doPermissions) return; Map permissions = get( "permissions", new HashMap() ); if ( permissions.isEmpty() ) { -- 2.10.0