mirror of
https://github.com/PaperMC/Waterfall.git
synced 2024-11-06 10:45:37 +01:00
123 lines
4.3 KiB
Diff
123 lines
4.3 KiB
Diff
From 973e7912eb74dc03e2b4d1906ced46b5504935f8 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 36cac069..dddc57a8 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<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; // Waterfall
|
|
Map<String, Object> permissions = get( "permissions", null );
|
|
if ( permissions == null )
|
|
{
|
|
--
|
|
2.20.1
|
|
|