Fix getting white list, ban list, and op list. Fixes BUKKIT-5538

The getEntries methods on these return player names instead of UUIDs.
As we need the UUIDs for our API we add a getValues method to get at
the data we need. To further ensure we get the most data possible we
also add a way to get at the stored GameProfile to ensure we always
have both the UUID and the name from the list.
This commit is contained in:
Travis Watkins
2014-04-17 03:31:49 -05:00
parent 5cbbcae9a9
commit 6ad36f09e5
9 changed files with 78 additions and 51 deletions

View File

@@ -79,6 +79,12 @@ public class JsonList {
return (String[]) this.d.keySet().toArray(new String[this.d.size()]);
}
// CraftBukkit start
public Collection<JsonListEntry> getValues() {
return this.d.values();
}
// CraftBukkit end
public boolean d() {
return this.d.size() < 1;
}
@@ -120,7 +126,7 @@ public class JsonList {
return this.d;
}
public void save() {
public void save() throws IOException { // CraftBukkit - Added throws
Collection collection = this.d.values();
String s = this.b.toJson(collection);
BufferedWriter bufferedwriter = null;
@@ -133,7 +139,7 @@ public class JsonList {
}
}
public void load() {
public void load() throws IOException { // CraftBukkit - Added throws
Collection collection = null;
BufferedReader bufferedreader = null;

View File

@@ -14,7 +14,7 @@ public class JsonListEntry {
this.a = object;
}
Object f() {
public Object f() { // CraftBukkit -> package private -> public
return this.a;
}

View File

@@ -1,5 +1,7 @@
package net.minecraft.server;
// CraftBukkit - Imported for package private use in JsonList
import java.lang.reflect.Type;
import net.minecraft.util.com.google.gson.JsonDeserializationContext;

View File

@@ -77,14 +77,12 @@ public class NameReferencingFileConverter {
if (b.exists() && b.isFile()) {
if (gameprofilebanlist.c().exists()) {
/* CraftBukkit start - Exception is never thrown
try {
gameprofilebanlist.load();
} catch (FileNotFoundException filenotfoundexception) {
e.warn("Could not load existing file " + gameprofilebanlist.c().getName(), filenotfoundexception);
// CraftBukkit start - FileNotFoundException -> IOException, don't print stacetrace
} catch (IOException filenotfoundexception) {
e.warn("Could not load existing file " + gameprofilebanlist.c().getName() + ", " + filenotfoundexception.getMessage());
}
*/
gameprofilebanlist.load();
// CraftBukkit end
}
@@ -115,14 +113,12 @@ public class NameReferencingFileConverter {
if (a.exists() && a.isFile()) {
if (ipbanlist.c().exists()) {
/* CraftBukkit start - Exception is never thrown
try {
ipbanlist.load();
} catch (FileNotFoundException filenotfoundexception) {
e.warn("Could not load existing file " + ipbanlist.c().getName(), filenotfoundexception);
// CraftBukkit start - FileNotFoundException -> IOException, don't print stacetrace
} catch (IOException filenotfoundexception) {
e.warn("Could not load existing file " + ipbanlist.c().getName() + ", " + filenotfoundexception.getMessage());
}
*/
ipbanlist.load();
// CraftBukkit end
}
@@ -160,14 +156,12 @@ public class NameReferencingFileConverter {
if (c.exists() && c.isFile()) {
if (oplist.c().exists()) {
/* CraftBukkit start - Exception is never thrown
try {
oplist.load();
} catch (FileNotFoundException filenotfoundexception) {
e.warn("Could not load existing file " + oplist.c().getName(), filenotfoundexception);
// CraftBukkit start - FileNotFoundException -> IOException, don't print stacetrace
} catch (IOException filenotfoundexception) {
e.warn("Could not load existing file " + oplist.c().getName() + ", " + filenotfoundexception.getMessage());
}
*/
oplist.load();
// CraftBukkit end
}
@@ -196,14 +190,12 @@ public class NameReferencingFileConverter {
if (d.exists() && d.isFile()) {
if (whitelist.c().exists()) {
/* CraftBukkit start - Exception is never thrown
try {
whitelist.load();
} catch (FileNotFoundException filenotfoundexception) {
e.warn("Could not load existing file " + whitelist.c().getName(), filenotfoundexception);
// CraftBukkit start - FileNotFoundException -> IOException, don't print stacetrace
} catch (IOException filenotfoundexception) {
e.warn("Could not load existing file " + whitelist.c().getName() + ", " + filenotfoundexception.getMessage());
}
*/
whitelist.load();
// CraftBukkit end
}