diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..206a264
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,21 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "java",
+ "name": "Debug (Launch) - Current File",
+ "request": "launch",
+ "mainClass": "${file}"
+ },
+ {
+ "type": "java",
+ "name": "Debug (Attach)",
+ "request": "attach",
+ "hostName": "localhost",
+ "port": 25566
+ }
+ ]
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 5ca428a..9a73529 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,7 +41,7 @@
UTF-8
- 8
- 8
+ 11
+ 11
\ No newline at end of file
diff --git a/src/main/java/ca/recrown/islandsurvivalcraft/IslandSurvivalCraft.java b/src/main/java/ca/recrown/islandsurvivalcraft/IslandSurvivalCraft.java
index b6bf396..190c4f0 100644
--- a/src/main/java/ca/recrown/islandsurvivalcraft/IslandSurvivalCraft.java
+++ b/src/main/java/ca/recrown/islandsurvivalcraft/IslandSurvivalCraft.java
@@ -4,7 +4,6 @@ import org.bukkit.generator.ChunkGenerator;
import org.bukkit.plugin.java.JavaPlugin;
import ca.recrown.islandsurvivalcraft.world.IslandSurvivalCraftChunkGenerator;
-import ca.recrown.islandsurvivalcraft.world.IslandWorldGenerator;
import ca.recrown.islandsurvivalcraft.world.generation.BiomePerIslandGenerator;
public class IslandSurvivalCraft extends JavaPlugin {
diff --git a/src/main/java/ca/recrown/islandsurvivalcraft/pathfinding/DepthFirstSearch.java b/src/main/java/ca/recrown/islandsurvivalcraft/pathfinding/DepthFirstSearch.java
index 344c3ba..2433db2 100644
--- a/src/main/java/ca/recrown/islandsurvivalcraft/pathfinding/DepthFirstSearch.java
+++ b/src/main/java/ca/recrown/islandsurvivalcraft/pathfinding/DepthFirstSearch.java
@@ -6,6 +6,8 @@ import java.util.Objects;
import java.util.PriorityQueue;
import java.util.Queue;
+import org.apache.commons.lang.NullArgumentException;
+
public class DepthFirstSearch {
private Queue queue;
private CoordinateValidatable validatable;
@@ -48,6 +50,9 @@ public class DepthFirstSearch {
}
public boolean buildPathToEndNode() {
+ if (validatable == null) throw new IllegalStateException("Need to set a validator.");
+ if (startNode == null) throw new IllegalStateException("Need to set the starting position.");
+
queue = new PriorityQueue<>();
checkedNodes.clear();
Node begin = startNode;
@@ -83,6 +88,10 @@ public class DepthFirstSearch {
* @return
*/
public boolean findTarget(CoordinateTargetValidatable targetValidator) {
+ if (validatable == null) throw new IllegalStateException("Need to set a validator.");
+ if (targetValidator == null) throw new NullArgumentException("targetValidator");
+ if (startNode == null) throw new IllegalStateException("Need to set the starting position.");
+
queue = new LinkedList<>();
checkedNodes.clear();
Node begin = startNode;
@@ -127,6 +136,7 @@ public class DepthFirstSearch {
public int compareTo(Node o) {
return Math.round(distanceToGoal(endNode) - o.distanceToGoal(endNode));
}
+
public float distanceToGoal(Node goal) {
float distanceX = goal.x - this.x;
diff --git a/src/main/java/ca/recrown/islandsurvivalcraft/world/IslandWorldGenerator.java b/src/main/java/ca/recrown/islandsurvivalcraft/world/IslandWorldGenerator.java
index eec0cc2..58c8f02 100644
--- a/src/main/java/ca/recrown/islandsurvivalcraft/world/IslandWorldGenerator.java
+++ b/src/main/java/ca/recrown/islandsurvivalcraft/world/IslandWorldGenerator.java
@@ -4,11 +4,13 @@ import java.util.Random;
import org.bukkit.Material;
import org.bukkit.World;
+import org.bukkit.block.Biome;
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import ca.recrown.islandsurvivalcraft.world.generation.BedrockGenerator;
import ca.recrown.islandsurvivalcraft.world.generation.IslandBiomeGenerator;
+import ca.recrown.islandsurvivalcraft.world.shaders.WorldHeightShader;
/**
* A world generator.
@@ -18,31 +20,45 @@ public class IslandWorldGenerator {
private final BedrockGenerator bedrockGenerator;
private final BiomeSelector biomeSelector;
private final IslandBiomeGenerator biomeGenerator;
-
+ private final WorldHeightShader heightShader;
+
public final World world;
public final IslandWorldBaseTerrainMap islandMapGenerator;
public final Random random;
- public IslandWorldGenerator(World world, IslandBiomeGenerator generator, Random random) {
+ public IslandWorldGenerator(World world, IslandBiomeGenerator islandBiomeGenerator, Random random) {
this.world = world;
this.maxHeight = world.getMaxHeight();
this.random = random;
this.biomeSelector = new BiomeSelector(random);
this.bedrockGenerator = new BedrockGenerator(random);
this.islandMapGenerator = new IslandWorldBaseTerrainMap(random, world.getSeaLevel(), 4);
- this.biomeGenerator = generator;
+ this.biomeGenerator = islandBiomeGenerator;
+ this.heightShader = new WorldHeightShader(world.getSeed(), islandMapGenerator);
biomeSelector.initialize();
+ islandBiomeGenerator.initialize(world, islandMapGenerator, biomeSelector);
}
public void GenerateChunk(int chunkX, int chunkZ, int localX, int localZ, ChunkData chunk, BiomeGrid biomeGrid) {
int worldX = 16 * chunkX + localX;
int worldZ = 16 * chunkZ + localZ;
+ //gets the bedrock.
+ int bedrockHeight = bedrockGenerator.getBedrockHeight(worldX, worldZ);
//Sets the biome.
- biomeGenerator.GenerateBiome(chunkX, chunkZ, localX, localZ, biomeGrid);
+ Biome currentBiome = biomeGenerator.GenerateBiome(chunkX, chunkZ, localX, localZ);
+ for (int y = 0; y < maxHeight; y++) {
+ biomeGrid.setBiome(localX, y, localZ, currentBiome);
+ }
- //Sets the bedrock.
- int bedrockHeight = bedrockGenerator.getBedrockHeight(worldX, worldZ);
+ //get height shader.
+ int height = heightShader.getAltitude(worldX, worldZ, currentBiome);
+
+
+ //set general shape
+ chunk.setRegion(localX, 0, localZ, localX, height, localZ, Material.BEDROCK);
+
+ //set bedrock last
chunk.setRegion(localX, 0, localZ, localX, bedrockHeight, localZ, Material.BEDROCK);
}
}
\ No newline at end of file
diff --git a/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/BedrockGenerator.java b/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/BedrockGenerator.java
index bc9d833..68087d0 100644
--- a/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/BedrockGenerator.java
+++ b/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/BedrockGenerator.java
@@ -5,13 +5,11 @@ import java.util.Random;
import org.bukkit.util.noise.SimplexOctaveGenerator;
public class BedrockGenerator {
- private Random random;
private SimplexOctaveGenerator noiseGenerator;
private final int maxBedrockHeight = 5;
private final int minBedrockHeight = 1;
public BedrockGenerator(Random random) {
- this.random = random;
noiseGenerator = new SimplexOctaveGenerator(random, 8);
noiseGenerator.setScale(0.1D);
}
diff --git a/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/BiomePerIslandGenerator.java b/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/BiomePerIslandGenerator.java
index 167eb0d..362fda0 100644
--- a/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/BiomePerIslandGenerator.java
+++ b/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/BiomePerIslandGenerator.java
@@ -2,7 +2,6 @@ package ca.recrown.islandsurvivalcraft.world.generation;
import org.bukkit.World;
import org.bukkit.block.Biome;
-import org.bukkit.generator.ChunkGenerator.BiomeGrid;
import ca.recrown.islandsurvivalcraft.pathfinding.CoordinateTargetValidatable;
import ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch;
@@ -14,19 +13,14 @@ public class BiomePerIslandGenerator implements IslandBiomeGenerator, Coordinate
private IslandWorldBaseTerrainMap islandLocator;
private BiomeSelector biomeSelector;
private TemperatureMapGenerator temperatureMapGenerator;
- private int buildHeight;
private World world;
private DepthFirstSearch dfs;
private Biome mainBiome;
private Biome shoreBiome;
private float temperature;
- private BiomeGrid currentBiomeGrid;
- private int currentChunkX, currentChunkZ;
-
public BiomePerIslandGenerator() {
this.temperatureMapGenerator = new TemperatureMapGenerator();
- dfs = new DepthFirstSearch(islandLocator);
}
@Override
@@ -37,7 +31,7 @@ public class BiomePerIslandGenerator implements IslandBiomeGenerator, Coordinate
this.biomeSelector = biomeSelector;
this.world = world;
this.temperatureMapGenerator.setSeed(world.getSeed());
- this.buildHeight = world.getMaxHeight();
+ dfs = new DepthFirstSearch(islandLocator);
}
@Override
@@ -52,32 +46,18 @@ public class BiomePerIslandGenerator implements IslandBiomeGenerator, Coordinate
if (mainBiome != null && shoreBiome != null) {
return true;
}
- } else if (x/16 == currentChunkX && y/16 == currentChunkZ) {
- int localX = x - (currentChunkX * 16);
- int localZ = y - (currentChunkZ * 16);
- Biome foundBiome = currentBiomeGrid.getBiome(localX, 0, localZ);
- if (islandLocator.isShore(x, y)) {
- shoreBiome = foundBiome;
- } else {
- mainBiome = foundBiome;
- }
- if (mainBiome != null && shoreBiome != null) {
- return true;
- }
}
return false;
}
@Override
- public void GenerateBiome(int chunkX, int chunkZ, int localX, int localZ, BiomeGrid biomeGrid) {
+ public Biome GenerateBiome(int chunkX, int chunkZ, int localX, int localZ) {
int worldX = chunkX * 16 + localX;
int worldZ = chunkZ * 16 + localZ;
if (islandLocator.isIsland(worldX, worldZ)) {
if (mainBiome == null && shoreBiome == null) {
- this.currentBiomeGrid = biomeGrid;
- this.currentChunkX = chunkX;
- this.currentChunkZ = chunkZ;
+ dfs.setStartPosition(worldX, worldZ);
if (!dfs.findTarget(this)) {
temperature = temperatureMapGenerator.getTemperature(worldX, worldZ);
mainBiome = biomeSelector.getLandBiome(temperature);
@@ -96,10 +76,7 @@ public class BiomePerIslandGenerator implements IslandBiomeGenerator, Coordinate
} else if (islandLocator.isShore(worldX, worldZ)) {
designatedBiome = shoreBiome;
}
-
- for (int y = 0; y < buildHeight; y++) {
- biomeGrid.setBiome(localX, y, localZ, designatedBiome);
- }
+ return designatedBiome;
}
@Override
diff --git a/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/IslandBiomeGenerator.java b/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/IslandBiomeGenerator.java
index f9465e3..b5f4d51 100644
--- a/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/IslandBiomeGenerator.java
+++ b/src/main/java/ca/recrown/islandsurvivalcraft/world/generation/IslandBiomeGenerator.java
@@ -2,13 +2,12 @@ package ca.recrown.islandsurvivalcraft.world.generation;
import org.bukkit.World;
import org.bukkit.block.Biome;
-import org.bukkit.generator.ChunkGenerator.BiomeGrid;
import ca.recrown.islandsurvivalcraft.world.BiomeSelector;
import ca.recrown.islandsurvivalcraft.world.IslandWorldBaseTerrainMap;
public interface IslandBiomeGenerator {
- public void initialize(World world, IslandWorldBaseTerrainMap mapGenerator, BiomeSelector biome);
- public void GenerateBiome(int chunkX, int chunkZ, int localX, int localZ, BiomeGrid biomeGrid);
+ public void initialize(World world, IslandWorldBaseTerrainMap mapGenerator, BiomeSelector biomeSelector);
+ public Biome GenerateBiome(int chunkX, int chunkZ, int localX, int localZ);
public IslandBiomeGenerator getInstance();
}
diff --git a/src/main/java/ca/recrown/islandsurvivalcraft/world/shapers/WorldHeightShader.java b/src/main/java/ca/recrown/islandsurvivalcraft/world/shaders/WorldHeightShader.java
similarity index 97%
rename from src/main/java/ca/recrown/islandsurvivalcraft/world/shapers/WorldHeightShader.java
rename to src/main/java/ca/recrown/islandsurvivalcraft/world/shaders/WorldHeightShader.java
index 347c952..b411f1d 100644
--- a/src/main/java/ca/recrown/islandsurvivalcraft/world/shapers/WorldHeightShader.java
+++ b/src/main/java/ca/recrown/islandsurvivalcraft/world/shaders/WorldHeightShader.java
@@ -1,4 +1,4 @@
-package ca.recrown.islandsurvivalcraft.world.shapers;
+package ca.recrown.islandsurvivalcraft.world.shaders;
import java.util.Random;
diff --git a/src/test/java/ca/recrown/islandsurvivalcraft/pathfinding/DepthFirstSearchTest.java b/src/test/java/ca/recrown/islandsurvivalcraft/pathfinding/DepthFirstSearchTest.java
index 52271d3..5699c31 100644
--- a/src/test/java/ca/recrown/islandsurvivalcraft/pathfinding/DepthFirstSearchTest.java
+++ b/src/test/java/ca/recrown/islandsurvivalcraft/pathfinding/DepthFirstSearchTest.java
@@ -139,9 +139,9 @@ public class DepthFirstSearchTest {
@Test
public void testDFSFindEndNodeMapDValid() {
Validator validator = new Validator(mapD);
+ dfs = new DepthFirstSearch(validator);
dfs.setValidatable(validator);
dfs.setStartPosition(0, 0);
-
assertTrue(dfs.findTarget(validator));
assertEquals(0, dfs.getEndX());
assertEquals(3, dfs.getEndY());
@@ -150,6 +150,7 @@ public class DepthFirstSearchTest {
@Test
public void testDFSFindEndNodeMapEInvalid() {
Validator validator = new Validator(mapE);
+ dfs = new DepthFirstSearch();
dfs.setValidatable(validator);
dfs.setStartPosition(0, 0);
diff --git a/test-server/crash-reports/crash-2020-04-21_20.26.41-server.txt b/test-server/crash-reports/crash-2020-04-21_20.26.41-server.txt
new file mode 100644
index 0000000..c707481
--- /dev/null
+++ b/test-server/crash-reports/crash-2020-04-21_20.26.41-server.txt
@@ -0,0 +1,127 @@
+---- Minecraft Crash Report ----
+// Daisy, daisy...
+
+Time: 21/04/20 8:26 PM
+Description: Exception generating new chunk
+
+java.lang.NullPointerException: Exception generating new chunk
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.distanceToGoal(DepthFirstSearch.java:144)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.compareTo(DepthFirstSearch.java:140)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.compareTo(DepthFirstSearch.java:1)
+ at java.util.HashMap.compareComparables(Unknown Source)
+ at java.util.HashMap$TreeNode.treeify(Unknown Source)
+ at java.util.HashMap.treeifyBin(Unknown Source)
+ at java.util.HashMap.putVal(Unknown Source)
+ at java.util.HashMap.put(Unknown Source)
+ at java.util.HashSet.add(Unknown Source)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch.findTarget(DepthFirstSearch.java:110)
+ at ca.recrown.islandsurvivalcraft.world.generation.BiomePerIslandGenerator.GenerateBiome(BiomePerIslandGenerator.java:61)
+ at ca.recrown.islandsurvivalcraft.world.IslandWorldGenerator.GenerateChunk(IslandWorldGenerator.java:49)
+ at ca.recrown.islandsurvivalcraft.world.IslandSurvivalCraftChunkGenerator.generateChunkData(IslandSurvivalCraftChunkGenerator.java:24)
+ at org.bukkit.craftbukkit.v1_15_R1.generator.CustomChunkGenerator.buildBase(CustomChunkGenerator.java:137)
+ at net.minecraft.server.v1_15_R1.ChunkStatus.lambda$static$6(ChunkStatus.java:51)
+ at net.minecraft.server.v1_15_R1.ChunkStatus$d.doWork(ChunkStatus.java:243)
+ at net.minecraft.server.v1_15_R1.ChunkStatus.a(ChunkStatus.java:187)
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$null$23(PlayerChunkMap.java:836)
+ at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$b$25(PlayerChunkMap.java:834)
+ at java.util.concurrent.CompletableFuture.uniCompose(Unknown Source)
+ at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source)
+ at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
+ at net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.e(ThreadedMailbox.java:78)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.a(ThreadedMailbox.java:120)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.run(ThreadedMailbox.java:86)
+ at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
+ at java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
+ at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source)
+ at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
+ at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
+
+
+A detailed walkthrough of the error, its code path and all known details is as follows:
+---------------------------------------------------------------------------------------
+
+-- Head --
+Thread: Server thread
+Stacktrace:
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.distanceToGoal(DepthFirstSearch.java:144)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.compareTo(DepthFirstSearch.java:140)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.compareTo(DepthFirstSearch.java:1)
+ at java.util.HashMap.compareComparables(Unknown Source)
+ at java.util.HashMap$TreeNode.treeify(Unknown Source)
+ at java.util.HashMap.treeifyBin(Unknown Source)
+ at java.util.HashMap.putVal(Unknown Source)
+ at java.util.HashMap.put(Unknown Source)
+ at java.util.HashSet.add(Unknown Source)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch.findTarget(DepthFirstSearch.java:110)
+ at ca.recrown.islandsurvivalcraft.world.generation.BiomePerIslandGenerator.GenerateBiome(BiomePerIslandGenerator.java:61)
+ at ca.recrown.islandsurvivalcraft.world.IslandWorldGenerator.GenerateChunk(IslandWorldGenerator.java:49)
+ at ca.recrown.islandsurvivalcraft.world.IslandSurvivalCraftChunkGenerator.generateChunkData(IslandSurvivalCraftChunkGenerator.java:24)
+ at org.bukkit.craftbukkit.v1_15_R1.generator.CustomChunkGenerator.buildBase(CustomChunkGenerator.java:137)
+ at net.minecraft.server.v1_15_R1.ChunkStatus.lambda$static$6(ChunkStatus.java:51)
+ at net.minecraft.server.v1_15_R1.ChunkStatus$d.doWork(ChunkStatus.java:243)
+ at net.minecraft.server.v1_15_R1.ChunkStatus.a(ChunkStatus.java:187)
+
+-- Chunk to be generated --
+Details:
+ Location: 10,-1
+ Position hash: -4294967286
+ Generator: org.bukkit.craftbukkit.v1_15_R1.generator.CustomChunkGenerator@5218ff41
+Stacktrace:
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$null$23(PlayerChunkMap.java:836)
+ at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$b$25(PlayerChunkMap.java:834)
+ at java.util.concurrent.CompletableFuture.uniCompose(Unknown Source)
+ at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source)
+ at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
+ at net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.e(ThreadedMailbox.java:78)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.a(ThreadedMailbox.java:120)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.run(ThreadedMailbox.java:86)
+
+-- Affected level --
+Details:
+ All players: 0 total; []
+ Chunk stats: ServerChunkCache: 529
+ Level dimension: minecraft:overworld
+ Level name: world
+ Level seed: 535141436571902658
+ Level generator: ID 00 - default, ver 1. Features enabled: true
+ Level generator options: {}
+ Level spawn location: World: (168,64,-8), Chunk: (at 8,4,8 in 10,-1; contains blocks 160,0,-16 to 175,255,-1), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
+ Level time: 0 game time, 0 day time
+ Known server brands:
+ Level was modded: false
+ Level storage version: 0x00000 - Unknown?
+ Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
+ Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
+Stacktrace:
+ at net.minecraft.server.v1_15_R1.MinecraftServer.initWorld(MinecraftServer.java:517)
+ at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:458)
+ at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:298)
+ at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:908)
+ at java.lang.Thread.run(Unknown Source)
+
+-- System Details --
+Details:
+ Minecraft Version: 1.15.2
+ Minecraft Version ID: 1.15.2
+ Operating System: Windows 10 (amd64) version 10.0
+ Java Version: 1.8.0_241, Oracle Corporation
+ Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
+ Memory: 476363768 bytes (454 MB) / 747110400 bytes (712 MB) up to 954728448 bytes (910 MB)
+ CPUs: 8
+ JVM Flags: 2 total; -Xms512M -Xmx1G
+ CraftBukkit Information:
+ Running: Paper version git-Paper-195 (MC: 1.15.2) (Implementing API version 1.15.2-R0.1-SNAPSHOT) true
+ Plugins: { WorldEdit v7.1.0;8e55131 com.sk89q.worldedit.bukkit.WorldEditPlugin [], WorldGeneratorApi v0.4 nl.rutgerkok.worldgeneratorapi.internal.WorldGeneratorApiImpl [Rutger Kok], WorldGuard v7.0.2-SNAPSHOT;bf2593e com.sk89q.worldguard.bukkit.WorldGuardPlugin [], IslandSurvivalCraft v1.0.0 ca.recrown.islandsurvivalcraft.IslandSurvivalCraft [],}
+ Warnings: DEFAULT
+ Reload Count: 0
+ Threads: { RUNNABLE Server-Worker-5: [java.lang.Thread.dumpThreads(Native Method), java.lang.Thread.getAllStackTraces(Unknown Source), org.bukkit.craftbukkit.v1_15_R1.CraftCrashReport.call(CraftCrashReport.java:33), net.minecraft.server.v1_15_R1.CrashReportSystemDetails.a(SourceFile:79), net.minecraft.server.v1_15_R1.CrashReport.i(CrashReport.java:71), net.minecraft.server.v1_15_R1.CrashReport.(CrashReport.java:35), net.minecraft.server.v1_15_R1.CrashReport.a(CrashReport.java:270), net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$null$23(PlayerChunkMap.java:843), net.minecraft.server.v1_15_R1.PlayerChunkMap$$Lambda$3001/1019412414.apply(Unknown Source), com.mojang.datafixers.util.Either$Left.map(Either.java:38), net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$b$25(PlayerChunkMap.java:834), net.minecraft.server.v1_15_R1.PlayerChunkMap$$Lambda$2986/488181785.apply(Unknown Source), java.util.concurrent.CompletableFuture.uniCompose(Unknown Source), java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source), java.util.concurrent.CompletableFuture$Completion.run(Unknown Source), net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58), net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter$$Lambda$2999/1127285042.run(Unknown Source), net.minecraft.server.v1_15_R1.ThreadedMailbox.e(ThreadedMailbox.java:78), net.minecraft.server.v1_15_R1.ThreadedMailbox.a(ThreadedMailbox.java:120), net.minecraft.server.v1_15_R1.ThreadedMailbox.run(ThreadedMailbox.java:86), java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source), java.util.concurrent.ForkJoinTask.doExec(Unknown Source), java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], TIMED_WAITING ObjectCleanerThread: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(Unknown Source), io.netty.util.internal.ObjectCleaner$1.run(ObjectCleaner.java:54), io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30), java.lang.Thread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Paper Async Task Handler Thread - 0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source), java.util.concurrent.LinkedBlockingQueue.take(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], TIMED_WAITING Craft Scheduler Thread - 1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source), java.util.concurrent.SynchronousQueue.poll(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], TIMED_WAITING WorldEdit Session Manager: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], WAITING Server-Worker-6: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], TIMED_WAITING Timer-1: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], RUNNABLE Attach Listener: [], WAITING Server-Worker-4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], WAITING Paper RegionFile IO Thread: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], RUNNABLE DestroyJavaVM: [], WAITING Paper Async Chunk Urgent Task Thread: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Paper Async Chunk Task Thread #2: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], TIMED_WAITING Timer-0: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], RUNNABLE Signal Dispatcher: [], RUNNABLE WindowsStreamPump: [org.fusesource.jansi.internal.Kernel32.WaitForSingleObject(Native Method), org.fusesource.jansi.internal.WindowsSupport.readConsoleInput(WindowsSupport.java:97), org.jline.terminal.impl.jansi.win.JansiWinSysTerminal.processConsoleInput(JansiWinSysTerminal.java:112), org.jline.terminal.impl.AbstractWindowsTerminal.pump(AbstractWindowsTerminal.java:458), org.jline.terminal.impl.AbstractWindowsTerminal$$Lambda$12/1457263953.run(Unknown Source), java.lang.Thread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #6: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Reference Handler: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Unknown Source), java.lang.ref.Reference.tryHandlePending(Unknown Source), java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)], TIMED_WAITING Log4j2-TF-1-AsyncLogger[AsyncContext@18b4aac2]-1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source), com.lmax.disruptor.TimeoutBlockingWaitStrategy.waitFor(TimeoutBlockingWaitStrategy.java:38), com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56), com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:159), com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], WAITING Finalizer: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(Unknown Source), java.lang.ref.ReferenceQueue.remove(Unknown Source), java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)], TIMED_WAITING Craft Scheduler Thread - 2: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source), java.util.concurrent.SynchronousQueue.poll(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], RUNNABLE Netty Server IO #0: [sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method), sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source), sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source), sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source), sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source), sun.nio.ch.SelectorImpl.select(Unknown Source), io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62), io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:756), io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:411), io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884), java.lang.Thread.run(Unknown Source)], TIMED_WAITING Craft Scheduler Thread - 3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source), java.util.concurrent.SynchronousQueue.poll(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], TIMED_WAITING Craft Scheduler Thread - 0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source), java.util.concurrent.SynchronousQueue.poll(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], TIMED_WAITING Server thread: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), net.minecraft.server.v1_15_R1.IAsyncTaskHandler.bl(IAsyncTaskHandler.java:131), net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:120), net.minecraft.server.v1_15_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:405), net.minecraft.server.v1_15_R1.World.getChunkAt(World.java:325), net.minecraft.server.v1_15_R1.IWorldReader.getChunkAt(IWorldReader.java:87), net.minecraft.server.v1_15_R1.World.getChunkAt(World.java:270), net.minecraft.server.v1_15_R1.WorldProviderNormal.a(WorldProviderNormal.java:170), net.minecraft.server.v1_15_R1.WorldProviderNormal.a(WorldProviderNormal.java:149), net.minecraft.server.v1_15_R1.WorldServer.a(WorldServer.java:938), net.minecraft.server.v1_15_R1.MinecraftServer.initWorld(MinecraftServer.java:507), net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:458), net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:298), net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:908), java.lang.Thread.run(Unknown Source)], TIMED_WAITING Server Infinisleeper: [java.lang.Thread.sleep(Native Method), net.minecraft.server.v1_15_R1.DedicatedServer$1.run(DedicatedServer.java:72)], WAITING Snooper Timer: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Unknown Source), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], TIMED_WAITING Server-Worker-3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], WAITING Server-Worker-2: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], WAITING Server-Worker-1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], TIMED_WAITING Paper Watchdog Thread: [java.lang.Thread.sleep(Native Method), org.spigotmc.WatchdogThread.run(WatchdogThread.java:164)], TIMED_WAITING Server console handler: [java.lang.Object.wait(Native Method), org.jline.utils.NonBlockingPumpReader.wait(NonBlockingPumpReader.java:55), org.jline.utils.NonBlockingPumpReader.read(NonBlockingPumpReader.java:101), org.jline.utils.NonBlockingReader.read(NonBlockingReader.java:57), org.jline.keymap.BindingReader.readCharacter(BindingReader.java:133), org.jline.keymap.BindingReader.readBinding(BindingReader.java:110), org.jline.keymap.BindingReader.readBinding(BindingReader.java:61), org.jline.reader.impl.LineReaderImpl.doReadBinding(LineReaderImpl.java:848), org.jline.reader.impl.LineReaderImpl.readBinding(LineReaderImpl.java:868), org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:575), org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:418), net.minecrell.terminalconsole.SimpleTerminalConsole.readCommands(SimpleTerminalConsole.java:158), net.minecrell.terminalconsole.SimpleTerminalConsole.start(SimpleTerminalConsole.java:141), net.minecraft.server.v1_15_R1.DedicatedServer$2.run(DedicatedServer.java:90)], WAITING Paper Async Chunk Task Thread #5: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)],}
+
+ Force Loaded Chunks: { world: {},}
+ Player Count: 0 / 20; []
+ Data Packs: vanilla, file/bukkit
+ Is Modded: Definitely; Server brand changed to 'Paper'
+ Type: Dedicated Server (map_server.txt)
\ No newline at end of file
diff --git a/test-server/crash-reports/crash-2020-04-21_20.30.37-server.txt b/test-server/crash-reports/crash-2020-04-21_20.30.37-server.txt
new file mode 100644
index 0000000..50abd2e
--- /dev/null
+++ b/test-server/crash-reports/crash-2020-04-21_20.30.37-server.txt
@@ -0,0 +1,127 @@
+---- Minecraft Crash Report ----
+// There are four lights!
+
+Time: 21/04/20 8:30 PM
+Description: Exception generating new chunk
+
+java.lang.NullPointerException: Exception generating new chunk
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.distanceToGoal(DepthFirstSearch.java:144)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.compareTo(DepthFirstSearch.java:140)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.compareTo(DepthFirstSearch.java:1)
+ at java.util.HashMap.compareComparables(Unknown Source)
+ at java.util.HashMap$TreeNode.treeify(Unknown Source)
+ at java.util.HashMap.treeifyBin(Unknown Source)
+ at java.util.HashMap.putVal(Unknown Source)
+ at java.util.HashMap.put(Unknown Source)
+ at java.util.HashSet.add(Unknown Source)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch.findTarget(DepthFirstSearch.java:110)
+ at ca.recrown.islandsurvivalcraft.world.generation.BiomePerIslandGenerator.GenerateBiome(BiomePerIslandGenerator.java:61)
+ at ca.recrown.islandsurvivalcraft.world.IslandWorldGenerator.GenerateChunk(IslandWorldGenerator.java:49)
+ at ca.recrown.islandsurvivalcraft.world.IslandSurvivalCraftChunkGenerator.generateChunkData(IslandSurvivalCraftChunkGenerator.java:24)
+ at org.bukkit.craftbukkit.v1_15_R1.generator.CustomChunkGenerator.buildBase(CustomChunkGenerator.java:137)
+ at net.minecraft.server.v1_15_R1.ChunkStatus.lambda$static$6(ChunkStatus.java:51)
+ at net.minecraft.server.v1_15_R1.ChunkStatus$d.doWork(ChunkStatus.java:243)
+ at net.minecraft.server.v1_15_R1.ChunkStatus.a(ChunkStatus.java:187)
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$null$23(PlayerChunkMap.java:836)
+ at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$b$25(PlayerChunkMap.java:834)
+ at java.util.concurrent.CompletableFuture.uniCompose(Unknown Source)
+ at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source)
+ at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
+ at net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.e(ThreadedMailbox.java:78)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.a(ThreadedMailbox.java:120)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.run(ThreadedMailbox.java:86)
+ at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
+ at java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
+ at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source)
+ at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
+ at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
+
+
+A detailed walkthrough of the error, its code path and all known details is as follows:
+---------------------------------------------------------------------------------------
+
+-- Head --
+Thread: Server thread
+Stacktrace:
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.distanceToGoal(DepthFirstSearch.java:144)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.compareTo(DepthFirstSearch.java:140)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch$Node.compareTo(DepthFirstSearch.java:1)
+ at java.util.HashMap.compareComparables(Unknown Source)
+ at java.util.HashMap$TreeNode.treeify(Unknown Source)
+ at java.util.HashMap.treeifyBin(Unknown Source)
+ at java.util.HashMap.putVal(Unknown Source)
+ at java.util.HashMap.put(Unknown Source)
+ at java.util.HashSet.add(Unknown Source)
+ at ca.recrown.islandsurvivalcraft.pathfinding.DepthFirstSearch.findTarget(DepthFirstSearch.java:110)
+ at ca.recrown.islandsurvivalcraft.world.generation.BiomePerIslandGenerator.GenerateBiome(BiomePerIslandGenerator.java:61)
+ at ca.recrown.islandsurvivalcraft.world.IslandWorldGenerator.GenerateChunk(IslandWorldGenerator.java:49)
+ at ca.recrown.islandsurvivalcraft.world.IslandSurvivalCraftChunkGenerator.generateChunkData(IslandSurvivalCraftChunkGenerator.java:24)
+ at org.bukkit.craftbukkit.v1_15_R1.generator.CustomChunkGenerator.buildBase(CustomChunkGenerator.java:137)
+ at net.minecraft.server.v1_15_R1.ChunkStatus.lambda$static$6(ChunkStatus.java:51)
+ at net.minecraft.server.v1_15_R1.ChunkStatus$d.doWork(ChunkStatus.java:243)
+ at net.minecraft.server.v1_15_R1.ChunkStatus.a(ChunkStatus.java:187)
+
+-- Chunk to be generated --
+Details:
+ Location: -12,-8
+ Position hash: -30064771084
+ Generator: org.bukkit.craftbukkit.v1_15_R1.generator.CustomChunkGenerator@18c45b2c
+Stacktrace:
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$null$23(PlayerChunkMap.java:836)
+ at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$b$25(PlayerChunkMap.java:834)
+ at java.util.concurrent.CompletableFuture.uniCompose(Unknown Source)
+ at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source)
+ at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
+ at net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.e(ThreadedMailbox.java:78)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.a(ThreadedMailbox.java:120)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.run(ThreadedMailbox.java:86)
+
+-- Affected level --
+Details:
+ All players: 0 total; []
+ Chunk stats: ServerChunkCache: 529
+ Level dimension: minecraft:overworld
+ Level name: world
+ Level seed: 1958093391717230933
+ Level generator: ID 00 - default, ver 1. Features enabled: true
+ Level generator options: {}
+ Level spawn location: World: (-184,64,-120), Chunk: (at 8,4,8 in -12,-8; contains blocks -192,0,-128 to -177,255,-113), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
+ Level time: 0 game time, 0 day time
+ Known server brands:
+ Level was modded: false
+ Level storage version: 0x00000 - Unknown?
+ Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
+ Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
+Stacktrace:
+ at net.minecraft.server.v1_15_R1.MinecraftServer.initWorld(MinecraftServer.java:517)
+ at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:458)
+ at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:298)
+ at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:908)
+ at java.lang.Thread.run(Unknown Source)
+
+-- System Details --
+Details:
+ Minecraft Version: 1.15.2
+ Minecraft Version ID: 1.15.2
+ Operating System: Windows 10 (amd64) version 10.0
+ Java Version: 1.8.0_241, Oracle Corporation
+ Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
+ Memory: 384442320 bytes (366 MB) / 694157312 bytes (662 MB) up to 954728448 bytes (910 MB)
+ CPUs: 8
+ JVM Flags: 2 total; -Xms512M -Xmx1G
+ CraftBukkit Information:
+ Running: Paper version git-Paper-195 (MC: 1.15.2) (Implementing API version 1.15.2-R0.1-SNAPSHOT) true
+ Plugins: { WorldEdit v7.1.0;8e55131 com.sk89q.worldedit.bukkit.WorldEditPlugin [], WorldGeneratorApi v0.4 nl.rutgerkok.worldgeneratorapi.internal.WorldGeneratorApiImpl [Rutger Kok], WorldGuard v7.0.2-SNAPSHOT;bf2593e com.sk89q.worldguard.bukkit.WorldGuardPlugin [], IslandSurvivalCraft v1.0.0 ca.recrown.islandsurvivalcraft.IslandSurvivalCraft [],}
+ Warnings: DEFAULT
+ Reload Count: 0
+ Threads: { WAITING Paper Async Chunk Urgent Task Thread: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Server-Worker-1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], WAITING Reference Handler: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Unknown Source), java.lang.ref.Reference.tryHandlePending(Unknown Source), java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)], WAITING Snooper Timer: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Unknown Source), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], TIMED_WAITING Timer-0: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], TIMED_WAITING Server thread: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), net.minecraft.server.v1_15_R1.IAsyncTaskHandler.bl(IAsyncTaskHandler.java:131), net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:120), net.minecraft.server.v1_15_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:405), net.minecraft.server.v1_15_R1.World.getChunkAt(World.java:325), net.minecraft.server.v1_15_R1.IWorldReader.getChunkAt(IWorldReader.java:87), net.minecraft.server.v1_15_R1.World.getChunkAt(World.java:270), net.minecraft.server.v1_15_R1.WorldProviderNormal.a(WorldProviderNormal.java:170), net.minecraft.server.v1_15_R1.WorldProviderNormal.a(WorldProviderNormal.java:149), net.minecraft.server.v1_15_R1.WorldServer.a(WorldServer.java:938), net.minecraft.server.v1_15_R1.MinecraftServer.initWorld(MinecraftServer.java:507), net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:458), net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:298), net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:908), java.lang.Thread.run(Unknown Source)], TIMED_WAITING Timer-1: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], WAITING Server-Worker-4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], WAITING Server-Worker-6: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #6: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], TIMED_WAITING Log4j2-TF-1-AsyncLogger[AsyncContext@18b4aac2]-1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source), com.lmax.disruptor.TimeoutBlockingWaitStrategy.waitFor(TimeoutBlockingWaitStrategy.java:38), com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56), com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:159), com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], RUNNABLE Netty Server IO #0: [sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method), sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source), sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source), sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source), sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source), sun.nio.ch.SelectorImpl.select(Unknown Source), io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62), io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:756), io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:411), io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884), java.lang.Thread.run(Unknown Source)], TIMED_WAITING Server console handler: [java.lang.Object.wait(Native Method), org.jline.utils.NonBlockingPumpReader.wait(NonBlockingPumpReader.java:55), org.jline.utils.NonBlockingPumpReader.read(NonBlockingPumpReader.java:101), org.jline.utils.NonBlockingReader.read(NonBlockingReader.java:57), org.jline.keymap.BindingReader.readCharacter(BindingReader.java:133), org.jline.keymap.BindingReader.readBinding(BindingReader.java:110), org.jline.keymap.BindingReader.readBinding(BindingReader.java:61), org.jline.reader.impl.LineReaderImpl.doReadBinding(LineReaderImpl.java:848), org.jline.reader.impl.LineReaderImpl.readBinding(LineReaderImpl.java:868), org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:575), org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:418), net.minecrell.terminalconsole.SimpleTerminalConsole.readCommands(SimpleTerminalConsole.java:158), net.minecrell.terminalconsole.SimpleTerminalConsole.start(SimpleTerminalConsole.java:141), net.minecraft.server.v1_15_R1.DedicatedServer$2.run(DedicatedServer.java:90)], WAITING Paper Async Task Handler Thread - 0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source), java.util.concurrent.LinkedBlockingQueue.take(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], RUNNABLE WindowsStreamPump: [org.fusesource.jansi.internal.Kernel32.WaitForSingleObject(Native Method), org.fusesource.jansi.internal.WindowsSupport.readConsoleInput(WindowsSupport.java:97), org.jline.terminal.impl.jansi.win.JansiWinSysTerminal.processConsoleInput(JansiWinSysTerminal.java:112), org.jline.terminal.impl.AbstractWindowsTerminal.pump(AbstractWindowsTerminal.java:458), org.jline.terminal.impl.AbstractWindowsTerminal$$Lambda$12/1457263953.run(Unknown Source), java.lang.Thread.run(Unknown Source)], RUNNABLE DestroyJavaVM: [], TIMED_WAITING WorldEdit Session Manager: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], TIMED_WAITING Craft Scheduler Thread - 0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source), java.util.concurrent.SynchronousQueue.poll(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], RUNNABLE Server-Worker-5: [java.lang.Thread.dumpThreads(Native Method), java.lang.Thread.getAllStackTraces(Unknown Source), org.bukkit.craftbukkit.v1_15_R1.CraftCrashReport.call(CraftCrashReport.java:33), net.minecraft.server.v1_15_R1.CrashReportSystemDetails.a(SourceFile:79), net.minecraft.server.v1_15_R1.CrashReport.i(CrashReport.java:71), net.minecraft.server.v1_15_R1.CrashReport.(CrashReport.java:35), net.minecraft.server.v1_15_R1.CrashReport.a(CrashReport.java:270), net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$null$23(PlayerChunkMap.java:843), net.minecraft.server.v1_15_R1.PlayerChunkMap$$Lambda$3001/734324597.apply(Unknown Source), com.mojang.datafixers.util.Either$Left.map(Either.java:38), net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$b$25(PlayerChunkMap.java:834), net.minecraft.server.v1_15_R1.PlayerChunkMap$$Lambda$2987/1408627542.apply(Unknown Source), java.util.concurrent.CompletableFuture.uniCompose(Unknown Source), java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source), java.util.concurrent.CompletableFuture$Completion.run(Unknown Source), net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58), net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter$$Lambda$3000/1478265604.run(Unknown Source), net.minecraft.server.v1_15_R1.ThreadedMailbox.e(ThreadedMailbox.java:78), net.minecraft.server.v1_15_R1.ThreadedMailbox.a(ThreadedMailbox.java:120), net.minecraft.server.v1_15_R1.ThreadedMailbox.run(ThreadedMailbox.java:86), java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source), java.util.concurrent.ForkJoinTask.doExec(Unknown Source), java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], TIMED_WAITING Craft Scheduler Thread - 2: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source), java.util.concurrent.SynchronousQueue.poll(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], WAITING Server-Worker-2: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], RUNNABLE Attach Listener: [], TIMED_WAITING Paper Watchdog Thread: [java.lang.Thread.sleep(Native Method), org.spigotmc.WatchdogThread.run(WatchdogThread.java:164)], TIMED_WAITING Server Infinisleeper: [java.lang.Thread.sleep(Native Method), net.minecraft.server.v1_15_R1.DedicatedServer$1.run(DedicatedServer.java:72)], WAITING Paper Async Chunk Task Thread #2: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], TIMED_WAITING Craft Scheduler Thread - 1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source), java.util.concurrent.SynchronousQueue.poll(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], TIMED_WAITING Craft Scheduler Thread - 3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(Unknown Source), java.util.concurrent.SynchronousQueue$TransferStack.transfer(Unknown Source), java.util.concurrent.SynchronousQueue.poll(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], RUNNABLE Signal Dispatcher: [], TIMED_WAITING ObjectCleanerThread: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(Unknown Source), io.netty.util.internal.ObjectCleaner$1.run(ObjectCleaner.java:54), io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30), java.lang.Thread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Paper Async Chunk Task Thread #4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Paper RegionFile IO Thread: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Server-Worker-3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], WAITING Finalizer: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(Unknown Source), java.lang.ref.ReferenceQueue.remove(Unknown Source), java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #5: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)],}
+
+ Force Loaded Chunks: { world: {},}
+ Player Count: 0 / 20; []
+ Data Packs: vanilla, file/bukkit
+ Is Modded: Definitely; Server brand changed to 'Paper'
+ Type: Dedicated Server (map_server.txt)
\ No newline at end of file
diff --git a/test-server/crash-reports/crash-2020-04-21_20.36.24-server.txt b/test-server/crash-reports/crash-2020-04-21_20.36.24-server.txt
new file mode 100644
index 0000000..789ae7e
--- /dev/null
+++ b/test-server/crash-reports/crash-2020-04-21_20.36.24-server.txt
@@ -0,0 +1,110 @@
+---- Minecraft Crash Report ----
+// Don't do that.
+
+Time: 21/04/20 8:36 PM
+Description: Exception generating new chunk
+
+java.lang.OutOfMemoryError: GC overhead limit exceeded
+ at java.lang.Long.valueOf(Unknown Source)
+ at com.destroystokyo.paper.io.PaperFileIOThread.getPendingWrite(PaperFileIOThread.java:155)
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.getChunkStatusOnDisk(PlayerChunkMap.java:1297)
+ at org.bukkit.craftbukkit.v1_15_R1.CraftWorld.isChunkGenerated(CraftWorld.java:430)
+ at org.bukkit.craftbukkit.v1_15_R1.CraftWorld.lambda$isChunkGenerated$2(CraftWorld.java:419)
+ at org.bukkit.craftbukkit.v1_15_R1.CraftWorld$$Lambda$3022/832167034.get(Unknown Source)
+ at java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
+ at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
+ at net.minecraft.server.v1_15_R1.ChunkProviderServer$a.executeTask(ChunkProviderServer.java:920)
+ at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
+ at net.minecraft.server.v1_15_R1.ChunkProviderServer$a.executeNext(ChunkProviderServer.java:966)
+ at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
+ at net.minecraft.server.v1_15_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:405)
+ at net.minecraft.server.v1_15_R1.World.getChunkAt(World.java:325)
+ at net.minecraft.server.v1_15_R1.IWorldReader.getChunkAt(IWorldReader.java:87)
+ at net.minecraft.server.v1_15_R1.World.getChunkAt(World.java:270)
+ at net.minecraft.server.v1_15_R1.WorldProviderNormal.a(WorldProviderNormal.java:170)
+ at net.minecraft.server.v1_15_R1.WorldProviderNormal.a(WorldProviderNormal.java:149)
+ at net.minecraft.server.v1_15_R1.WorldServer.a(WorldServer.java:938)
+ at net.minecraft.server.v1_15_R1.MinecraftServer.initWorld(MinecraftServer.java:507)
+ at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:458)
+ at net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:298)
+ at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:908)
+ at java.lang.Thread.run(Unknown Source)
+
+
+A detailed walkthrough of the error, its code path and all known details is as follows:
+---------------------------------------------------------------------------------------
+
+-- Head --
+Thread: Server thread
+Stacktrace:
+ at java.lang.Long.valueOf(Unknown Source)
+ at com.destroystokyo.paper.io.PaperFileIOThread.getPendingWrite(PaperFileIOThread.java:155)
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.getChunkStatusOnDisk(PlayerChunkMap.java:1297)
+ at org.bukkit.craftbukkit.v1_15_R1.CraftWorld.isChunkGenerated(CraftWorld.java:430)
+ at org.bukkit.craftbukkit.v1_15_R1.CraftWorld.lambda$isChunkGenerated$2(CraftWorld.java:419)
+ at org.bukkit.craftbukkit.v1_15_R1.CraftWorld$$Lambda$3022/832167034.get(Unknown Source)
+ at java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
+ at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
+ at net.minecraft.server.v1_15_R1.ChunkProviderServer$a.executeTask(ChunkProviderServer.java:920)
+
+-- Chunk to be generated --
+Details:
+ Location: -7,-16
+ Position hash: -64424509447
+ Generator: org.bukkit.craftbukkit.v1_15_R1.generator.CustomChunkGenerator@44b8dbf9
+Stacktrace:
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$null$23(PlayerChunkMap.java:844)
+ at com.mojang.datafixers.util.Either$Left.map(Either.java:38)
+ at net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$b$25(PlayerChunkMap.java:834)
+ at java.util.concurrent.CompletableFuture.uniCompose(Unknown Source)
+ at java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source)
+ at java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
+ at net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.e(ThreadedMailbox.java:78)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.a(ThreadedMailbox.java:120)
+ at net.minecraft.server.v1_15_R1.ThreadedMailbox.run(ThreadedMailbox.java:86)
+ at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
+ at java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
+ at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source)
+ at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
+ at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
+
+-- Affected level --
+Details:
+ All players: 0 total; []
+ Chunk stats: ServerChunkCache: 529
+ Level dimension: minecraft:overworld
+ Level name: world
+ Level seed: 6773576814985582412
+ Level generator: ID 00 - default, ver 1. Features enabled: true
+ Level generator options: {}
+ Level spawn location: World: (-104,64,-248), Chunk: (at 8,4,8 in -7,-16; contains blocks -112,0,-256 to -97,255,-241), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
+ Level time: 0 game time, 0 day time
+ Known server brands:
+ Level was modded: false
+ Level storage version: 0x00000 - Unknown?
+ Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
+ Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
+
+-- System Details --
+Details:
+ Minecraft Version: 1.15.2
+ Minecraft Version ID: 1.15.2
+ Operating System: Windows 10 (amd64) version 10.0
+ Java Version: 1.8.0_241, Oracle Corporation
+ Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
+ Memory: 120559768 bytes (114 MB) / 954728448 bytes (910 MB) up to 954728448 bytes (910 MB)
+ CPUs: 8
+ JVM Flags: 2 total; -Xms512M -Xmx1G
+ CraftBukkit Information:
+ Running: Paper version git-Paper-195 (MC: 1.15.2) (Implementing API version 1.15.2-R0.1-SNAPSHOT) true
+ Plugins: { WorldEdit v7.1.0;8e55131 com.sk89q.worldedit.bukkit.WorldEditPlugin [], WorldGeneratorApi v0.4 nl.rutgerkok.worldgeneratorapi.internal.WorldGeneratorApiImpl [Rutger Kok], WorldGuard v7.0.2-SNAPSHOT;bf2593e com.sk89q.worldguard.bukkit.WorldGuardPlugin [], IslandSurvivalCraft v1.0.0 ca.recrown.islandsurvivalcraft.IslandSurvivalCraft [],}
+ Warnings: DEFAULT
+ Reload Count: 0
+ Threads: { WAITING Finalizer: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(Unknown Source), java.lang.ref.ReferenceQueue.remove(Unknown Source), java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)], TIMED_WAITING Server Infinisleeper: [java.lang.Thread.sleep(Native Method), net.minecraft.server.v1_15_R1.DedicatedServer$1.run(DedicatedServer.java:72)], TIMED_WAITING ObjectCleanerThread: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(Unknown Source), io.netty.util.internal.ObjectCleaner$1.run(ObjectCleaner.java:54), io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30), java.lang.Thread.run(Unknown Source)], TIMED_WAITING Server-Worker-4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], RUNNABLE Server-Worker-1: [java.lang.Thread.dumpThreads(Native Method), java.lang.Thread.getAllStackTraces(Unknown Source), org.bukkit.craftbukkit.v1_15_R1.CraftCrashReport.call(CraftCrashReport.java:33), net.minecraft.server.v1_15_R1.CrashReportSystemDetails.a(SourceFile:79), net.minecraft.server.v1_15_R1.CrashReport.i(CrashReport.java:71), net.minecraft.server.v1_15_R1.CrashReport.(CrashReport.java:35), net.minecraft.server.v1_15_R1.CrashReport.a(CrashReport.java:270), net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$null$23(PlayerChunkMap.java:843), net.minecraft.server.v1_15_R1.PlayerChunkMap$$Lambda$3017/481480684.apply(Unknown Source), com.mojang.datafixers.util.Either$Left.map(Either.java:38), net.minecraft.server.v1_15_R1.PlayerChunkMap.lambda$b$25(PlayerChunkMap.java:834), net.minecraft.server.v1_15_R1.PlayerChunkMap$$Lambda$3002/1851150231.apply(Unknown Source), java.util.concurrent.CompletableFuture.uniCompose(Unknown Source), java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source), java.util.concurrent.CompletableFuture$Completion.run(Unknown Source), net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter.b(SourceFile:58), net.minecraft.server.v1_15_R1.ChunkTaskQueueSorter$$Lambda$3015/1606259377.run(Unknown Source), net.minecraft.server.v1_15_R1.ThreadedMailbox.e(ThreadedMailbox.java:78), net.minecraft.server.v1_15_R1.ThreadedMailbox.a(ThreadedMailbox.java:120), net.minecraft.server.v1_15_R1.ThreadedMailbox.run(ThreadedMailbox.java:86), java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source), java.util.concurrent.ForkJoinTask.doExec(Unknown Source), java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], WAITING Paper Async Task Handler Thread - 0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source), java.util.concurrent.LinkedBlockingQueue.take(Unknown Source), java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], TIMED_WAITING Timer-0: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], TIMED_WAITING WorldEdit Session Manager: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], WAITING Paper Async Chunk Urgent Task Thread: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Snooper Timer: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Unknown Source), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], WAITING Reference Handler: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Unknown Source), java.lang.ref.Reference.tryHandlePending(Unknown Source), java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)], TIMED_WAITING Server thread: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), net.minecraft.server.v1_15_R1.IAsyncTaskHandler.bl(IAsyncTaskHandler.java:131), net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:120), net.minecraft.server.v1_15_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:405), net.minecraft.server.v1_15_R1.World.getChunkAt(World.java:325), net.minecraft.server.v1_15_R1.IWorldReader.getChunkAt(IWorldReader.java:87), net.minecraft.server.v1_15_R1.World.getChunkAt(World.java:270), net.minecraft.server.v1_15_R1.WorldProviderNormal.a(WorldProviderNormal.java:170), net.minecraft.server.v1_15_R1.WorldProviderNormal.a(WorldProviderNormal.java:149), net.minecraft.server.v1_15_R1.WorldServer.a(WorldServer.java:938), net.minecraft.server.v1_15_R1.MinecraftServer.initWorld(MinecraftServer.java:507), net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:458), net.minecraft.server.v1_15_R1.DedicatedServer.init(DedicatedServer.java:298), net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:908), java.lang.Thread.run(Unknown Source)], TIMED_WAITING Timer-1: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Unknown Source), java.util.TimerThread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #5: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Paper Async Chunk Task Thread #1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], RUNNABLE DestroyJavaVM: [], WAITING Server-Worker-2: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], RUNNABLE WindowsStreamPump: [org.fusesource.jansi.internal.Kernel32.WaitForSingleObject(Native Method), org.fusesource.jansi.internal.WindowsSupport.readConsoleInput(WindowsSupport.java:97), org.jline.terminal.impl.jansi.win.JansiWinSysTerminal.processConsoleInput(JansiWinSysTerminal.java:112), org.jline.terminal.impl.AbstractWindowsTerminal.pump(AbstractWindowsTerminal.java:458), org.jline.terminal.impl.AbstractWindowsTerminal$$Lambda$12/1457263953.run(Unknown Source), java.lang.Thread.run(Unknown Source)], RUNNABLE Netty Server IO #0: [sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method), sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source), sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source), sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source), sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source), sun.nio.ch.SelectorImpl.select(Unknown Source), io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62), io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:756), io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:411), io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884), java.lang.Thread.run(Unknown Source)], WAITING Server-Worker-3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], TIMED_WAITING Server console handler: [java.lang.Object.wait(Native Method), org.jline.utils.NonBlockingPumpReader.wait(NonBlockingPumpReader.java:55), org.jline.utils.NonBlockingPumpReader.read(NonBlockingPumpReader.java:101), org.jline.utils.NonBlockingReader.read(NonBlockingReader.java:57), org.jline.keymap.BindingReader.readCharacter(BindingReader.java:133), org.jline.keymap.BindingReader.readBinding(BindingReader.java:110), org.jline.keymap.BindingReader.readBinding(BindingReader.java:61), org.jline.reader.impl.LineReaderImpl.doReadBinding(LineReaderImpl.java:848), org.jline.reader.impl.LineReaderImpl.readBinding(LineReaderImpl.java:868), org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:575), org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:418), net.minecrell.terminalconsole.SimpleTerminalConsole.readCommands(SimpleTerminalConsole.java:158), net.minecrell.terminalconsole.SimpleTerminalConsole.start(SimpleTerminalConsole.java:141), net.minecraft.server.v1_15_R1.DedicatedServer$2.run(DedicatedServer.java:90)], WAITING Paper Async Chunk Task Thread #6: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Paper Async Chunk Task Thread #2: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Paper RegionFile IO Thread: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], WAITING Server-Worker-6: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source), java.util.concurrent.ForkJoinPool.runWorker(Unknown Source), java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)], WAITING Paper Async Chunk Task Thread #0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], RUNNABLE Attach Listener: [], WAITING Paper Async Chunk Task Thread #4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(Unknown Source), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:84)], TIMED_WAITING Paper Watchdog Thread: [java.lang.Thread.sleep(Native Method), org.spigotmc.WatchdogThread.run(WatchdogThread.java:164)], TIMED_WAITING Log4j2-TF-1-AsyncLogger[AsyncContext@18b4aac2]-1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source), com.lmax.disruptor.TimeoutBlockingWaitStrategy.waitFor(TimeoutBlockingWaitStrategy.java:38), com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56), com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:159), com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125), java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.lang.Thread.run(Unknown Source)], RUNNABLE Signal Dispatcher: [],}
+
+ Force Loaded Chunks: { world: {},}
+ Player Count: 0 / 20; []
+ Data Packs: vanilla, file/bukkit
+ Is Modded: Definitely; Server brand changed to 'Paper'
+ Type: Dedicated Server (map_server.txt)
\ No newline at end of file
diff --git a/test-server/server.properties b/test-server/server.properties
index 7609f29..ac48c4e 100644
--- a/test-server/server.properties
+++ b/test-server/server.properties
@@ -1,5 +1,5 @@
#Minecraft server properties
-#Sun Apr 19 03:21:17 CDT 2020
+#Tue Apr 21 20:37:39 CDT 2020
spawn-protection=16
max-tick-time=60000
query.port=25565
diff --git a/test-server/start.bat b/test-server/start.bat
index 980ed97..5641aaf 100644
--- a/test-server/start.bat
+++ b/test-server/start.bat
@@ -4,5 +4,5 @@ del /s /f /q world >nul 2>&1
ECHO "Attempting to copy plugin jar to plugins folder"
COPY "..\target\IslandSurvivalCraft-1.0.0.jar" "plugins\IslandSurvivalCraft-1.0.0.jar" >nul
ECHO "Starting server..."
-java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4711 -Xms512M -Xmx1G -jar paper-195.jar nogui
+java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=25566 -Xms512M -Xmx1G -jar paper-195.jar nogui
pause
\ No newline at end of file
diff --git a/test-server/start.sh b/test-server/start.sh
index 9ccc0e4..6f1695a 100644
--- a/test-server/start.sh
+++ b/test-server/start.sh
@@ -3,5 +3,5 @@ rm -rf world
echo "Attempting to copy plugin jar to plugins folder"
cp "..\target\IslandSurvivalCraft-1.0.0.jar" "plugins\IslandSurvivalCraft-1.0.0.jar"
echo "Starting server..."
-java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4711 -Xms512M -Xmx1G -jar paper-195.jar nogui
+java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=25566 -Xms512M -Xmx1G -jar paper-195.jar nogui
pause
\ No newline at end of file