Code Monkey home page Code Monkey logo

slime-world-manager's People

Contributors

andre601 avatar brandonwamboldt avatar brikster avatar cijaaimee avatar gerolmed avatar heyzeer0 avatar hugome avatar iamceph avatar riku6460 avatar tehneon avatar yannicklamprecht avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

slime-world-manager's Issues

Add an Biome setting to the SlimeProperties

I think, it could be really useful if we could be able to set a Biome for a slime world.
So for the SlimeProperties there could be something like a .biome(Biome.PLAINS) and for the config something like biome: PLAINS

Move documentation into the project repository

Why?
Easier to maintain. New Feature docs can be connected to the PR that add them. Simple jump back in history. Jump back to e.g. version 1.0 and view the docs of that.
In repo markdown docs allow relative paths making it easier to test and view the Behaviour of the wiki pages without deploying them. Although Wiki's allow "relative paths" with the wiki link syntax this cant be tested until deployment and might lead to errors.

Although wiki pages are quite useful I personally consider them as problematic in terms of regular maintaining and updating. That's why I would recommend moving the documentation to a /.docs folder. Or at least those that are connected to the api as that would mainly benefit from this change.

Load world multiple times

For my minigame server I want have setup where 1 world = 1 arena.
All arenas are the same,
is there a way to use one world as a template and create multiple worlds from it?
For example: Skywars-Summer is my world, I want to use it as template and create worlds Skywars-Summer-1 Skywars-Summer-2 Skywars-Summer-3...

All worlds should be created using Skywars-Summer as template, readOnly will be set to true.

Creating a Discord server for support?

Is your feature request related to a problem? Please describe.
Not everyone knows how to use GitHub, and sometimes issues are just simple questions that could be answered easily.

Describe the solution you'd like
Discord is used by many spigot users. Instead of forcing people to create an account on GitHub, we could just have a Discord server for support.

I'm opening an issue for this because I'm not sure it's worth the effort. Not many people use SWM for now, there isn't really a community.

Any thoughts on this?

/swm list does not seem to support pages

Describe the issue
/swm list works right, but it has 8 pages - if I do /swm list 2, it just shows nothing
Spigot version
1.12.2 paper
Plugin version
2.0.5
How to reproduce
load more than 5 worlds and do /swm list 2, empty here
Crash reports (if available)

Raid crash reports

Describe the issue
Raids seem to print crash reports on the server console.

Spigot version
Spigot 1.14.

Plugin version
Any.

How to reproduce
Just wait.

Crash reports (if available)

Could not save data net.minecraft.server.v1_14_R1.PersistentRaid@49ad24e
java.io.FileNotFoundException: temp_snowball1/snowball1/data/raids.dat (No such file or directory)

SlimeNMS code oopsie

Saving chunks for level *name* although the world has already been unloaded

Log shows:
[20:45:15 INFO]: Saving chunks for level '1d4e1f96-f2e4-41b3-bce3-72bf5ef4c2a5'/Overworld
[20:45:15 INFO]: Saving chunks for level 'de181a1c-b225-4b46-8f75-4874b6223849'/Overworld
[20:45:15 INFO]: Saving chunks for level '91caa65c-9e6f-4c2c-9c13-7478fee8f893'/Overworld
[20:45:15 INFO]: Saving chunks for level '28f67c51-d060-49e7-a446-48e2f06f2546'/Overworld
On every world although the world is not loaded anymore.

Spigot version: 1.8.9

Plugin version: 2.0.4 SNAPSHOT

Reproduce:

  1. Create and generate slimeworlds.
  2. Unload them and close the server to see the messages.

No crash reports

making server default world format as slime but docker container doesn't like it

Describe the issue
apparently running the server in docker container evem with "Pterodactyl panel" with default world is manged by slime manager crashs the server on boot
Spigot version
1.14.4
Plugin version
2.0.3
How to reproduce
here running the server with plain linux console "ssh"
image
here when running the same server on pterodactyl
image

