Paul19988 / Advanced-Slime-World-Manager

A Spigot plugin that implements the Slime Region Format.
GNU General Public License v3.0
184 stars 71 forks source link

Crashes when overriding default world #98

Closed seb303 closed 2 years ago

seb303 commented 2 years ago

Works with /swm load & goto commands, but crashes on start-up when a SWM world name is specified in server.properties.

Strangely, the server also creates folders for the SWM world (e.g. "lobby", "lobby_the_end" - nether is disabled in server.properties)

server.properties level-name=lobby

worlds.yml

worlds:
    lobby:
        source: file
        spawn: 0.5, 72, 0.5
        difficulty: peaceful
        allowMonsters: false
        allowAnimals: false
        dragonBattle: false
        pvp: false
        environment: NORMAL
        worldType: default
        defaultBiome: minecraft:plains
        loadOnStartup: true
        readOnly: false

Running Paper version git-Paper-408 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT)

Plugin is slimeworldmanager-plugin-2.7.0-SNAPSHOT

[14:17:29 INFO]: Preparing level "lobby" [14:17:29 INFO]: [STDOUT] [net.minecraft.server.MinecraftServer] Overriding default worlds [14:17:29 ERROR]: Encountered an unexpected exception java.lang.NoSuchFieldException: Y at java.lang.Class.getField(Class.java:2086) ~[?:?] at net.minecraft.server.MinecraftServer.loadWorld(MinecraftServer.java) ~[patched_1.17.1.jar:git-Paper-408] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:317) ~[patched_1.17.1.jar:git-Paper-408] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1220) ~[patched_1.17.1.jar:git-Paper-408] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-408] at java.lang.Thread.run(Thread.java:831) ~[?:?] [14:17:29 ERROR]: This crash report has been saved to: ..... crash-2022-01-29_14.17.29-server.txt

seb303 commented 2 years ago

SOLVED: I realised I needed to disabled The End in bukkt.yml allow-end: false

After this it works fine.

ComputerNerd100 commented 2 years ago

@Paul19988 Do we maybe need to consider pipelining this one to look into? Maybe in the future adding a way to isolate specific default worlds for SWM but leave the others on Anvil?

Also there's another STDOUT in the above stack trace - worth looking at replacing this with a proper logger call

Will re-open this one and assign it to me just for reference moving forward

Paul19988 commented 2 years ago

@Paul19988 Do we maybe need to consider pipelining this one to look into? Maybe in the future adding a way to isolate specific default worlds for SWM but leave the others on Anvil?

Also there's another STDOUT in the above stack trace - worth looking at replacing this with a proper logger call

Will re-open this one and assign it to me just for reference moving forward

I am pretty sure it's only supposed to override them if they're set to that world type

ComputerNerd100 commented 2 years ago

Hmm that's interesting then... adding the bug label as it sounds like its not doing what it should

seb303 commented 2 years ago

I tried the latest build and now it works to load the default world as slime while nether and end are enabled. Works whether or not the nether and end worlds exist as folders, although it doesn't create them if they don't exist.