Chunk generate crash
Expected behavior
The server was not supposed to shut down.
Observed/Actual behavior
[21:39:28] [Server thread/INFO]: Over_Brave issued server command: /cave go
[21:39:28] [Server thread/ERROR]: Encountered an unexpected exception
java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: world/bentobox/caveblock/generators/ChunkGeneratorWorld$1
at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.NoClassDefFoundError: world/bentobox/caveblock/generators/ChunkGeneratorWorld$1
at world.bentobox.caveblock.generators.ChunkGeneratorWorld.getBaseMaterial(ChunkGeneratorWorld.java:65) ~[CaveBlock-1.15.0-SNAPSHOT-b414.jar:?]
at world.bentobox.caveblock.generators.ChunkGeneratorWorld.generateNoise(ChunkGeneratorWorld.java:114) ~[CaveBlock-1.15.0-SNAPSHOT-b414.jar:?]
at org.bukkit.craftbukkit.v1_18_R1.generator.CustomChunkGenerator.lambda$fillFromNoise$0(CustomChunkGenerator.java:253) ~[pufferfish-1.18.1.jar:git-Pufferfish-38]
at org.bukkit.craftbukkit.v1_18_R1.generator.CustomChunkGenerator.lambda$fillFromNoise$1(CustomChunkGenerator.java:258) ~[pufferfish-1.18.1.jar:git-Pufferfish-38]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
... 3 more
[21:39:28] [Server thread/ERROR]: Cause of unexpected exception was
java.lang.NoClassDefFoundError: world/bentobox/caveblock/generators/ChunkGeneratorWorld$1
at world.bentobox.caveblock.generators.ChunkGeneratorWorld.getBaseMaterial(ChunkGeneratorWorld.java:65) ~[CaveBlock-1.15.0-SNAPSHOT-b414.jar:?]
at world.bentobox.caveblock.generators.ChunkGeneratorWorld.generateNoise(ChunkGeneratorWorld.java:114) ~[CaveBlock-1.15.0-SNAPSHOT-b414.jar:?]
at org.bukkit.craftbukkit.v1_18_R1.generator.CustomChunkGenerator.lambda$fillFromNoise$0(CustomChunkGenerator.java:253) ~[pufferfish-1.18.1.jar:git-Pufferfish-38]
at org.bukkit.craftbukkit.v1_18_R1.generator.CustomChunkGenerator.lambda$fillFromNoise$1(CustomChunkGenerator.java:258) ~[pufferfish-1.18.1.jar:git-Pufferfish-38]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Steps/models to reproduce
I typed /cave go and the server crashed. It's not always the case.
BentoBox version

Plugin list
No response
Other
No response
It looks like an incompatibility with pufferfish-1.18.1.jar. Do you see the same error with Paper?
I've only had this problem once. I thought maybe it was a rare bug that triggered an issue. If there is no problem on the plugin side, the issue can be closed.
NoClassDefFoundError error should be thrown only if there already exists some error before. At least that is how I understand that exception.
I had a similar problem:
Failed to schedule load callback for chunk [-5, 18] java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: world/bentobox/caveblock/generators/ChunkGeneratorWorld$1 at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?] at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: java.lang.NoClassDefFoundError: world/bentobox/caveblock/generators/ChunkGeneratorWorld$1 at world.bentobox.caveblock.generators.ChunkGeneratorWorld.getBaseMaterial(ChunkGeneratorWorld.java:76) ~[CaveBlock-1.16.0.jar:?] at world.bentobox.caveblock.generators.ChunkGeneratorWorld.generateNoise(ChunkGeneratorWorld.java:141) ~[CaveBlock-1.16.0.jar:?] at org.bukkit.craftbukkit.v1_18_R2.generator.CustomChunkGenerator.lambda$fillFromNoise$0(CustomChunkGenerator.java:254) ~[purpur-1.18.2.jar:git-Purpur-1628] at org.bukkit.craftbukkit.v1_18_R2.generator.CustomChunkGenerator.lambda$fillFromNoise$1(CustomChunkGenerator.java:259) ~[purpur-1.18.2.jar:git-Purpur-1628] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] ... 3 more
Remove callback for map threw exception java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: world/bentobox/caveblock/generators/ChunkGeneratorWorld$1 at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?] at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] at java.lang.Thread.run(Thread.java:833) ~[?:?] Caused by: java.lang.NoClassDefFoundError: world/bentobox/caveblock/generators/ChunkGeneratorWorld$1 at world.bentobox.caveblock.generators.ChunkGeneratorWorld.getBaseMaterial(ChunkGeneratorWorld.java:76) ~[CaveBlock-1.16.0.jar:?] at world.bentobox.caveblock.generators.ChunkGeneratorWorld.generateNoise(ChunkGeneratorWorld.java:141) ~[CaveBlock-1.16.0.jar:?] at org.bukkit.craftbukkit.v1_18_R2.generator.CustomChunkGenerator.lambda$fillFromNoise$0(CustomChunkGenerator.java:254) ~[purpur-1.18.2.jar:git-Purpur-1628] at org.bukkit.craftbukkit.v1_18_R2.generator.CustomChunkGenerator.lambda$fillFromNoise$1(CustomChunkGenerator.java:259) ~[purpur-1.18.2.jar:git-Purpur-1628] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] ... 3 more