full log
[Pterodactyl Daemon] Server marked as STARTING
[Pterodactyl Daemon] Checking size of server data directory...
[Pterodactyl Daemon] Disk Usage: 206M / 3000M
[Pterodactyl Daemon] Ensuring file permissions.
[Pterodactyl Daemon] Running server preflight.
[Pterodactyl Daemon] Starting server container.
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1~deb9u1-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)
:/home/container$ java -javaagent:slimeworldmanager-classmodifier-2.0.3.jar -Xms128M -Xmx1024M -jar SkywarsHub.jar
*** Warning, you've not updated in a while! ***
*** Please download a new build as per instructions from https://papermc.io/downloads ***
System Info: Java 1.8 (OpenJDK 64-Bit Server VM 25.212-b01) Host: Linux 4.4.0 (amd64)
Loading libraries, please wait...
[16:06:40 INFO]: Starting minecraft server version 1.14.4
[16:06:40 INFO]: Loading properties
�=>.... [16:06:41 INFO]: This server is running Paper version git-Paper-172 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)
>.... [16:06:41 INFO]: Server Ping Player Sample Count: 12
>.... [16:06:42 INFO]: Using 4 threads for Netty based IO
>.... [16:06:42 INFO]: Debug logging is disabled
>.... [16:06:42 INFO]: Default game type: SURVIVAL
>.... [16:06:42 INFO]: Generating keypair
>.... [16:06:42 INFO]: Starting Minecraft server on 0.0.0.0:2010
>.... [16:06:43 INFO]: Using epoll channel type
>.... [16:06:58 WARN]: Plugin SlimeWorldManager v2.0.3 does not specify an api-version.
>.... [16:06:58 INFO]: [SlimeWorldManager] Loading SlimeWorldManager v2.0.3
>.... [16:06:59 INFO]: [SWM] Loading world main.
>.... [16:06:59 INFO]: [SWM] World main loaded in 236ms.
>.... [16:06:59 INFO]: [SWM] Loading world test2.
>.... [16:06:59 INFO]: [SWM] Failed to load world test2: world does not exist, are you sure you've set the correct data source?
>.... [16:06:59 INFO]: -------- World Settings For [main] --------
>.... [16:06:59 INFO]: Experience Merge Radius: 3.0
>.... [16:06:59 INFO]: Mob Spawn Range: 8
>.... [16:06:59 INFO]: Cactus Growth Modifier: 100%
>.... [16:06:59 INFO]: Cane Growth Modifier: 100%
>.... [16:06:59 INFO]: Melon Growth Modifier: 100%
>.... [16:06:59 INFO]: Mushroom Growth Modifier: 100%
>.... [16:06:59 INFO]: Pumpkin Growth Modifier: 100%
>.... [16:06:59 INFO]: Sapling Growth Modifier: 100%
>.... [16:06:59 INFO]: Beetroot Growth Modifier: 100%
>.... [16:06:59 INFO]: Carrot Growth Modifier: 100%
>.... [16:06:59 INFO]: Potato Growth Modifier: 100%
>.... [16:06:59 INFO]: Wheat Growth Modifier: 100%
>.... [16:06:59 INFO]: NetherWart Growth Modifier: 100%
>.... [16:06:59 INFO]: Vine Growth Modifier: 100%
>.... [16:06:59 INFO]: Cocoa Growth Modifier: 100%
>.... [16:06:59 INFO]: Bamboo Growth Modifier: 100%
>.... [16:06:59 INFO]: SweetBerry Growth Modifier: 100%
>.... [16:06:59 INFO]: Kelp Growth Modifier: 100%
>.... [16:06:59 INFO]: Entity Activation Range: An 32 / Mo 32 / Ra 48 / Mi 16 / Tiv true
>.... [16:06:59 INFO]: Entity Tracking Range: Pl 48 / An 48 / Mo 48 / Mi 32 / Other 64
>.... [16:06:59 INFO]: Hopper Transfer: 8 Hopper Check: 1 Hopper Amount: 1
>.... [16:06:59 INFO]: Custom Map Seeds: Village: 10387312 Desert: 14357617 Igloo: 14357618 Jungle: 14357619 Swamp: 14357620 Monument: 10387313Ocean: 14357621 Shipwreck: 165745295 Slime: 987234911
>.... [16:06:59 INFO]: Max TNT Explosions: 100
>.... [16:06:59 INFO]: Tile Max Tick Time: 50ms Entity max Tick Time: 50ms
>.... [16:06:59 INFO]: Item Despawn Rate: 6000
>.... [16:06:59 INFO]: View Distance: 10
>.... [16:06:59 INFO]: Allow Zombie Pigmen to spawn from portal blocks: true
>.... [16:06:59 INFO]: Item Merge Radius: 2.5
>.... [16:06:59 INFO]: Arrow Despawn Rate: 1200
>.... [16:06:59 INFO]: Zombie Aggressive Towards Villager: true
>.... [16:06:59 INFO]: Nerfing mobs spawned from spawners: false
>.... [16:07:01 INFO]: Server permissions file permissions.yml is empty, ignoring it
>.... [16:07:01 WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
>.... [16:07:01 WARN]: The server will make no attempt to authenticate usernames. Beware.
>.... [16:07:01 WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
>.... [16:07:01 WARN]: To change this, set "online-mode" to "true" in the server.properties file.
>.... [16:07:01 INFO]: Preparing level "main"
>.... [16:07:01 INFO]: Overriding default worlds
>.... [16:07:02 ERROR]: Encountered an unexpected exception
java.lang.RuntimeException: Could not initialize Bukkit datapack
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:547) ~[patched_1.14.4.jar:git-Paper-172]
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java) ~[patched_1.14.4.jar:git-Paper-172]
at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:290) ~[patched_1.14.4.jar:git-Paper-172]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:869) ~[patched_1.14.4.jar:git-Paper-172]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
Caused by: java.io.FileNotFoundException: /datapacks/bukkit/pack.mcmeta (No such file or directory)
at java.io.FileOutputStream.open0(Native Method) ~[?:1.8.0_212]
at java.io.FileOutputStream.open(FileOutputStream.java:270) ~[?:1.8.0_212]
at java.io.FileOutputStream.<init>(FileOutputStream.java:213) ~[?:1.8.0_212]
at com.google.common.io.Files$FileByteSink.openStream(Files.java:201) ~[patched_1.14.4.jar:git-Paper-172]
at com.google.common.io.Files$FileByteSink.openStream(Files.java:189) ~[patched_1.14.4.jar:git-Paper-172]
at com.google.common.io.ByteSink$AsCharSink.openStream(ByteSink.java:151) ~[patched_1.14.4.jar:git-Paper-172]
at com.google.common.io.CharSink.write(CharSink.java:95) ~[patched_1.14.4.jar:git-Paper-172]
at com.google.common.io.Files.write(Files.java:317) ~[patched_1.14.4.jar:git-Paper-172]
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:540) ~[patched_1.14.4.jar:git-Paper-172]
... 4 more
>.... [16:07:02 ERROR]: Cause of unexpected exception was
java.io.FileNotFoundException: /datapacks/bukkit/pack.mcmeta (No such file or directory)
at java.io.FileOutputStream.open0(Native Method) ~[?:1.8.0_212]
at java.io.FileOutputStream.open(FileOutputStream.java:270) ~[?:1.8.0_212]
at java.io.FileOutputStream.<init>(FileOutputStream.java:213) ~[?:1.8.0_212]
at com.google.common.io.Files$FileByteSink.openStream(Files.java:201) ~[patched_1.14.4.jar:git-Paper-172]
at com.google.common.io.Files$FileByteSink.openStream(Files.java:189) ~[patched_1.14.4.jar:git-Paper-172]
at com.google.common.io.ByteSink$AsCharSink.openStream(ByteSink.java:151) ~[patched_1.14.4.jar:git-Paper-172]
at com.google.common.io.CharSink.write(CharSink.java:95) ~[patched_1.14.4.jar:git-Paper-172]
at com.google.common.io.Files.write(Files.java:317) ~[patched_1.14.4.jar:git-Paper-172]
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:540) ~[patched_1.14.4.jar:git-Paper-172]
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java) ~[patched_1.14.4.jar:git-Paper-172]
at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:290) ~[patched_1.14.4.jar:git-Paper-172]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:869) ~[patched_1.14.4.jar:git-Paper-172]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
>.... [16:07:02 ERROR]: This crash report has been saved to: /home/container/./crash-reports/crash-2019-09-07_16.07.02-server.txt
>.... [16:07:02 INFO]: Stopping server
>.... [16:07:02 INFO]: Saving players
>.... [16:07:03 INFO]: Saving worlds
>.... [16:07:03 INFO]: Saving chunks for level 'main'/minecraft:overworld
>.... [16:07:03 INFO]: ThreadedAnvilChunkStorage (main): All chunks are saved
>.... [16:07:03 INFO]: [SWM World] Saving world main...
>.... [16:07:03 INFO]: [SWM World] World main saved in 26ms.
>.... [16:07:03 INFO]: ThreadedAnvilChunkStorage (main): All chunks are saved
[Pterodactyl Daemon] Server marked as STOPPING
[Pterodactyl Daemon] Server marked as OFF
>....

Crash reports (if available)
yep there is

---- Minecraft Crash Report ----
// Daisy, daisy...

Time: 9/7/19 12:33 PM
Description: Exception in server tick loop

java.lang.RuntimeException: Could not initialize Bukkit datapack
	at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:547)
	at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java)
	at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:290)
	at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:870)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.FileNotFoundException: /datapacks/bukkit/pack.mcmeta (No such file or directory)
	at java.io.FileOutputStream.open0(Native Method)
	at java.io.FileOutputStream.open(FileOutputStream.java:270)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
	at com.google.common.io.Files$FileByteSink.openStream(Files.java:201)
	at com.google.common.io.Files$FileByteSink.openStream(Files.java:189)
	at com.google.common.io.ByteSink$AsCharSink.openStream(ByteSink.java:151)
	at com.google.common.io.CharSink.write(CharSink.java:95)
	at com.google.common.io.Files.write(Files.java:317)
	at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:540)
	... 4 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- System Details --
Details:
	Minecraft Version: 1.14.4
	Minecraft Version ID: 1.14.4
	Operating System: Linux (amd64) version 4.4.0
	Java Version: 1.8.0_212, Oracle Corporation
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 40974280 bytes (39 MB) / 263815168 bytes (251 MB) up to 1037959168 bytes (989 MB)
	CPUs: 8
	JVM Flags: 2 total; -Xms128M -Xmx1024M
	CraftBukkit Information: 
   Running: Paper version git-Paper-175 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT) false
   Plugins: { BlockParticles v1.1 me.badbones69.blockparticles.Main [BadBones69], WorldEdit v7.1.0-SNAPSHOT;4623-a0b9810 com.sk89q.worldedit.bukkit.WorldEditPlugin [], Skript v2.4-beta5 ch.njol.skript.Skript [Njol, Mirreski, bensku, TheBentoBox, Snow-Pyon, Pikachu920, Nicofisi, tim740, Tuke-Nuke, TheLimeGlass, xXAndrew28Xx, Sashie, RoyCurtis, nfell2009, Syst3ms, Blueyescat], SlimeWorldManager v2.0.3* com.grinderwolf.swm.plugin.SWMPlugin [Grinderwolf], PlaceholderAPI v2.10.3* me.clip.placeholderapi.PlaceholderAPIPlugin [extended_clip, Glare], PlugMan v2.1.6 com.rylinaux.plugman.PlugMan [rylinaux], WorldBorder v1.9.10 (beta) com.wimbli.WorldBorder.WorldBorder [Brettflan], SkQuery v4.1.1 com.w00tmast3r.skquery.SkQuery [LimeGlass, w00tmast3r], Ersatz v1.0* com.pikachu.papiaddon.Main [Pikachu], WorldGuard v7.0.1-SNAPSHOT;1968-e59d61e com.sk89q.worldguard.bukkit.WorldGuardPlugin [], ProtocolLib v4.5.0-SNAPSHOT com.comphenix.protocol.ProtocolLib [dmulloy2, comphenix], skUtilities v0.9.2* uk.tim740.skUtilities.skUtilities [tim740], Skungee v1.0.10a* me.limeglass.skungee.spigot.Skungee [LimeGlass, Skungee], skript-mirror v2.0.0-SNAPSHOT* com.btk5h.skriptmirror.SkriptMirror [Bryan Terce <[email protected]>], ThatPacketAddon v1.0-BETA.3* us.tlatoani.thatpacketaddon.ThatPacketAddon [Tlatoani], UltraPermissions v4.2.9 me.TechsCode.UltraPermissions.base.loader.SpigotLoader [], Vixio v2.0.1* me.iblitzkriegi.vixio.Vixio [iBlitzkriegi, sky_high (Pikachu)], HolographicDisplays v2.3.3-SNAPSHOT com.gmail.filoghost.holographicdisplays.HolographicDisplays [], Vault v1.7.2-b107 net.milkbowl.vault.Vault [cereal, Sleaker, mung3r], BungeeTabListPlus v2.8.11* codecrafter47.bungeetablistplus.BukkitPlugin [CodeCrafter47], TitleManager v2.1.5* io.puharesource.mc.titlemanager.TitleManagerPlugin [Puharesource], HolographicExtension v1.10.7* net.kitesoftware.holograms.HolographicExtension [Niall7459], Citizens v2.0.25-SNAPSHOT (build 1743) net.citizensnpcs.Citizens [fullwall], skRayFall v1.9.17* net.rayfall.eyesniper2.skrayfall.Core [eyesniper2], Skore v1.0.0* me.limeglass.skore.Skore [LimeGlass], CommandNPC v1.9.1* me.messageofdeath.commandnpc.CommandNPC [messageofdeath],}
   Warnings: DEFAULT
   Reload Count: 0
   Threads: { WAITING Paper Async Chunk Task Thread #4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:94)], RUNNABLE Server console handler: [java.io.FileInputStream.read0(Native Method), java.io.FileInputStream.read(FileInputStream.java:207), org.jline.terminal.impl.AbstractPty$PtyInputStream.read(AbstractPty.java:73), org.jline.utils.NonBlockingInputStream.read(NonBlockingInputStream.java:62), org.jline.utils.NonBlocking$NonBlockingInputStreamReader.read(NonBlocking.java:168), 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_14_R1.DedicatedServer$2.run(DedicatedServer.java:89)], WAITING Snooper Timer: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Object.java:502), java.util.TimerThread.mainLoop(Timer.java:526), java.util.TimerThread.run(Timer.java:505)], RUNNABLE Server thread: [java.lang.Thread.dumpThreads(Native Method), java.lang.Thread.getAllStackTraces(Thread.java:1610), org.bukkit.craftbukkit.v1_14_R1.CraftCrashReport.call(CraftCrashReport.java:33), net.minecraft.server.v1_14_R1.CrashReportSystemDetails.a(SourceFile:79), net.minecraft.server.v1_14_R1.CrashReport.h(CrashReport.java:71), net.minecraft.server.v1_14_R1.CrashReport.<init>(CrashReport.java:35), net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:944), java.lang.Thread.run(Thread.java:748)], WAITING Paper Async Chunk Task Thread #5: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:94)], TIMED_WAITING Timer-1: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Timer.java:552), java.util.TimerThread.run(Timer.java:505)], WAITING Paper Async Chunk Task Thread #0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:94)], TIMED_WAITING Timer-0: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Timer.java:552), java.util.TimerThread.run(Timer.java:505)], WAITING Paper Async Chunk Task Thread #1: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:94)], TIMED_WAITING Paper Watchdog Thread: [java.lang.Thread.sleep(Native Method), org.spigotmc.WatchdogThread.run(WatchdogThread.java:148)], TIMED_WAITING Server Infinisleeper: [java.lang.Thread.sleep(Native Method), net.minecraft.server.v1_14_R1.DedicatedServer$1.run(DedicatedServer.java:71)], TIMED_WAITING Keep-Alive-Timer: [java.lang.Thread.sleep(Native Method), sun.net.www.http.KeepAliveCache.run(KeepAliveCache.java:172), java.lang.Thread.run(Thread.java:748)], TIMED_WAITING WorldEdit Session Manager: [java.lang.Object.wait(Native Method), java.util.TimerThread.mainLoop(Timer.java:552), java.util.TimerThread.run(Timer.java:505)], WAITING Paper Async Chunk Task Thread #2: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:94)], TIMED_WAITING Server-Worker-4: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824), java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693), java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)], WAITING Reference Handler: [java.lang.Object.wait(Native Method), java.lang.Object.wait(Object.java:502), java.lang.ref.Reference.tryHandlePending(Reference.java:191), java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)], RUNNABLE DestroyJavaVM: [], WAITING Server-Worker-5: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824), java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693), java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)], TIMED_WAITING Abandoned connection cleanup thread: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144), com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:64), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], TIMED_WAITING ObjectCleanerThread: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144), io.netty.util.internal.ObjectCleaner$1.run(ObjectCleaner.java:54), io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30), java.lang.Thread.run(Thread.java:748)], WAITING Paper Async Chunk Task Thread #6: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:94)], WAITING Finalizer: [java.lang.Object.wait(Native Method), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144), java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165), java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:216)], WAITING Server-Worker-6: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824), java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693), java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)], WAITING Paper Async Chunk Task Thread #3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), com.destroystokyo.paper.io.QueueExecutorThread.run(QueueExecutorThread.java:94)], WAITING Server-Worker-3: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824), java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693), java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)], RUNNABLE Log4j2-TF-1-AsyncLogger[AsyncContext@18b4aac2]-1: [java.lang.String.intern(Native Method), java.util.jar.Attributes$Name.<init>(Attributes.java:466), java.util.jar.Attributes.putValue(Attributes.java:168), java.util.jar.Attributes.read(Attributes.java:421), java.util.jar.Manifest.read(Manifest.java:286), java.util.jar.JarInputStream.checkManifest(JarInputStream.java:95), java.util.jar.JarInputStream.<init>(JarInputStream.java:86), java.lang.Package.loadManifest(Package.java:611), java.lang.Package.access$100(Package.java:111), java.lang.Package$1.run(Package.java:586), java.lang.Package$1.run(Package.java:570), java.security.AccessController.doPrivileged(Native Method), java.lang.Package.defineSystemPackage(Package.java:570), java.lang.Package.getSystemPackage(Package.java:546), java.lang.Package.getPackage(Package.java:336), java.lang.Class.getPackage(Class.java:796), org.apache.logging.log4j.core.impl.ThrowableProxy.toCacheEntry(ThrowableProxy.java:598), org.apache.logging.log4j.core.impl.ThrowableProxy.toExtendedStackTrace(ThrowableProxy.java:647), org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:138), org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:122), org.apache.logging.log4j.core.async.RingBufferLogEvent.getThrownProxy(RingBufferLogEvent.java:330), org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.java:61), org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:38), org.apache.logging.log4j.core.layout.PatternLayout$PatternSelectorSerializer.toSerializable(PatternLayout.java:455), org.apache.logging.log4j.core.layout.PatternLayout.toText(PatternLayout.java:232), org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:217), org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:57), org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:177), org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:170), org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:161), org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:218), org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156), org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129), org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120), org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84), org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:448), org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433), org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417), org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:79), org.apache.logging.log4j.core.async.AsyncLogger.actualAsyncLog(AsyncLogger.java:337), org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:161), org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:45), org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:29), com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168), com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], RUNNABLE Netty Epoll Server IO #0: [io.netty.channel.epoll.Native.epollWait0(Native Method), io.netty.channel.epoll.Native.epollWait(Native.java:114), io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:239), io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:256), io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884), java.lang.Thread.run(Thread.java:748)], WAITING Paper Async Task Handler Thread - 0: [sun.misc.Unsafe.park(Native Method), java.util.concurrent.locks.LockSupport.park(LockSupport.java:175), java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039), java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442), java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:748)], RUNNABLE Signal Dispatcher: [],}
   
   Force Loaded Chunks: { main: {},}
	Player Count: 0 / 200; []
	Data Packs: 
	Is Modded: Definitely; Server brand changed to 'Paper'
	Type: Dedicated Server (map_server.txt)

Generate empty worlds

A method to generate a empty slime world could be useful for developers or server admins.

cap chars cause exepetion.

Describe the issue
problem with cap chars when creating worlds
Spigot version
1.14.4
Plugin version
2.0.3
How to reproduce
here command coutput when created the first world without cap char

>.... [11:57:52 INFO]: Ham1255 issued server command: /swm create main file
>.... [11:57:52 INFO]: [SWM] Creating empty world main.
>.... [11:57:52 INFO]: [SWM] World main created in 133ms.

here when i made the world MainSpawn

>.... [11:58:03 INFO]: Ham1255 issued server command: /swm create MainSpawn file
>.... [11:58:03 INFO]: [SWM] Creating empty world MainSpawn.
>.... [11:58:03 INFO]: [SWM] World MainSpawn created in 9ms.
>.... [11:58:03 INFO]: [SWM] Loading world MainSpawn
>.... [11:58:03 WARN]: [SlimeWorldManager] Task #1040 for SlimeWorldManager v2.0.3 generated an exception
net.minecraft.server.v1_14_R1.ResourceKeyInvalidException: Non [a-z0-9/._-] character in path of location: minecraft:MainSpawn
at net.minecraft.server.v1_14_R1.MinecraftKey.<init>(SourceFile:38) ~[patched_1.14.4.jar:git-Paper-175]
at net.minecraft.server.v1_14_R1.MinecraftKey.<init>(SourceFile:43) ~[patched_1.14.4.jar:git-Paper-175]
at net.minecraft.server.v1_14_R1.IRegistry.a(SourceFile:188) ~[patched_1.14.4.jar:git-Paper-175]
at net.minecraft.server.v1_14_R1.DimensionManager.register(DimensionManager.java:23) ~[patched_1.14.4.jar:git-Paper-175]
at com.grinderwolf.swm.nms.v1_14_R1.v1_14_R1SlimeNMS.generateWorld(v1_14_R1SlimeNMS.java:86) ~[?:?]
at com.grinderwolf.swm.plugin.SWMPlugin.generateWorld(SWMPlugin.java:301) ~[?:?]
at com.grinderwolf.swm.plugin.commands.sub.CreateWorldCmd.lambda$null$0(CreateWorldCmd.java:84) ~[?:?]
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.14.4.jar:git-Paper-175]
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452) ~[patched_1.14.4.jar:git-Paper-175]
at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1148) ~[patched_1.14.4.jar:git-Paper-175]
at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:417) ~[patched_1.14.4.jar:git-Paper-175]
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:1075) ~[patched_1.14.4.jar:git-Paper-175]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:919) ~[patched_1.14.4.jar:git-Paper-175]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]

Crash reports (if available)

Using SWM on survival world

Spigot page says Note that SWM is not intended to be used on big survival worlds, but small worlds like minigame maps or server lobbies.

What makes this plugin not good use for survival worlds?
Lets say survival world is 10 000 x 10 000 and preloaded with world border so player will never load new chunk.

Whats the differece between this case and minigame world - where is the separation between "yes" and "no" for using this plugin for static worlds? (size?)

Save spawn location

Is your feature request related to a problem? Please describe.
Spawn coordinates could be saved when importing a world.

Describe the solution you'd like
Spawn coordinates are stored inside the level.dat file. They could be obtained from there when importing the world.

Store world properties along with world

Is your feature request related to a problem? Please describe.
Simplifies importing, cross server settings.

This might come in useful, if you are working on multiple servers. E.g. storing the world from one server and loading it in the other. Some worlds might require different settings. Say one has monsters turned on its pretty cumbersome to detect different world settings

Describe the solution you'd like
Add settings on storage. Allow overwriting settings upon import.

What's about World Upgrade?

I think currently an upgrade of a slime world to a new Minecraft version cannot work. Is there any support planned?

Unloading/Loading world causes Async issues?

Describe the issue
Issue could be caused by the way I load/unload worlds, but I don't recognise the pieces of the error, so pointers in the right direction would be appreciated.

It causes lagg and world interactions (placing, breaking blocks) become unresponsive... Teleporting to SWM worlds/players does not work, but teleporting to normal worlds does. Worlds sometimes remain locked upon being saved during this error. After a while console spam appears.
Happens when a player disconnects from an empty world (causing it to unload because of my plugin) and then reconnecting and using a command to load the same world. Affects all loaded SWM worlds.

Spigot version
//Paper
-- Paper (Latest as of yesterday) [aba4969] Updated Upstream (Bukkit/CraftBukkit) | 2019-08-26

Plugin version
1.1.4
//My plugin is buildt against 1.1.2, which could be a thing? But I can't check that right now...

How to reproduce
Have multiple players.
Each in their own slime worlds.
Unload 1 slimeworld.
Load it again.
(Try to teleport to player in other slime world? They reported that block placing issues started before I tried to TP to them, but AFTER I teleported to my own SlimeWorld)
Weird stuff starts happening.

My code for loading a world:
https://pastebin.com/eCuSUhMV

My code for unloading a world:
https://pastebin.com/BsZa3tfQ

Crash reports (if available)
Error being spammed in console:
https://pastebin.com/tWeyjwwP

Full log from session: (Issues started appearing at around [21:12:41] but errors appeared much later)
https://pastebin.com/E2FZPEPt

NPE when running /swm create command

Describe the issue
A NPE is thrown when creating an empty world.

Spigot version
Spigot 1.14.

Plugin version
Latest.

How to reproduce
Create an empty world.

Crash reports (if available)

[11:11:29 WARN]: [SlimeWorldManager] Plugin SlimeWorldManager v1.1.3 generated an exception while executing task 250
java.lang.NullPointerException: null
        at com.grinderwolf.swm.nms.CraftSlimeWorld.serializeChunks(CraftSlimeWorld.java:230) ~[?:?]
        at com.grinderwolf.swm.nms.CraftSlimeWorld.serialize(CraftSlimeWorld.java:120) ~[?:?]
        at com.grinderwolf.swm.plugin.SWMPlugin.createEmptyWorld(SWMPlugin.java:261) ~[?:?]
        at com.grinderwolf.swm.plugin.commands.sub.CreateWorldCmd.lambda$onCommand$1(CreateWorldCmd.java:80) ~[?:?]
        at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.14.4.jar:git-Paper-167]
        at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.14.4.jar:git-Paper-167]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.14.4.jar:git-Paper-167]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_202]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_202]                                            at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202]

Error when trying to unload a world which is not read-only

Describe the issue
when I try to do /swm unload it doesn't unload if it's not set to read-only, only throws errors:
[11:02:21] [Server thread/ERROR]: [global] TIMING_STACK_CORRUPTION - Report this to the plugin Minecraft(Look for errors above this in the logs) (TimingIdentifier{id=Minecraft:1v1_5 - World Save - Chunks} did not stopTiming) java.lang.Throwable: null at co.aikar.timings.TimingHandler.stopTiming(TimingHandler.java:114) ~[patched_1.12.2.jar:git-Paper-1618] at co.aikar.timings.TimingHandler.stopTimingIfSync(TimingHandler.java:92) ~[patched_1.12.2.jar:git-Paper-1618] at co.aikar.timings.TimingHandler.close(TimingHandler.java:179) ~[patched_1.12.2.jar:git-Paper-1618] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:153) ~[patched_1.12.2.jar:git-Paper-1618] at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:685) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1492) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1297) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1618] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_211] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_211] at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_211]
[11:02:21] [Server thread/ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'swm' in plugin SlimeWorldManager v2.0.2 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[patched_1.12.2.jar:git-Paper-1618] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:152) ~[patched_1.12.2.jar:git-Paper-1618] at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:685) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1492) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1297) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1618] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_211] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_211] at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_211] Caused by: java.lang.ClassCastException
Spigot version
1.12.2 paper
Plugin version
2.0.2 (and the issue was in 2.0.0 too I think)
How to reproduce
told above
Crash reports (if available)

Worlds not loading properly

Describe the issue
Some plugins are crashing when using SWM worlds. Andre_601 also reported on Spigot that sometimes you even end up with two worlds at the same time (one empty and the actual world)

Spigot version
Unknown (all?).

Plugin version
SWM 2.1.0.

How to reproduce
Have a plugin load a SlimeWorld and then try to do staff on it.

Crash reports (if available)

Can you use SWM and ARF at the same time?

I'm running a server that contains minigame worlds in addition to one large survival world. We aren't yet running BungeeCord--it's just the one server. Is it possible (by converting and configuring only the minigame worlds) to run SlimeWorldManager to handle some of a server's worlds, but not all?

World is loaded but its not

Describe the issue
It says that the world is already migrated in mysql but when I try to load it it says that it could not be found. Looks like this in the chat: https://dl.pluoi.com/5d51cdde8a6b4.png

Spigot version
1.8.9

Plugin version
1.0.2

How to reproduce
sorry, I dont know how I could reproduce it. It just happend.

Crash reports (if available)

Error

Describe the issue

worlds:
    Lobby:
        source: file
        spawn: -105.33, 72, -23.44
        difficulty: peaceful
        allowMonsters: false
        allowAnimals: false
        pvp: false
        environment: NORMAL
        loadOnStartup: true
        readOnly: true
ERROR 03:30:43
Error occurred while enabling SlimeWorldManager v2.0.3 (Is it up to date?)
Console 03:30:43
net.minecraft.server.v1_14_R1.ResourceKeyInvalidException: Non [a-z0-9/._-] character in path of location: minecraft:Lobby
at net.minecraft.server.v1_14_R1.MinecraftKey.<init>(SourceFile:38) ~[patched_1.14.4.jar:git-Paper-186]
at net.minecraft.server.v1_14_R1.MinecraftKey.<init>(SourceFile:43) ~[patched_1.14.4.jar:git-Paper-186]
at net.minecraft.server.v1_14_R1.IRegistry.a(SourceFile:188) ~[patched_1.14.4.jar:git-Paper-186]
at net.minecraft.server.v1_14_R1.DimensionManager.register(DimensionManager.java:23) ~[patched_1.14.4.jar:git-Paper-186]
at com.grinderwolf.swm.nms.v1_14_R1.v1_14_R1SlimeNMS.generateWorld(v1_14_R1SlimeNMS.java:86) ~[?:?]
at com.grinderwolf.swm.plugin.SWMPlugin.generateWorld(SWMPlugin.java:301) ~[?:?]
at com.grinderwolf.swm.plugin.SWMPlugin.onEnable(SWMPlugin.java:139) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.14.4.jar:git-Paper-186]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:338) ~[patched_1.14.4.jar:git-Paper-186]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:420) ~[patched_1.14.4.jar:git-Paper-186]
at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugin(CraftServer.java:467) ~[patched_1.14.4.jar:git-Paper-186]
at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugins(CraftServer.java:381) ~[patched_1.14.4.jar:git-Paper-186]
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:474) ~[patched_1.14.4.jar:git-Paper-186]
at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:290) ~[patched_1.14.4.jar:git-Paper-186]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:870) ~[patched_1.14.4.jar:git-Paper-186]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

Spigot version
paper 1.14.4 build 165

Plugin version
2.0.3

Can't convert world

Describe the issue
Can't convert into SRF world from traditional world. I'm honestly pretty new with plugins and java so trying to understand this problem is a little difficult for me. Not sure if I am putting in the right path format.
Spigot version
1.14.4-R0.1-SNAPSHOT - Latest (Auto-Build Updates)
Plugin version
1.0.1
How to reproduce
Run Server and Stop. Then type Y.
Crash reports (if available)
NOTE: This utility will automatically ignore every chunk that doesn't contain any blocks. Do you want to continue? [Y/N]: y Loading world... Loading chunks from region file 'r.-1.-1.mca': Exception in thread "main" java.util.NoSuchElementException: No value present at java.util.Optional.get(Unknown Source) at com.grinderwolf.swm.importer.SWMImporter.readChunk(SWMImporter.java:258) at com.grinderwolf.swm.importer.SWMImporter.lambda$loadChunks$1(SWMImporter.java:179) at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) at java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.util.stream.ReferencePipeline.collect(Unknown Source) at com.grinderwolf.swm.importer.SWMImporter.loadChunks(SWMImporter.java:184) at com.grinderwolf.swm.importer.SWMImporter.main(SWMImporter.java:94)

Request for the Developer API

Hey!
I would have some kind of request to extend the developer API.

Personally I would love to see the following method:

public boolean loadMap(String name, String asName) {
//Loads a .slime map from the database with the given name
//returns true if successful loaded the world and false if not
}

    public boolean loadMap(String name) {
        //Loads a .slime map with the name of the map
        //returns true if successful loaded the world and false if not
    }

public boolean loadMap(File file, String asName, SlimeProperties props) {
//Loads a .slime map from the file system with the given name
//Here it should not be necessary that the world is entered in the config. It should go directly without Config since the settings are given directly.
//returns true if successful loaded the world and false if not
}

public boolean loadMap(File file, SlimeProperties props) {
    //Loads a .slime map from the file system with the name of the map
    //**Here it should not be necessary that the world is entered in the config. It should go directly without Config since the settings are given directly.**
    //returns true if successful loaded the world and false if not
}

public boolean convertMap(File worldFolder, File slimeFile) {
    //Converts a normal map from the file system to a .slime file
    //returns true if successful loaded the world and false if not
}

public boolean importIntoDatabase(File slimeFile, SlimeProperties props) {
    //Imports the slimeFile into the database with the properties given
    //returns true if successful loaded the world and false if not
}

All in all I would like it if some methods didn't depend upon the config, because this would make it easier for me as a developer to use the plugin in mine and to set the plugin up.
Maybe something can be done there, I certainly would be very happy! But whatever I think it's really cool that someone wrote a plugin that integrates the slime format.
So keep up that awesome work!

Worlds seem to merge somehow?

Describe the issue
when I teleport to a slime world, it teleports me to another slime world than the one I typed, this doesn't usually happen, only noticed it happening twice yet, unloading the world and loading it back to which you are being teleported by mistake solves the issue and you can teleport to the world you want again, it's like 2 worlds get linked sometimes
Spigot version
1.12.2 paper
Plugin version
2.0.0
How to reproduce
I guess this is pretty hard to re-produce, I don't know exact steps for it.
Crash reports (if available) none I think

Block ticks not working

Describe the issue
Blocks are not ticking correctly. When I e.g. till dirt next to water with a hoe, the dirt will not hydrate and the placed seats do not grow.
Another example is that from a sapling no tree is growing from a sapling.
Other blocks like Hopper are working normally.
Spigot version
At the time of this report the newest version (git-Spigot-ea7e48b-660b6d1 (MC: 1.14.4))
Plugin version
1.0.2 (06.08.)
How to reproduce
In description
Crash reports (if available)
No crash

Thank you!

Worlds taking too long to load

Describe the issue
Worlds take up to 10 seconds to load.

Spigot version
Spigot 1.14.

Plugin version
Any.

How to reproduce
Load a world.

Crash reports (if available)
Nope.

Can't go to a world

Describe the issue whenever I do /swm goto 1v1t, it throws error

Spigot version Paper version git-Paper-1618 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)

Plugin version 1.1.1

How to reproduce import a world and use /swm goto

Crash reports (if available)
[09:05:53 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'swm' in plugin SlimeWorldManager v1.1.1
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[patched_1.12.2.jar:git-Paper-1618]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:152) ~[patched_1.12.2.jar:git-Paper-1618]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:685) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1492) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1297) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1618]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_211]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_211]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_211]
Caused by: java.lang.NoSuchFieldError: timings
at com.grinderwolf.swm.nms.v1_12_R1.CustomChunkProvider.originalGetChunkAt(CustomChunkProvider.java:24) ~[?:?]
at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:180) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:153) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:149) ~[patched_1.12.2.jar:git-Paper-1618]
at org.bukkit.craftbukkit.v1_12_R1.CraftWorld.getChunkAt(CraftWorld.java:181) ~[patched_1.12.2.jar:git-Paper-1618]
at org.bukkit.craftbukkit.v1_12_R1.CraftWorld.getBlockAt(CraftWorld.java:118) ~[patched_1.12.2.jar:git-Paper-1618]
at org.bukkit.craftbukkit.v1_12_R1.CraftWorld.getBlockAt(CraftWorld.java:618) ~[patched_1.12.2.jar:git-Paper-1618]
at org.bukkit.Location.getBlock(Location.java:100) ~[patched_1.12.2.jar:git-Paper-1618]
at com.grinderwolf.swm.plugin.commands.sub.GotoCmd.onCommand(GotoCmd.java:58) ~[?:?]
at com.grinderwolf.swm.plugin.commands.CommandManager.onCommand(CommandManager.java:90) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[patched_1.12.2.jar:git-Paper-1618]
... 15 more

slime world thinks Lava is white water.

