Waterfall/BungeeCord-Patches/0004-Add-Waterfall-configuration-files.patch
2018-11-04 20:27:05 +00:00

123 lines
4.3 KiB
Diff

From 646d6568f7a1d99bf28ab4651ffa6f48140a99b2 Mon Sep 17 00:00:00 2001
From: Techcable <Techcable@techcable.net>
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 edd82c1e..b30541be 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 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 7fe5bbea..a8bb4fd0 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 d7879d10..1c585e60 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 8a17c8d4..5237182a 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<String, Object> 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;
Map<String, Object> permissions = get( "permissions", new HashMap<String, Object>() );
if ( permissions.isEmpty() )
{
--
2.19.1