mirror of
https://github.com/PryPurity/WorldBorder.git
synced 2024-09-29 04:07:28 +02:00
Paper broke it, i swear. ;c
This commit is contained in:
parent
d52cd2e5f5
commit
30f9173325
@ -511,14 +511,14 @@ public class Config {
|
|||||||
int cfgVersion = cfg.getInt("cfg-version", currentCfgVersion);
|
int cfgVersion = cfg.getInt("cfg-version", currentCfgVersion);
|
||||||
|
|
||||||
String msg = cfg.getString("message");
|
String msg = cfg.getString("message");
|
||||||
shapeRound = cfg.getBoolean("round-border", true);
|
shapeRound = cfg.getBoolean("round-border", false);
|
||||||
DEBUG = cfg.getBoolean("debug-mode", false);
|
DEBUG = cfg.getBoolean("debug-mode", false);
|
||||||
whooshEffect = cfg.getBoolean("whoosh-effect", true);
|
whooshEffect = cfg.getBoolean("whoosh-effect", true);
|
||||||
portalRedirection = cfg.getBoolean("portal-redirection", true);
|
portalRedirection = cfg.getBoolean("portal-redirection", true);
|
||||||
knockBack = cfg.getDouble("knock-back-dist", 3.0);
|
knockBack = cfg.getDouble("knock-back-dist", 3.0);
|
||||||
timerTicks = cfg.getInt("timer-delay-ticks", 5);
|
timerTicks = cfg.getInt("timer-delay-ticks", 5);
|
||||||
remountDelayTicks = cfg.getInt("remount-delay-ticks", 0);
|
remountDelayTicks = cfg.getInt("remount-delay-ticks", 0);
|
||||||
dynmapEnable = cfg.getBoolean("dynmap-border-enabled", true);
|
dynmapEnable = cfg.getBoolean("dynmap-border-enabled", false);
|
||||||
dynmapMessage = cfg.getString("dynmap-border-message", "The border of the world.");
|
dynmapMessage = cfg.getString("dynmap-border-message", "The border of the world.");
|
||||||
dynmapHideByDefault = cfg.getBoolean("dynmap-border-hideByDefault", false);
|
dynmapHideByDefault = cfg.getBoolean("dynmap-border-hideByDefault", false);
|
||||||
dynmapPriority = cfg.getInt("dynmap-border-priority", 0);
|
dynmapPriority = cfg.getInt("dynmap-border-priority", 0);
|
||||||
|
@ -161,37 +161,37 @@ public class WorldFileData {
|
|||||||
if (!coord.equals(region))
|
if (!coord.equals(region))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
RandomAccessFile regionData = new RandomAccessFile(this.regionFile(i), "r");
|
// RandomAccessFile regionData = new RandomAccessFile(this.regionFile(i), "r");
|
||||||
|
//
|
||||||
// Use of ByteBuffer+IntBuffer for reading file headers to improve performance, as suggested by aikar, reference:
|
// // 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
|
// // 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);
|
// ByteBuffer header = ByteBuffer.allocate(8192);
|
||||||
while (header.hasRemaining()) {
|
// while (header.hasRemaining()) {
|
||||||
if (regionData.getChannel().read(header) == -1)
|
// if (regionData.getChannel().read(header) == -1)
|
||||||
throw new EOFException();
|
// throw new EOFException();
|
||||||
}
|
// }
|
||||||
header.clear();
|
// header.clear();
|
||||||
IntBuffer headerAsInts = header.asIntBuffer();
|
// 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)
|
// // 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++) {
|
// for (int j = 0; j < 1024; j++) {
|
||||||
// if chunk pointer data is 0, chunk doesn't exist yet; otherwise, it does
|
// // if chunk pointer data is 0, chunk doesn't exist yet; otherwise, it does
|
||||||
if (headerAsInts.get() != 0)
|
// if (headerAsInts.get() != 0)
|
||||||
data.set(j, true);
|
// data.set(j, true);
|
||||||
}
|
// }
|
||||||
// Read timestamps
|
// // Read timestamps
|
||||||
for (int j = 0; j < 1024; j++) {
|
// for (int j = 0; j < 1024; j++) {
|
||||||
// if timestamp is zero, it is protochunk (ignore it)
|
// // if timestamp is zero, it is protochunk (ignore it)
|
||||||
if ((headerAsInts.get() == 0) && data.get(j))
|
// if ((headerAsInts.get() == 0) && data.get(j))
|
||||||
data.set(j, false);
|
// data.set(j, false);
|
||||||
}
|
// }
|
||||||
regionData.close();
|
// regionData.close();
|
||||||
} catch (FileNotFoundException ex) {
|
// } catch (FileNotFoundException ex) {
|
||||||
sendMessage("Error! Could not open region file to find generated chunks: " + this.regionFile(i).getName());
|
// sendMessage("Error! Could not open region file to find generated chunks: " + this.regionFile(i).getName());
|
||||||
} catch (IOException ex) {
|
// } catch (IOException ex) {
|
||||||
sendMessage("Error! Could not read region file to find generated chunks: " + this.regionFile(i).getName());
|
// sendMessage("Error! Could not read region file to find generated chunks: " + this.regionFile(i).getName());
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
regionChunkExistence.put(region, data);
|
regionChunkExistence.put(region, data);
|
||||||
// testImage(region, data);
|
// testImage(region, data);
|
||||||
|
Loading…
Reference in New Issue
Block a user