Describe the issue
image
Server or plugin thinks lava is water but water without a color
Spigot version
1.14.4 paper
Plugin version
2.0.2
How to reproduce
1 make world with slime world "lets name it main"
2 then shutdown the server and change level name in server.propitese to slime world name "main"
3 load the server
4 then place lava
Crash reports (if available)
nothing

NPE on save

Describe the issue
NullPointerException on world save.
Other than the error in the console no issues occur. World is saved.
Spigot version
1.14.4
Plugin version
2.0.4
How to reproduce
Save a world. (Using MongoDB as backend)
Crash reports (if available)

[16:37:36] [SWM Pool Thread #4/WARN]: Exception in thread "SWM Pool Thread #4"
[16:37:36] [SWM Pool Thread #4/WARN]: java.lang.NullPointerException
[16:37:36] [SWM Pool Thread #4/WARN]:   at com.grinderwolf.swm.plugin.loaders.MongoLoader.saveWorld(MongoLoader.java:145)
[16:37:36] [SWM Pool Thread #4/WARN]:   at com.grinderwolf.swm.nms.v1_14_R1.CustomWorldServer.save(CustomWorldServer.java:88)
[16:37:36] [SWM Pool Thread #4/WARN]:   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[16:37:36] [SWM Pool Thread #4/WARN]:   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[16:37:36] [SWM Pool Thread #4/WARN]:   at java.lang.Thread.run(Unknown Source)

Better world locking

Is your feature request related to a problem? Please describe.
When process crashes worlds are not automatically unlocked.

Describe the solution you'd like
Lock files with a time stamp instead. Refresh timestamp every 2 minutes.
If time stamp is older than x minutes or not existent world is considered unlocked.

Gamerules seem to be default ones instead of saved ones on startup load

Describe the issue
when a slime world loads from server startup, its gamerules are default ones instead of those which are saved to the world, doing /swm unload and /swm load solves the issue
Spigot version
1.12.2 paper
Plugin version
2.0.0
How to reproduce
make world with specific gamerules load on server startup, restart server, check its gamerules, they are default instead of saved ones
Crash reports (if available) none

Natural chunks in previously empty chunks

Describe the issue

If a world stored on mysql is loaded after the server has been running for a little while, any empty chunks will be filled with natural generation

Spigot version
git-PaperSpigot-"4c7641d" (MC: 1.8.8) (Implementing API version 1.8.8-R0.1-SNAPSHOT)

Plugin version
v2.0.4

How to reproduce
Import world from normal mc world to swm mysql, restart server, wait a while, reload world

Crash reports (if available)
This error occurs, but nothing else.
I just looked back at the logs, and I see this message being spammed, im not sure how i didn't see it before:

[08:25:19 ERROR]: Couldn't load chunk
java.lang.NullPointerException
        at com.grinderwolf.swm.nms.v1_8_R3.CustomChunkLoader.a(CustomChunkLoader.java:96) ~[?:?]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.loadChunk(ChunkProviderServer.java:240) ~[patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.originalGetChunkAt(ChunkProviderServer.java:156) ~[patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:138) ~[patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.PlayerChunkMap$PlayerChunk.<init>(PlayerChunkMap.java:373) ~[patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.PlayerChunkMap.a(PlayerChunkMap.java:93) ~[patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.PlayerChunkMap.addPlayer(PlayerChunkMap.java:142) ~[patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.PlayerList.moveToWorld(PlayerList.java:623) ~[patched.jar:git-PaperSpigot-"4c7641d"]
        at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.teleport(CraftPlayer.java:568) ~[patched.jar:git-PaperSpigot-"4c7641d"]
        at com.andrei1058.bedwars.arena.Arena.addPlayer(Arena.java:427) ~[?:?]
        at com.andrei1058.bedwars.listeners.arenaselector.ArenaSelectorListener.lambda$onArenaSelectorClick$0(ArenaSelectorListener.java:45) ~[?:?]
        at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59) [patched.jar:git-PaperSpigot-"4c7641d"]
        at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:352) [patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:783) [patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [patched.jar:git-PaperSpigot-"4c7641d"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [patched.jar:git-PaperSpigot-"4c7641d"]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]

The world original world:
ashore_n.zip

Error on startup

Describe the issue
There is an error in the console on startup. Doesn't crash or prevent server start, but still is an error :P
Spigot version
1.14.4
git-Spigot-9de398a-9c887d4 (MC: 1.14.4) (Implementing API version 1.14.4-R0.1-SNAPSHOT)

Plugin version
2.0.0

How to reproduce
Start up on 1.14.4 server

Server log

Failed to override methods from class net.minecraft.server.v1_14_R1.MinecraftServer.
javassist.CannotCompileException: [source error] acceptConnections() not found in net.minecraft.server.v1_14_R1.ServerConnection
        at javassist.CtBehavior.insertBefore(CtBehavior.java:806)
        at javassist.CtBehavior.insertBefore(CtBehavior.java:766)
        at com.grinderwolf.swm.clsm.NMSTransformer.transform(NMSTransformer.java:164)
        at sun.instrument.TransformerManager.transform(Unknown Source)
        at sun.instrument.InstrumentationImpl.transform(Unknown Source)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at org.bukkit.craftbukkit.Main.main(Main.java:202)
Caused by: compile error: acceptConnections() not found in net.minecraft.server.v1_14_R1.ServerConnection
        at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:777)
        at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:723)
        at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:170)
        at javassist.compiler.ast.CallExpr.accept(CallExpr.java:49)
        at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:266)
        at javassist.compiler.CodeGen.atStmnt(CodeGen.java:360)
        at javassist.compiler.ast.Stmnt.accept(Stmnt.java:53)
        at javassist.compiler.CodeGen.atStmnt(CodeGen.java:381)
        at javassist.compiler.ast.Stmnt.accept(Stmnt.java:53)
        at javassist.compiler.CodeGen.atIfStmnt(CodeGen.java:428)
        at javassist.compiler.CodeGen.atStmnt(CodeGen.java:385)
        at javassist.compiler.ast.Stmnt.accept(Stmnt.java:53)
        at javassist.compiler.CodeGen.atStmnt(CodeGen.java:381)
        at javassist.compiler.ast.Stmnt.accept(Stmnt.java:53)
        at javassist.compiler.Javac.compileStmnt(Javac.java:578)
        at javassist.CtBehavior.insertBefore(CtBehavior.java:786)
        ... 17 more

Overriding default worlds doesnt work

Describe the issue
Default world cant be loaded from SWM.
Server startup command: java -javaagent:slimeworldmanager-classmodifier-1.1.2.jar -jar spigot.jar

Spigot version
1.14.4

Plugin version
Commit 50a1474

How to reproduce

  1. Use paper spigot
  2. Disable nether and end
  3. start server, this will create "world"
  4. put "spawn" folder into server folder (spawn is a new map)
  5. swm import spawn file world
  6. configure world:
worlds:
    world:
        difficulty: easy
        loadOnStartup: true
        spawn: 0 100 0
        allowMonsters: true
        readOnly: false
        source: file
        pvp: false
        allowAnimals: true
  1. stop server
  2. remove "spawn" and "world" folders
  3. start server

Server will start but it will generate new world folder. when I do swm list, it says world is not in SRF

World failed to load, stops loading of all other worlds also

Describe the issue
one world failed to be loaded on startup by SWM, which also caused all other worlds to stop loading after it
Spigot version
1.12.2 paper
Plugin version
2.0.3 (only started happening since this version)
How to reproduce

Crash reports (if available)
[09:13:43] [Server thread/INFO]: [SWM] Loading world 1v1.
[09:13:43] [Server thread/INFO]: [SWM] World 1v1 loaded in 35ms.
[09:13:43] [Server thread/INFO]: [SWM] Loading world 1v1_2.
[09:13:43] [Server thread/INFO]: [SWM] World 1v1_2 loaded in 6ms.
[09:13:43] [Server thread/INFO]: [SWM] Loading world 1v1_3.
[09:13:43] [Server thread/INFO]: [SWM] World 1v1_3 loaded in 2ms.
[09:13:43] [Server thread/INFO]: [SWM] Loading world 1v1_4.
[09:13:43] [Server thread/INFO]: [SWM] World 1v1_4 loaded in 5ms.
[09:13:43] [Server thread/INFO]: [SWM] Loading world 1v1_5.
[09:13:43] [Server thread/INFO]: [SWM] World 1v1_5 loaded in 5ms.
[09:13:43] [Server thread/INFO]: [SWM] Loading world SkiesOfAyulinGSG.
[09:13:43] [Server thread/ERROR]: [org.bukkit.craftbukkit.v1_12_R1.CraftServer] Failed to find 1.11 upgrade for tile entity minecraft:bed initializing SlimeWorldManager v2.0.3 (Is it up to date?)
java.lang.IllegalStateException: Failed to find 1.11 upgrade for tile entity minecraft:bed
at com.grinderwolf.swm.plugin.upgrade.v1_11.v1_11WorldUpgrade.upgrade(v1_11WorldUpgrade.java:61) ~[?:?]
at com.grinderwolf.swm.plugin.upgrade.WorldUpgrader.upgradeWorld(WorldUpgrader.java:36) ~[?:?]
at com.grinderwolf.swm.plugin.SWMPlugin.loadWorld(SWMPlugin.java:242) ~[?:?]
at com.grinderwolf.swm.plugin.SWMPlugin.loadWorlds(SWMPlugin.java:191) ~[?:?]
at com.grinderwolf.swm.plugin.SWMPlugin.onLoad(SWMPlugin.java:93) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:323) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:222) ~[patched_1.12.2.jar:git-Paper-1618]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616) ~[patched_1.12.2.jar:git-Paper-1618]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_211]

I have way more slime worlds than that, but no more worlds loaded after SkiesOfAyulinGSG's error

Block data NibbleArray has the wrong size on empty worlds

Describe the issue
Server crashes when trying to load a chunk from an empty world, as block data array is 4096 bytes long instead of 2048.

Spigot version
Spigot 1.12.2.

Plugin version
1.1.2.

How to reproduce
Use the /swm create command and then load the world.

Crash reports (if available)

[23:10:28] [Server thread/ERROR]: Couldn't load chunk
java.lang.IllegalArgumentException: ChunkNibbleArrays should be 2048 bytes not: 4096
    at net.minecraft.server.v1_12_R1.NibbleArray.<init>(NibbleArray.java:14) ~[patched_1.12.2.jar:git-Paper-1615]
    at com.grinderwolf.swm.nms.v1_12_R1.Converter.convertArray(Converter.java:48) ~[?:?]
    at com.grinderwolf.swm.nms.v1_12_R1.CustomChunkLoader.a(CustomChunkLoader.java:76) ~[?:?]
    at net.minecraft.server.v1_12_R1.ChunkProviderServer.loadChunk(ChunkProviderServer.java:223) ~[patched_1.12.2.jar:git-Paper-1615]
    at net.minecraft.server.v1_12_R1.ChunkProviderServer.originalGetOrLoadChunkAt(ChunkProviderServer.java:131) ~[patched_1.12.2.jar:git-Paper-1615]
    at net.minecraft.server.v1_12_R1.ChunkProviderServer.originalGetChunkAt(ChunkProviderServer.java:192) ~[patched_1.12.2.jar:git-Paper-1615]
    at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:180) ~[patched_1.12.2.jar:git-Paper-1615]
    at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:153) ~[patched_1.12.2.jar:git-Paper-1615]
    at net.minecraft.server.v1_12_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:149) ~[patched_1.12.2.jar:git-Paper-1615]
    at org.bukkit.craftbukkit.v1_12_R1.CraftWorld.getChunkAt(CraftWorld.java:181) ~[patched_1.12.2.jar:git-Paper-1615]
    at org.bukkit.craftbukkit.v1_12_R1.CraftWorld.getBlockAt(CraftWorld.java:118) ~[patched_1.12.2.jar:git-Paper-1615]
    at org.bukkit.craftbukkit.v1_12_R1.CraftWorld.getBlockAt(CraftWorld.java:618) ~[patched_1.12.2.jar:git-Paper-1615]
    at org.bukkit.Location.getBlock(Location.java:100) ~[patched_1.12.2.jar:git-Paper-1615]
    at com.grinderwolf.swm.plugin.commands.sub.CreateWorldCmd.lambda$null$0(CreateWorldCmd.java:88) ~[?:?]
    at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:64) ~[patched_1.12.2.jar:git-Paper-1615]
    at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:423) ~[patched_1.12.2.jar:git-Paper-1615]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:840) ~[patched_1.12.2.jar:git-Paper-1615]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1615]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1615]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1615]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

