summaryrefslogtreecommitdiffstats
path: root/nms-patches/NameReferencingFileConverter.patch
blob: 6a8e7d40409ada69736abcc29113e9c7a95e9757 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
--- /home/matt/mc-dev-private//net/minecraft/server/NameReferencingFileConverter.java	2015-02-26 22:40:22.891608136 +0000
+++ src/main/java/net/minecraft/server/NameReferencingFileConverter.java	2015-02-26 22:40:22.891608136 +0000
@@ -87,8 +87,9 @@
             if (gameprofilebanlist.c().exists()) {
                 try {
                     gameprofilebanlist.load();
-                } catch (FileNotFoundException filenotfoundexception) {
-                    NameReferencingFileConverter.e.warn("Could not load existing file " + gameprofilebanlist.c().getName(), filenotfoundexception);
+                // CraftBukkit start - FileNotFoundException -> IOException, don't print stacetrace
+                } catch (IOException filenotfoundexception) {
+                    NameReferencingFileConverter.e.warn("Could not load existing file " + gameprofilebanlist.c().getName());
                 }
             }
 
@@ -145,8 +146,9 @@
             if (ipbanlist.c().exists()) {
                 try {
                     ipbanlist.load();
-                } catch (FileNotFoundException filenotfoundexception) {
-                    NameReferencingFileConverter.e.warn("Could not load existing file " + ipbanlist.c().getName(), filenotfoundexception);
+                // CraftBukkit start - FileNotFoundException -> IOException, don't print stacetrace
+                } catch (IOException filenotfoundexception) {
+                    NameReferencingFileConverter.e.warn("Could not load existing file " + ipbanlist.c().getName());
                 }
             }
 
@@ -186,8 +188,9 @@
             if (oplist.c().exists()) {
                 try {
                     oplist.load();
-                } catch (FileNotFoundException filenotfoundexception) {
-                    NameReferencingFileConverter.e.warn("Could not load existing file " + oplist.c().getName(), filenotfoundexception);
+                // CraftBukkit start - FileNotFoundException -> IOException, don't print stacetrace
+                } catch (IOException filenotfoundexception) {
+                    NameReferencingFileConverter.e.warn("Could not load existing file " + oplist.c().getName());
                 }
             }
 
@@ -230,8 +233,9 @@
             if (whitelist.c().exists()) {
                 try {
                     whitelist.load();
-                } catch (FileNotFoundException filenotfoundexception) {
-                    NameReferencingFileConverter.e.warn("Could not load existing file " + whitelist.c().getName(), filenotfoundexception);
+                // CraftBukkit start - FileNotFoundException -> IOException, don't print stacetrace
+                } catch (IOException filenotfoundexception) {
+                    NameReferencingFileConverter.e.warn("Could not load existing file " + whitelist.c().getName());
                 }
             }
 
@@ -350,6 +354,30 @@
                         File file1 = new File(file2, s + ".dat");
                         File file3 = new File(file, s1 + ".dat");
 
+                        // CraftBukkit start - Use old file name to seed lastKnownName
+                        NBTTagCompound root = null;
+
+                        try {
+                            root = NBTCompressedStreamTools.a(new java.io.FileInputStream(file1));
+                        } catch (Exception exception) {
+                            exception.printStackTrace();
+                        }
+
+                        if (root != null) {
+                            if (!root.hasKey("bukkit")) {
+                                root.set("bukkit", new NBTTagCompound());
+                            }
+                            NBTTagCompound data = root.getCompound("bukkit");
+                            data.setString("lastKnownName", s);
+
+                            try {
+                                NBTCompressedStreamTools.a(root, new java.io.FileOutputStream(file2));
+                            } catch (Exception exception) {
+                                exception.printStackTrace();
+                            }
+                       }
+                        // CraftBukkit end
+
                         NameReferencingFileConverter.b(file);
                         if (!file1.renameTo(file3)) {
                             throw new NameReferencingFileConverter.FileConversionException("Could not convert file for " + s, null);
@@ -467,7 +495,7 @@
 
     private static File d(PropertyManager propertymanager) {
         String s = propertymanager.getString("level-name", "world");
-        File file = new File(s);
+        File file = new File(MinecraftServer.getServer().server.getWorldContainer(), s); // CraftBukkit - Respect container setting
 
         return new File(file, "players");
     }