diff options
author | Thinkofdeath <thinkofdeath@spigotmc.org> | 2014-11-26 08:32:16 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2014-11-28 17:16:30 +1100 |
commit | 24557bc2b37deb6a0edf497d547471832457b1dd (patch) | |
tree | c560572889a3b0b34964a0cddb35dc87fda3c914 /src/main/java/net/minecraft/server/WorldNBTStorage.java | |
parent | a4805dbd77da057cc1ea0bf344379bc6e53ca1f6 (diff) | |
download | craftbukkit-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 'src/main/java/net/minecraft/server/WorldNBTStorage.java')
-rw-r--r-- | src/main/java/net/minecraft/server/WorldNBTStorage.java | 310 |
1 files changed, 0 insertions, 310 deletions
diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java deleted file mode 100644 index 93ff8d3b..00000000 --- a/src/main/java/net/minecraft/server/WorldNBTStorage.java +++ /dev/null @@ -1,310 +0,0 @@ -package net.minecraft.server; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -// CraftBukkit start -import java.util.UUID; - -import org.bukkit.craftbukkit.entity.CraftPlayer; -// CraftBukkit end - -public class WorldNBTStorage implements IDataManager, IPlayerFileData { - - private static final Logger a = LogManager.getLogger(); - private final File baseDir; - private final File playerDir; - private final File dataDir; - private final long sessionId = MinecraftServer.ar(); - private final String f; - private UUID uuid = null; // CraftBukkit - - public WorldNBTStorage(File file1, String s, boolean flag) { - this.baseDir = new File(file1, s); - this.baseDir.mkdirs(); - this.playerDir = new File(this.baseDir, "playerdata"); - this.dataDir = new File(this.baseDir, "data"); - this.dataDir.mkdirs(); - this.f = s; - if (flag) { - this.playerDir.mkdirs(); - } - - this.h(); - } - - private void h() { - try { - File file1 = new File(this.baseDir, "session.lock"); - DataOutputStream dataoutputstream = new DataOutputStream(new FileOutputStream(file1)); - - try { - dataoutputstream.writeLong(this.sessionId); - } finally { - dataoutputstream.close(); - } - } catch (IOException ioexception) { - ioexception.printStackTrace(); - throw new RuntimeException("Failed to check session lock, aborting"); - } - } - - public File getDirectory() { - return this.baseDir; - } - - public void checkSession() throws ExceptionWorldConflict { // CraftBukkit - throws ExceptionWorldConflict - try { - File file1 = new File(this.baseDir, "session.lock"); - DataInputStream datainputstream = new DataInputStream(new FileInputStream(file1)); - - try { - if (datainputstream.readLong() != this.sessionId) { - throw new ExceptionWorldConflict("The save is being accessed from another location, aborting"); - } - } finally { - datainputstream.close(); - } - } catch (IOException ioexception) { - throw new ExceptionWorldConflict("Failed to check session lock, aborting"); - } - } - - public IChunkLoader createChunkLoader(WorldProvider worldprovider) { - throw new RuntimeException("Old Chunk Storage is no longer supported."); - } - - public WorldData getWorldData() { - File file1 = new File(this.baseDir, "level.dat"); - NBTTagCompound nbttagcompound; - NBTTagCompound nbttagcompound1; - - if (file1.exists()) { - try { - nbttagcompound = NBTCompressedStreamTools.a((InputStream) (new FileInputStream(file1))); - nbttagcompound1 = nbttagcompound.getCompound("Data"); - return new WorldData(nbttagcompound1); - } catch (Exception exception) { - exception.printStackTrace(); - } - } - - file1 = new File(this.baseDir, "level.dat_old"); - if (file1.exists()) { - try { - nbttagcompound = NBTCompressedStreamTools.a((InputStream) (new FileInputStream(file1))); - nbttagcompound1 = nbttagcompound.getCompound("Data"); - return new WorldData(nbttagcompound1); - } catch (Exception exception1) { - exception1.printStackTrace(); - } - } - - return null; - } - - public void saveWorldData(WorldData worlddata, NBTTagCompound nbttagcompound) { - NBTTagCompound nbttagcompound1 = worlddata.a(nbttagcompound); - NBTTagCompound nbttagcompound2 = new NBTTagCompound(); - - nbttagcompound2.set("Data", nbttagcompound1); - - try { - File file1 = new File(this.baseDir, "level.dat_new"); - File file2 = new File(this.baseDir, "level.dat_old"); - File file3 = new File(this.baseDir, "level.dat"); - - NBTCompressedStreamTools.a(nbttagcompound2, (OutputStream) (new FileOutputStream(file1))); - if (file2.exists()) { - file2.delete(); - } - - file3.renameTo(file2); - if (file3.exists()) { - file3.delete(); - } - - file1.renameTo(file3); - if (file1.exists()) { - file1.delete(); - } - } catch (Exception exception) { - exception.printStackTrace(); - } - } - - public void saveWorldData(WorldData worlddata) { - NBTTagCompound nbttagcompound = worlddata.a(); - NBTTagCompound nbttagcompound1 = new NBTTagCompound(); - - nbttagcompound1.set("Data", nbttagcompound); - - try { - File file1 = new File(this.baseDir, "level.dat_new"); - File file2 = new File(this.baseDir, "level.dat_old"); - File file3 = new File(this.baseDir, "level.dat"); - - NBTCompressedStreamTools.a(nbttagcompound1, (OutputStream) (new FileOutputStream(file1))); - if (file2.exists()) { - file2.delete(); - } - - file3.renameTo(file2); - if (file3.exists()) { - file3.delete(); - } - - file1.renameTo(file3); - if (file1.exists()) { - file1.delete(); - } - } catch (Exception exception) { - exception.printStackTrace(); - } - } - - public void save(EntityHuman entityhuman) { - try { - NBTTagCompound nbttagcompound = new NBTTagCompound(); - - entityhuman.e(nbttagcompound); - File file1 = new File(this.playerDir, entityhuman.getUniqueID().toString() + ".dat.tmp"); - File file2 = new File(this.playerDir, entityhuman.getUniqueID().toString() + ".dat"); - - NBTCompressedStreamTools.a(nbttagcompound, (OutputStream) (new FileOutputStream(file1))); - if (file2.exists()) { - file2.delete(); - } - - file1.renameTo(file2); - } catch (Exception exception) { - a.warn("Failed to save player data for " + entityhuman.getName()); - } - } - - public NBTTagCompound load(EntityHuman entityhuman) { - NBTTagCompound nbttagcompound = null; - - try { - File file1 = new File(this.playerDir, entityhuman.getUniqueID().toString() + ".dat"); - - if (file1.exists() && file1.isFile()) { - nbttagcompound = NBTCompressedStreamTools.a((InputStream) (new FileInputStream(file1))); - } - } catch (Exception exception) { - a.warn("Failed to load player data for " + entityhuman.getName()); - } - - if (nbttagcompound != null) { - // CraftBukkit start - if (entityhuman instanceof EntityPlayer) { - CraftPlayer player = (CraftPlayer) entityhuman.bukkitEntity; - // Only update first played if it is older than the one we have - long modified = new File(this.playerDir, entityhuman.getUniqueID().toString() + ".dat").lastModified(); - if (modified < player.getFirstPlayed()) { - player.setFirstPlayed(modified); - } - } - // CraftBukkit end - - entityhuman.f(nbttagcompound); - } - - return nbttagcompound; - } - - public NBTTagCompound getPlayerData(String s) { - try { - File file1 = new File(this.playerDir, s + ".dat"); - - if (file1.exists()) { - return NBTCompressedStreamTools.a((InputStream) (new FileInputStream(file1))); - } - } catch (Exception exception) { - a.warn("Failed to load player data for " + s); - } - - return null; - } - - public IPlayerFileData getPlayerFileData() { - return this; - } - - public String[] getSeenPlayers() { - String[] astring = this.playerDir.list(); - - for (int i = 0; i < astring.length; ++i) { - if (astring[i].endsWith(".dat")) { - astring[i] = astring[i].substring(0, astring[i].length() - 4); - } - } - - return astring; - } - - public void a() {} - - public File getDataFile(String s) { - return new File(this.dataDir, s + ".dat"); - } - - public String g() { - return this.f; - } - - // CraftBukkit start - public UUID getUUID() { - if (uuid != null) return uuid; - File file1 = new File(this.baseDir, "uid.dat"); - if (file1.exists()) { - DataInputStream dis = null; - try { - dis = new DataInputStream(new FileInputStream(file1)); - return uuid = new UUID(dis.readLong(), dis.readLong()); - } catch (IOException ex) { - a.warn("Failed to read " + file1 + ", generating new random UUID", ex); - } finally { - if (dis != null) { - try { - dis.close(); - } catch (IOException ex) { - // NOOP - } - } - } - } - uuid = UUID.randomUUID(); - DataOutputStream dos = null; - try { - dos = new DataOutputStream(new FileOutputStream(file1)); - dos.writeLong(uuid.getMostSignificantBits()); - dos.writeLong(uuid.getLeastSignificantBits()); - } catch (IOException ex) { - a.warn("Failed to write " + file1, ex); - } finally { - if (dos != null) { - try { - dos.close(); - } catch (IOException ex) { - // NOOP - } - } - } - return uuid; - } - - public File getPlayerDir() { - return playerDir; - } - // CraftBukkit end -} |