Cannot authenticate MongoDB when no authentication method is required

Describe the issue
When using mongo db the error provided further down occurs. I think this is caused by trying to use a authentication method although none is needed.
Spigot version
1.14.4
Plugin version
2.0.0
How to reproduce
Using MongoDB 4.0.9 without a password or user.
Version is outdated, but I use the latest mongo driver in other projects and dont have an error.
Crash reports (if available)
from sources.yml

mongodb:
    password: ''
    database: slimeworldmanager
    port: 27017
    auth: admin
    host: 127.0.0.1
    collection: worlds
    enabled: true
    username: slimeworldmanager

from console logs

[18:32:27] [Server thread/INFO]: [SWM] Failed to establish connection to the MongoDB server:
[18:32:27] [Server thread/WARN]: com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='slimeworldmanager', source='admin', password=<hidden>, mechanismProperties={}}
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.SaslAuthenticator.wrapException(SaslAuthenticator.java:173)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.SaslAuthenticator.access$300(SaslAuthenticator.java:40)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:70)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:47)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.SaslAuthenticator.doAsSubject(SaslAuthenticator.java:179)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.SaslAuthenticator.authenticate(SaslAuthenticator.java:47)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.InternalStreamConnectionInitializer.authenticateAll(InternalStreamConnectionInitializer.java:156)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:63)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.UsageTrackingInternalConnection.open(UsageTrackingInternalConnection.java:50)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.open(DefaultConnectionPool.java:398)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:115)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.DefaultConnectionPool.get(DefaultConnectionPool.java:101)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.DefaultServer.getConnection(DefaultServer.java:92)
[18:32:27] [Server thread/WARN]:        at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.getConnection(ClusterBinding.java:126)
[18:32:27] [Server thread/WARN]:        at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:528)
[18:32:27] [Server thread/WARN]:        at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:492)
[18:32:27] [Server thread/WARN]:        at com.mongodb.operation.CreateIndexesOperation.execute(CreateIndexesOperation.java:171)
[18:32:27] [Server thread/WARN]:        at com.mongodb.operation.CreateIndexesOperation.execute(CreateIndexesOperation.java:71)
[18:32:27] [Server thread/WARN]:        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:206)
[18:32:27] [Server thread/WARN]:        at com.mongodb.client.internal.MongoCollectionImpl.executeCreateIndexes(MongoCollectionImpl.java:886)
[18:32:27] [Server thread/WARN]:        at com.mongodb.client.internal.MongoCollectionImpl.createIndexes(MongoCollectionImpl.java:869)
[18:32:27] [Server thread/WARN]:        at com.mongodb.client.internal.MongoCollectionImpl.createIndexes(MongoCollectionImpl.java:864)
[18:32:27] [Server thread/WARN]:        at com.mongodb.client.internal.MongoCollectionImpl.createIndex(MongoCollectionImpl.java:849)
[18:32:27] [Server thread/WARN]:        at com.grinderwolf.swm.plugin.loaders.MongoLoader.<init>(MongoLoader.java:47)
[18:32:27] [Server thread/WARN]:        at com.grinderwolf.swm.plugin.loaders.LoaderUtils.registerLoaders(LoaderUtils.java:71)
[18:32:27] [Server thread/WARN]:        at com.grinderwolf.swm.plugin.SWMPlugin.onLoad(SWMPlugin.java:83)
[18:32:27] [Server thread/WARN]:        at org.bukkit.craftbukkit.v1_14_R1.CraftServer.loadPlugins(CraftServer.java:355)
[18:32:27] [Server thread/WARN]:        at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:202)
[18:32:27] [Server thread/WARN]:        at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:775)
[18:32:27] [Server thread/WARN]:        at java.lang.Thread.run(Unknown Source)
[18:32:27] [Server thread/WARN]: Caused by: com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server 127.0.0.1:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"}
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:175)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:303)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:259)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.SaslAuthenticator.sendSaslStart(SaslAuthenticator.java:130)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.SaslAuthenticator.access$100(SaslAuthenticator.java:40)
[18:32:27] [Server thread/WARN]:        at com.mongodb.internal.connection.SaslAuthenticator$1.run(SaslAuthenticator.java:54)
[18:32:27] [Server thread/WARN]:        ... 28 more

