From cfb818c31bc77da1873fb69d520ac06f4f01019f Mon Sep 17 00:00:00 2001 From: PryPurity Date: Thu, 25 Jun 2020 14:03:08 -0500 Subject: [PATCH] Commented out paperlib till I find a fix. --- pom.xml | 2 +- .../com/wimbli/WorldBorder/WorldFileData.java | 82 +++++++++---------- src/main/resources/plugin.yml | 2 +- 3 files changed, 43 insertions(+), 43 deletions(-) diff --git a/pom.xml b/pom.xml index d6dec6a..674d4eb 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.wimbli.WorldBorder WorldBorder - 2.0.4 + 2.0.5 WorldBorder https://github.com/PryPurity/WorldBorder diff --git a/src/main/java/com/wimbli/WorldBorder/WorldFileData.java b/src/main/java/com/wimbli/WorldBorder/WorldFileData.java index ea22832..cb8319a 100644 --- a/src/main/java/com/wimbli/WorldBorder/WorldFileData.java +++ b/src/main/java/com/wimbli/WorldBorder/WorldFileData.java @@ -6,9 +6,9 @@ import org.bukkit.entity.Player; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; -import java.io.*; -import java.nio.ByteBuffer; -import java.nio.IntBuffer; +import java.io.File; +import java.io.FileFilter; +import java.io.IOException; import java.util.List; import java.util.*; @@ -155,44 +155,44 @@ public class WorldFileData { data.add(Boolean.FALSE); } - for (int i = 0; i < regionFiles.length; i++) { - CoordXZ coord = regionFileCoordinates(i); - // is this region file the one we're looking for? - if (!coord.equals(region)) - continue; - - try { - RandomAccessFile regionData = new RandomAccessFile(this.regionFile(i), "r"); - - // Use of ByteBuffer+IntBuffer for reading file headers to improve performance, as suggested by aikar, reference: - // https://github.com/PaperMC/Paper/blob/b62dfa0bf95ac27ba0fbb3fae18c064e4bb61d50/Spigot-Server-Patches/0086-Reduce-IO-ops-opening-a-new-region-file.patch - ByteBuffer header = ByteBuffer.allocate(8192); - while (header.hasRemaining()) { - if (regionData.getChannel().read(header) == -1) - throw new EOFException(); - } - header.clear(); - IntBuffer headerAsInts = header.asIntBuffer(); - - // first 4096 bytes of region file consists of 4-byte int pointers to chunk data in the file (32*32 chunks = 1024; 1024 chunks * 4 bytes each = 4096) - for (int j = 0; j < 1024; j++) { - // if chunk pointer data is 0, chunk doesn't exist yet; otherwise, it does - if (headerAsInts.get() != 0) - data.set(j, true); - } - // Read timestamps - for (int j = 0; j < 1024; j++) { - // if timestamp is zero, it is protochunk (ignore it) - if ((headerAsInts.get() == 0) && data.get(j)) - data.set(j, false); - } - regionData.close(); - } catch (FileNotFoundException ex) { - sendMessage("Error! Could not open region file to find generated chunks: " + this.regionFile(i).getName()); - } catch (IOException ex) { - sendMessage("Error! Could not read region file to find generated chunks: " + this.regionFile(i).getName()); - } - } + //for (int i = 0; i < regionFiles.length; i++) { + // CoordXZ coord = regionFileCoordinates(i); + // // is this region file the one we're looking for? + // if (!coord.equals(region)) + // continue; +// + // try { + // RandomAccessFile regionData = new RandomAccessFile(this.regionFile(i), "r"); +// + // // Use of ByteBuffer+IntBuffer for reading file headers to improve performance, as suggested by aikar, reference: + // // https://github.com/PaperMC/Paper/blob/b62dfa0bf95ac27ba0fbb3fae18c064e4bb61d50/Spigot-Server-Patches/0086-Reduce-IO-ops-opening-a-new-region-file.patch + // ByteBuffer header = ByteBuffer.allocate(8192); + // while (header.hasRemaining()) { + // if (regionData.getChannel().read(header) == -1) + // throw new EOFException(); + // } + // header.clear(); + // IntBuffer headerAsInts = header.asIntBuffer(); +// + // // first 4096 bytes of region file consists of 4-byte int pointers to chunk data in the file (32*32 chunks = 1024; 1024 chunks * 4 bytes each = 4096) + // for (int j = 0; j < 1024; j++) { + // // if chunk pointer data is 0, chunk doesn't exist yet; otherwise, it does + // if (headerAsInts.get() != 0) + // data.set(j, true); + // } + // // Read timestamps + // for (int j = 0; j < 1024; j++) { + // // if timestamp is zero, it is protochunk (ignore it) + // if ((headerAsInts.get() == 0) && data.get(j)) + // data.set(j, false); + // } + // regionData.close(); + // } catch (FileNotFoundException ex) { + // sendMessage("Error! Could not open region file to find generated chunks: " + this.regionFile(i).getName()); + // } catch (IOException ex) { + // sendMessage("Error! Could not read region file to find generated chunks: " + this.regionFile(i).getName()); + // } + //} regionChunkExistence.put(region, data); // testImage(region, data); return data; diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index e17b46d..9f1d42a 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ name: WorldBorder authors: [Brettflan, PryPurity] description: Efficient, feature-rich plugin for limiting the size of your worlds. -version: 2.0.4 +version: 2.0.5 api-version: 1.13 main: com.wimbli.WorldBorder.WorldBorder softdepend: