mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-11-04 11:13:45 +01:00 
			
		
		
		
	Fixes #1502
This commit is contained in:
		@@ -6,14 +6,9 @@ import com.google.common.collect.HashBiMap;
 | 
				
			|||||||
import com.google.common.collect.Lists;
 | 
					import com.google.common.collect.Lists;
 | 
				
			||||||
import com.google.common.collect.MapMaker;
 | 
					import com.google.common.collect.MapMaker;
 | 
				
			||||||
import com.google.common.io.ByteSink;
 | 
					import com.google.common.io.ByteSink;
 | 
				
			||||||
import com.google.common.io.ByteSource;
 | 
					 | 
				
			||||||
import com.google.common.io.Closeables;
 | 
					import com.google.common.io.Closeables;
 | 
				
			||||||
 | 
					import com.google.common.io.InputSupplier;
 | 
				
			||||||
import com.google.common.primitives.Primitives;
 | 
					import com.google.common.primitives.Primitives;
 | 
				
			||||||
import org.bukkit.Bukkit;
 | 
					 | 
				
			||||||
import org.bukkit.Material;
 | 
					 | 
				
			||||||
import org.bukkit.Server;
 | 
					 | 
				
			||||||
import org.bukkit.inventory.ItemStack;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import java.io.BufferedInputStream;
 | 
					import java.io.BufferedInputStream;
 | 
				
			||||||
import java.io.DataInput;
 | 
					import java.io.DataInput;
 | 
				
			||||||
import java.io.DataInputStream;
 | 
					import java.io.DataInputStream;
 | 
				
			||||||
@@ -39,6 +34,10 @@ import java.util.Set;
 | 
				
			|||||||
import java.util.concurrent.ConcurrentMap;
 | 
					import java.util.concurrent.ConcurrentMap;
 | 
				
			||||||
import java.util.zip.GZIPInputStream;
 | 
					import java.util.zip.GZIPInputStream;
 | 
				
			||||||
