summaryrefslogtreecommitdiffstats
path: root/nms-patches/PropertyManager.patch
diff options
context:
space:
mode:
authorThinkofdeath <thinkofdeath@spigotmc.org>2014-11-26 08:32:16 +1100
committermd_5 <git@md-5.net>2014-11-28 17:16:30 +1100
commit24557bc2b37deb6a0edf497d547471832457b1dd (patch)
treec560572889a3b0b34964a0cddb35dc87fda3c914 /nms-patches/PropertyManager.patch
parenta4805dbd77da057cc1ea0bf344379bc6e53ca1f6 (diff)
downloadcraftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.tar
craftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.tar.gz
craftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.tar.lz
craftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.tar.xz
craftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.zip
Update to Minecraft 1.8
For more information please see http://www.spigotmc.org/
Diffstat (limited to 'nms-patches/PropertyManager.patch')
-rw-r--r--nms-patches/PropertyManager.patch94
1 files changed, 94 insertions, 0 deletions
diff --git a/nms-patches/PropertyManager.patch b/nms-patches/PropertyManager.patch
new file mode 100644
index 00000000..9812b439
--- /dev/null
+++ b/nms-patches/PropertyManager.patch
@@ -0,0 +1,94 @@
+--- ../work/decompile-bb26c12b/net/minecraft/server/PropertyManager.java 2014-11-27 08:59:46.869421107 +1100
++++ src/main/java/net/minecraft/server/PropertyManager.java 2014-11-27 08:42:10.100851012 +1100
+@@ -8,6 +8,8 @@
+ import org.apache.logging.log4j.LogManager;
+ import org.apache.logging.log4j.Logger;
+
++import joptsimple.OptionSet; // CraftBukkit
++
+ public class PropertyManager {
+
+ private static final Logger a = LogManager.getLogger();
+@@ -39,8 +41,25 @@
+ PropertyManager.a.warn(file + " does not exist");
+ this.a();
+ }
++ }
++
++ // CraftBukkit start
++ private OptionSet options = null;
++
++ public PropertyManager(final OptionSet options) {
++ this((File) options.valueOf("config"));
++
++ this.options = options;
++ }
++
++ private <T> T getOverride(String name, T value) {
++ if ((this.options != null) && (this.options.has(name))) {
++ return (T) this.options.valueOf(name);
++ }
+
++ return value;
+ }
++ // CraftBukkit end
+
+ public void a() {
+ PropertyManager.a.info("Generating new properties file");
+@@ -51,6 +70,12 @@
+ FileOutputStream fileoutputstream = null;
+
+ try {
++ // CraftBukkit start - Don't attempt writing to file if it's read only
++ if (this.file.exists() && !this.file.canWrite()) {
++ return;
++ }
++ // CraftBukkit end
++
+ fileoutputstream = new FileOutputStream(this.file);
+ this.properties.store(fileoutputstream, "Minecraft server properties");
+ } catch (Exception exception) {
+@@ -80,36 +105,36 @@
+ this.savePropertiesFile();
+ }
+
+- return this.properties.getProperty(s, s1);
++ return getOverride(s, this.properties.getProperty(s, s1)); // CraftBukkit
+ }
+
+ public int getInt(String s, int i) {
+ try {
+- return Integer.parseInt(this.getString(s, "" + i));
++ return getOverride(s, Integer.parseInt(this.getString(s, "" + i))); // CraftBukkit
+ } catch (Exception exception) {
+ this.properties.setProperty(s, "" + i);
+ this.savePropertiesFile();
+- return i;
++ return getOverride(s, i); // CraftBukkit
+ }
+ }
+
+ public long getLong(String s, long i) {
+ try {
+- return Long.parseLong(this.getString(s, "" + i));
++ return getOverride(s, Long.parseLong(this.getString(s, "" + i))); // CraftBukkit
+ } catch (Exception exception) {
+ this.properties.setProperty(s, "" + i);
+ this.savePropertiesFile();
+- return i;
++ return getOverride(s ,i); // CraftBukkit
+ }
+ }
+
+ public boolean getBoolean(String s, boolean flag) {
+ try {
+- return Boolean.parseBoolean(this.getString(s, "" + flag));
++ return getOverride(s, Boolean.parseBoolean(this.getString(s, "" + flag))); // CraftBukkit
+ } catch (Exception exception) {
+ this.properties.setProperty(s, "" + flag);
+ this.savePropertiesFile();
+- return flag;
++ return getOverride(s, flag); // CraftBukkit
+ }
+ }
+