Nether/End don't respect disabled state with ClassModifier agent

After experimenting with the classmodifer agent to allow Slime to take over the primary world, I ran into a minor issue. If the server.properties level-name value matches a slime world, it will also generate a nether and end world, even if the server.properties allow-nether and the bukkit.yml allow-end are set to false. But if the level-name value does not match the slime world (where it'll use the nms world method) it will follow the values.

Without Class Modifier enabled (level-name=world):
image

With Class Modifier enabled (level-name=world):
image

With Class Modifier enabled (level-name=hub):
image

Cant create new world

Describe the issue
Trying to create a new world. I am probably doing something wrong and there is no support or discord xD
Spigot version
1.14.4
Plugin version
2.0.0
How to reproduce

// Plugin startup logic
        SlimePlugin plugin = (SlimePlugin) Bukkit.getPluginManager().getPlugin("SlimeWorldManager");
        SlimeLoader loader = Objects.requireNonNull(plugin).getLoader("mongodb");
        try {
            SlimeWorld slimeWorld = plugin.createEmptyWorld(loader, UUID.randomUUID().toString(),
                    SlimeWorld.SlimeProperties.builder()
                            .pvp(false)
                    .build());

            plugin.generateWorld(slimeWorld);

            world = Bukkit.getWorld(slimeWorld.getName());
        } catch (WorldAlreadyExistsException | IOException e) {
            e.printStackTrace();
        }

Error

[21:01:44] [Server thread/ERROR]: Error occurred while enabling AdventureRealm v1.0.0-SNAPSHOT (Is it up to date?)
java.lang.NullPointerException: null
        at com.grinderwolf.swm.plugin.SWMPlugin.createEmptyWorld(SWMPlugin.java:254) ~[?:?]
        at net.endrealm.minecraft.adventurerealm.AdventureRealm.onEnable(AdventureRealm.java:31) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot.jar:git-Spigot-065a373-96bc85f]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:352) [spigot.jar:git-Spigot-065a373-96bc85f]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:417) [spigot.jar:git-Spigot-065a373-96bc85f]
        at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugin(CraftServer.java:461) [spigot.jar:git-Spigot-065a373-96bc85f]
        at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugins(CraftServer.java:375) [spigot.jar:git-Spigot-065a373-96bc85f]
        at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:449) [spigot.jar:git-Spigot-065a373-96bc85f]
        at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:266) [spigot.jar:git-Spigot-065a373-96bc85f]
        at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:775) [spigot.jar:git-Spigot-065a373-96bc85f]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]

building

i want to build this but i can`t seem to find

[ERROR] Failed to execute goal on project slimeworldmanager-api: Could not resolve dependencies for project com.grinderwolf:slimeworldmanager-api:jar:1.0-SNAPSHOT: Could not find artifact com.flowpowered:flow-nbt:jar:1.0.2-SNAPSHOT -> [Help 1]

NullPointerException when importing world

Describe the issue
Importing world doesnt work, used command swm import eventworld file eventworld

Spigot version
1.14.4

Plugin version
latest, last commit a0fe9ae

How to reproduce
No idea, seems the world is problematic but its valid world, I can load it using other plugins

Crash reports (if available)

[17:03:21 WARN]: [SlimeWorldManager] Plugin SlimeWorldManager v1.1.5-SNAPSHOT generated an exception while executing task 3
java.lang.NullPointerException: null
        at com.grinderwolf.swm.nms.CraftSlimeWorld.serializeChunks(CraftSlimeWorld.java:230) ~[?:?]
        at com.grinderwolf.swm.nms.CraftSlimeWorld.serialize(CraftSlimeWorld.java:120) ~[?:?]
        at com.grinderwolf.swm.plugin.SWMPlugin.importWorld(SWMPlugin.java:331) ~[?:?]
        at com.grinderwolf.swm.plugin.commands.sub.ImportWorldCmd.lambda$onCommand$0(ImportWorldCmd.java:67) ~[?:?]
        at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.14.4.jar:git-Paper-163]
        at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.14.4.jar:git-Paper-163]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.14.4.jar:git-Paper-163]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_191]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_191]
>

Attempting to force Slime world as default world

Describe the issue
What I'm trying to do is attempt to make it so the Slime world is the only world in memory. I'm force unloading the main world (world) and then whenever a player attempts to join the world or an NPC (via Citizens) is spawned in this error occurs. If the player is logging into the server, it will prevent them with an internal error.

Spigot version
1.8.8 (custom fork)

Plugin version
1.0.3
Commit ID: b1ea16a

How to reproduce
Simply issuing this line of code:
Bukkit.getServer().unloadWorld("world", false);

Crash reports (if available)
This is not a crash report, but it's a stacktrace:
java.lang.NullPointerException at org.bukkit.craftbukkit.v1_8_R3.CraftServer.getDefaultGameMode(CraftServer.java:1481) at org.bukkit.craftbukkit.v1_8_R3.entity.CraftHumanEntity.<init>(CraftHumanEntity.java:40) at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.<init>(CraftPlayer.java:136) at org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity.getEntity(CraftEntity.java:61) at net.minecraft.server.v1_8_R3.Entity.getBukkitEntity(Entity.java:1651) at net.minecraft.server.v1_8_R3.EntityHuman.getBukkitEntity(EntityHuman.java:78) at net.minecraft.server.v1_8_R3.EntityPlayer.getBukkitEntity(EntityPlayer.java:1416) at net.minecraft.server.v1_8_R3.PlayerList.attemptLogin(PlayerList.java:477) at protocolsupport.protocol.transformer.handlers.AbstractLoginListener.b(AbstractLoginListener.java:128) at protocolsupport.protocol.transformer.handlers.AbstractLoginListener.c(AbstractLoginListener.java:92) at net.minecraft.server.v1_8_R3.NetworkManager.a(NetworkManager.java:265) at net.minecraft.server.v1_8_R3.ServerConnection.c(ServerConnection.java:147) at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:996) at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:380) at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:795) at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:692) at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]

IllegalStateException after loading an imported world.

Describe the issue
Unable to load a world after importing it.

Spigot version
This server is running Paper version git-Paper-175 (MC: 1.14.4)

Plugin version
2.0.0

How to reproduce
I've imported a world that was generated / build in 1.14.x. Import worked without any issues.
(Used /swm import city file swmcity). After that I tried to load it using /swm load swmcity

Crash reports (if available)

[21:01:40 WARN]: [SlimeWorldManager] Plugin SlimeWorldManager v2.0.0 generated an exception while executing task 419
java.lang.IllegalStateException: Expected block entity to be minecraft:chest, not minecraft:trapped_chest
        at com.grinderwolf.swm.plugin.upgrade.v1_14.v1_14WorldUpgrade.updateBlockEntities(v1_14WorldUpgrade.java:295) ~[?:?]
        at com.grinderwolf.swm.plugin.upgrade.v1_14.v1_14WorldUpgrade.upgrade(v1_14WorldUpgrade.java:59) ~[?:?]
        at com.grinderwolf.swm.plugin.upgrade.WorldUpgrader.upgradeWorld(WorldUpgrader.java:36) ~[?:?]
        at com.grinderwolf.swm.plugin.SWMPlugin.loadWorld(SWMPlugin.java:244) ~[?:?]
        at com.grinderwolf.swm.plugin.commands.sub.LoadWorldCmd.lambda$onCommand$1(LoadWorldCmd.java:73) ~[?:?]
        at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.14.4.jar:git-Paper-175]
        at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.14.4.jar:git-Paper-175]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.14.4.jar:git-Paper-175]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_221]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_221]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]

More complex spawn rules

Is your feature request related to a problem? Please describe.
Minecraft spawn rules (allowMonsters/allowAnimals) don't prevent every single mob from spawning (e.g. bats).

Describe the solution you'd like
More complex spawn rules, so people can have lists of allowed/unallowed mobs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.