import java.util.zip.GZIPOutputStream;
 | 
					import java.util.zip.GZIPOutputStream;
 | 
				
			||||||
 | 
					import org.bukkit.Bukkit;
 | 
				
			||||||
 | 
					import org.bukkit.Material;
 | 
				
			||||||
 | 
					import org.bukkit.Server;
 | 
				
			||||||
 | 
					import org.bukkit.inventory.ItemStack;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class NbtFactory {
 | 
					public class NbtFactory {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -164,13 +163,11 @@ public class NbtFactory {
 | 
				
			|||||||
     * @return The decoded NBT compound.
 | 
					     * @return The decoded NBT compound.
 | 
				
			||||||
     * @throws IOException If anything went wrong.
 | 
					     * @throws IOException If anything went wrong.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public static NbtCompound fromStream(ByteSource stream, StreamOptions option) throws IOException {
 | 
					    public static NbtCompound fromStream(InputStream input, StreamOptions option) throws IOException {
 | 
				
			||||||
        InputStream input = null;
 | 
					 | 
				
			||||||
        DataInputStream data = null;
 | 
					        DataInputStream data = null;
 | 
				
			||||||
        boolean suppress = true;
 | 
					        boolean suppress = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            input = stream.openStream();
 | 
					 | 
				
			||||||
            if (option == StreamOptions.GZIP_COMPRESSION) {
 | 
					            if (option == StreamOptions.GZIP_COMPRESSION) {
 | 
				
			||||||
                data = new DataInputStream(new BufferedInputStream(new GZIPInputStream(input)));
 | 
					                data = new DataInputStream(new BufferedInputStream(new GZIPInputStream(input)));
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@ package com.plotsquared.bukkit.uuid;
 | 
				
			|||||||
import com.google.common.collect.HashBiMap;
 | 
					import com.google.common.collect.HashBiMap;
 | 
				
			||||||
import com.google.common.collect.Sets;
 | 
					import com.google.common.collect.Sets;
 | 
				
			||||||
import com.google.common.io.ByteSource;
 | 
					import com.google.common.io.ByteSource;
 | 
				
			||||||
 | 
					import com.google.common.io.InputSupplier;
 | 
				
			||||||
import com.intellectualcrafters.plot.PS;
 | 
					import com.intellectualcrafters.plot.PS;
 | 
				
			||||||
import com.intellectualcrafters.plot.config.C;
 | 
					import com.intellectualcrafters.plot.config.C;
 | 
				
			||||||
import com.intellectualcrafters.plot.config.Settings;
 | 
					import com.intellectualcrafters.plot.config.Settings;
 | 
				
			||||||
@@ -17,6 +18,7 @@ import com.intellectualcrafters.plot.util.expiry.ExpireManager;
 | 
				
			|||||||
import com.intellectualcrafters.plot.uuid.UUIDWrapper;
 | 
					import com.intellectualcrafters.plot.uuid.UUIDWrapper;
 | 
				
			||||||
import com.plotsquared.bukkit.util.NbtFactory;
 | 
					import com.plotsquared.bukkit.util.NbtFactory;
 | 
				
			||||||
import java.io.File;
 | 
					import java.io.File;
 | 
				
			||||||
 | 
					import java.io.FileInputStream;
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
import java.nio.charset.StandardCharsets;
 | 
					import java.nio.charset.StandardCharsets;
 | 
				
			||||||
import java.nio.file.Files;
 | 
					import java.nio.file.Files;
 | 
				
			||||||
@@ -94,8 +96,7 @@ public class FileUUIDHandler extends UUIDHandlerImplementation {
 | 
				
			|||||||
                                UUID uuid = UUID.fromString(s);
 | 
					                                UUID uuid = UUID.fromString(s);
 | 
				
			||||||
                                if (check || all.remove(uuid)) {
 | 
					                                if (check || all.remove(uuid)) {
 | 
				
			||||||
                                    File file = new File(playerDataFolder, current);
 | 
					                                    File file = new File(playerDataFolder, current);
 | 
				
			||||||
                                    ByteSource is = com.google.common.io.Files.asByteSource(file);
 | 
					                                    NbtFactory.NbtCompound compound = NbtFactory.fromStream(new FileInputStream(file), NbtFactory.StreamOptions.GZIP_COMPRESSION);
 | 
				
			||||||
                                    NbtFactory.NbtCompound compound = NbtFactory.fromStream(is, NbtFactory.StreamOptions.GZIP_COMPRESSION);
 | 
					 | 
				
			||||||
                                    if (!compound.containsKey("bukkit")) {
 | 
					                                    if (!compound.containsKey("bukkit")) {
 | 
				
			||||||
                                        PS.debug("ERROR: Player data (" + uuid.toString() + ".dat) does not contain the the key \"bukkit\"");
 | 
					                                        PS.debug("ERROR: Player data (" + uuid.toString() + ".dat) does not contain the the key \"bukkit\"");
 | 
				
			||||||
                                    } else {
 | 
					                                    } else {
 | 
				
			||||||
@@ -160,8 +161,7 @@ public class FileUUIDHandler extends UUIDHandlerImplementation {
 | 
				
			|||||||
                        if (!file.exists()) {
 | 
					                        if (!file.exists()) {
 | 
				
			||||||
                            continue;
 | 
					                            continue;
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                        ByteSource is = com.google.common.io.Files.asByteSource(file);
 | 
					                        NbtFactory.NbtCompound compound = NbtFactory.fromStream(new FileInputStream(file), NbtFactory.StreamOptions.GZIP_COMPRESSION);
 | 
				
			||||||
                        NbtFactory.NbtCompound compound = NbtFactory.fromStream(is, NbtFactory.StreamOptions.GZIP_COMPRESSION);
 | 
					 | 
				
			||||||
                        if (!compound.containsKey("bukkit")) {
 | 
					                        if (!compound.containsKey("bukkit")) {
 | 
				
			||||||
                            PS.debug("ERROR: Player data (" + uuid.toString() + ".dat) does not contain the the key \"bukkit\"");
 | 
					                            PS.debug("ERROR: Player data (" + uuid.toString() + ".dat) does not contain the the key \"bukkit\"");
 | 
				
			||||||
                        } else {
 | 
					                        } else {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user