From 27a82909e4dc59093e8dfed729e0f56141665c87 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 5419445b..0e4e4096 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 @@ -78,4 +78,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 00000000..741ebfde --- /dev/null +++ b/proxy/src/main/java/io/github/waterfallmc/waterfall/conf/WaterfallConfiguration.java @@ -0,0 +1,17 @@ +package io.github.waterfallmc.waterfall.conf; + +import net.md_5.bungee.conf.Configuration; +import net.md_5.bungee.conf.YamlConfig; + +import java.io.File; + +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 f367f66a..1269cc10 100644 --- a/proxy/src/main/java/net/md_5/bungee/BungeeCord.java +++ b/proxy/src/main/java/net/md_5/bungee/BungeeCord.java @@ -10,6 +10,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; @@ -109,7 +110,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 49638c3a..886f3b4c 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 0ec6dabb..44011a96 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 @@ -44,10 +44,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 ); @@ -55,6 +60,11 @@ public class YamlConfig implements ConfigurationAdapter @Override public void load() + { + load(true); + } + + public void load(boolean doPermissions) { try { @@ -83,6 +93,7 @@ public class YamlConfig implements ConfigurationAdapter throw new RuntimeException( "Could not load configuration!", ex ); } + if(!doPermissions) return; // Waterfall Map permissions = get( "permissions", null ); if ( permissions == null ) { -- 2.21.0