infernalsuite / advancedslimepaper Goto Github PK
View Code? Open in Web Editor NEWAdvanced Slime World Manager as a Paper Fork
License: GNU General Public License v3.0
Advanced Slime World Manager as a Paper Fork
License: GNU General Public License v3.0
Describe the issue
When upgrading a world from 1.20.1 -> 1.20.4 the world ends up empty instead of containing the correct chunk data.
Logs do not indicate any issues
[05:21:50] [Server thread/INFO]: TheDeafCreeper issued server command: /swm load Hub
[05:21:50] [Craft Scheduler Thread - 11 - SlimeWorldManager/INFO]: [SWM] Loading world Hub.
[05:21:51] [Craft Scheduler Thread - 11 - SlimeWorldManager/INFO]: [SWM] Applying datafixers for Hub.
[05:21:53] [Craft Scheduler Thread - 11 - SlimeWorldManager/INFO]: [SWM] World Hub loaded in 2146ms.
[05:21:55] [Server thread/INFO]: TheDeafCreeper issued server command: /swm goto Hub
An earlier 1.20.4 build (I'm not sure which, every version I've tried so far failed, it was before the arrow fix though) did successfully convert worlds, and the updated worlds are correctly loaded on the current 1.20.4 server if already converted.
Spigot version
1.20.1 Server [SlimeWorldManager-15169
(MC: 1.20.1), Git 191c7b2
on paper_upstream]
1.20.4 Server [SlimeWorldManager-15616
(MC: 1.20.4), Git: b8f20c5
on paper_upstream]
Plugin version
1.20.1 Plugin [2.10.0]
1.20.4 Plugin [2.10.0]
How to reproduce
Create a world using SlimeWorldManager-15169
, then try to update to 1.20.4, the world should lose all it's chunk data.
Crash reports (if available)
Describe the issue
Loaded a 1.17.1 slime world with entities, and unloaded it.
Spigot version
Latest paperclip of ASP
Plugin version
Latest
How to reproduce
Crash reports (if available)
Caused by: java.lang.ClassCastException: class java.lang.Float cannot be cast to class java.lang.Byte (java.lang.Float and java.lang.Byte are in module java.base of loader 'bootstrap')
at net.minecraft.world.entity.Mob.isLeftHanded(Mob.java:1586) ~[?:?]
at net.minecraft.world.entity.Mob.addAdditionalSaveData(Mob.java:515) ~[?:?]
at net.minecraft.world.entity.Entity.saveWithoutId(Entity.java:2249) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at net.minecraft.world.entity.Entity.saveAsPassenger(Entity.java:2134) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at net.minecraft.world.entity.Entity.save(Entity.java:2150) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at com.infernalsuite.aswm.level.NMSSlimeChunk.getEntities(NMSSlimeChunk.java:172) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at com.infernalsuite.aswm.level.SlimeInMemoryWorld.unload(SlimeInMemoryWorld.java:109) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at com.infernalsuite.aswm.level.SlimeChunkLevel.unloadCallback(SlimeChunkLevel.java:25) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at net.minecraft.world.level.chunk.LevelChunk.onChunkUnload(LevelChunk.java:878) ~[?:?]
at io.papermc.paper.chunk.system.scheduling.NewChunkHolder.handleFullStatusChange(NewChunkHolder.java:1356) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.processPendingFullUpdate(ChunkHolderManager.java:1051) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.processTicketUpdates(ChunkHolderManager.java:1035) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.processTicketUpdates(ChunkHolderManager.java:920) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at io.papermc.paper.chunk.system.scheduling.ChunkHolderManager.tick(ChunkHolderManager.java:547) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-30]
at net.minecraft.server.level.DistanceManager.purgeStaleTickets(DistanceManager.java:69) ~[?:?]
at net.minecraft.server.level.ServerChunkCache.tick(ServerChunkCache.java:646) ~[?:?]
at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:701) ~[?:?]
Describe the issue
Default biome property not functioning correctly
Spigot version
1.20.2
Plugin version
2.10.0
How to reproduce
Import a world, I did a nether one so your biome is going to be crimson_forest or similar, then fly out, and after you're out of the render distance it will show it as plains which removes all the effects from being in the nether.
This was based off the property map in worlds (templates)
Upon loading I also tried the following
private final Map<Environment, String> biomes = new HashMap<>() {{
super.put(Environment.NORMAL, "minecraft:plains");
super.put(Environment.THE_END, "minecraft:the_end");
super.put(Environment.NETHER, "minecraft:crimson_forest");
}};
//method
try {
if (this.mongoLoader.isWorldLocked(key)) { //big sad
this.mongoLoader.unlockWorld(key);
}
final SlimePropertyMap slimePropertyMap = new SlimePropertyMap();
slimePropertyMap.setValue(SlimeProperties.DEFAULT_BIOME, this.biomes.get(environment));
slimePropertyMap.setValue(SlimeProperties.ENVIRONMENT, environment.name());
final SlimeWorld slimeWorld = this.slimePlugin.loadWorld(this.mongoLoader, key, false, slimePropertyMap);
} //catch clauses
Describe the issue
Cannot load a world that was :
Spigot version
Latest
Plugin version
Latest
How to reproduce
Crash reports (if available)
java.lang.NullPointerException: Cannot invoke "com.infernalsuite.aswm.api.world.SlimeChunkSection.getBlockStatesTag()" because "dataSection" is null
at com.infernalsuite.aswm.SimpleDataFixerConverter.readFromData(SimpleDataFixerConverter.java:53)
at com.infernalsuite.aswm.SlimeNMSBridgeImpl.applyDataFixers(SlimeNMSBridgeImpl.java:134)
at plugin-1.19.3-R0.1-SNAPSHOT.jar//com.grinderwolf.swm.plugin.SWMPlugin.loadWorld(SWMPlugin.java:252)
Actually, the readme.md as 404 link and use direct file in the repo for the wiki. But, github as a feature to have a wiki directly included on the repo (the url would be https://github.com/InfernalSuite/AdvancedSlimePaper/wiki).
Can you do this and update the wiki with new things? For example the doc said to use setInt
but it's a deprecated method...
Describe the issue
The command "/swm clone-world test1 test2" does not work. In chat only the message "Creating world test2 using test1 as template..." remains.
Spigot version
SlimeWorldManager git-SlimeWorldManager-"bb46405" (1.19.3)
Plugin version
2.10.0
How to reproduce
Slime file: test1.slime.zip
Crash reports (if available)
No crash reports available, but following exception:
[16:49:12 INFO]: Kenox issued server command: /swm clone-world test1 test2
[16:49:12 INFO]: [SWM] Loading world test1.
[16:49:12 INFO]: [SWM] Applying datafixers for test1.
[16:49:12 INFO]: [SWM] World test1 loaded in 216ms.
[16:49:12 WARN]: [SlimeWorldManager] Plugin SlimeWorldManager v2.10.0 generated an exception while executing task 13607
java.lang.NullPointerException: Cannot invoke "com.infernalsuite.aswm.utils.NibbleArray.clone()" because the return value of "com.infernalsuite.aswm.world.SlimeChunkSection.getBlockLight()" is null
at com.infernalsuite.aswm.skeleton.SkeletonSlimeWorld.clone(SkeletonSlimeWorld.java:109) ~[core-1.19.3-R0.1-SNAPSHOT.jar:?]
at com.grinderwolf.swm.plugin.commands.sub.CloneWorldCmd.lambda$onCommand$1(CloneWorldCmd.java:100) ~[plugin-1.19.3-R0.1-SNAPSHOT(1).jar:?]
at org.bukkit.craftbukkit.v1_19_R2.scheduler.CraftTask.run(CraftTask.java:101) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-"bb46405"]
at org.bukkit.craftbukkit.v1_19_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-"bb46405"]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[slimeworldmanager-1.19.3.jar:?]
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) ~[?:?]
Currently AdvancedSlimePaper is missing some functionalities such isWorldLocked.
Related commit f1fd283
Describe the issue
Slime worlds are not saved on server stop.
Spigot version
This server is running SlimeWorldManager version git-SlimeWorldManager-20 (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: 887dcd0)
Unknown version
Previous version: git-SlimeWorldManager-"887dcd0" (MC: 1.19.3)
(also on previous builds)
Plugin version
2.10.0
How to reproduce
/stop
Crash reports (if available)
/
Describe the issue
The CLI tool was broken by the release of SWF 12 since it now relies on the bukkit persistant data. The CLI tool is very handy to quickly convert worlds and I use it quite often, so it would be nice if this were to be fixed
Spigot version
not applicable
Plugin version
Up to date with dc11277
How to reproduce
Run the CLI tool
Possible fix
Shading the PersistantDataHolder and PersistantDataContainer interfaces from spigot in the CLI. These two should probably be enough for the error to disappear
Crash reports (if available)
NOTE: Line numbers might not be accurate since the version this exception was created from contains my own improvements to the CLI experience. The error however is exactly the same on the vanilla CLI as this error stems from changes in the SlimeWorld interface and not the CLI. I just don't have a compiled version at hand atm.
Exception in thread "main" java.lang.NoClassDefFoundError: org/bukkit/persistence/PersistentDataHolder
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:862)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at com.infernalsuite.aswm.importer.SWMImporter.importWorld(SWMImporter.java:99)
at com.infernalsuite.aswm.importer.SWMImporter.main(SWMImporter.java:93)
Caused by: java.lang.ClassNotFoundException: org.bukkit.persistence.PersistentDataHolder
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 11 more
Describe the issue
When entering a slime world that contains Tile Entities this can be read in the console.
It's trying to place tile entity data in the incorrect x axis. It is 16 blocks off.
Spigot version
1.20.1
Plugin version
2.1.0
How to reproduce
Import a world that contains tile entities and teleport to it once its a slime world.
Crash reports (if available)
[14:28:54 WARN]: com.destroystokyo.paper.exception.ServerInternalException: Attempted to place a tile entity (net.minecraft.world.level.block.entity.TileEntitySign@38a544d2) at 8,66,25 (Block{minecraft:snow_block}) where there was no entity tile!
[14:28:54 WARN]: Chunk coordinates: 0,16
[14:28:54 WARN]: World: minecraft:dd08560a-126b-4ac5-a31f-5e9e4743d437
[14:28:54 WARN]: at net.minecraft.world.level.chunk.LevelChunk.setBlockEntity(LevelChunk.java:697)
[14:28:54 WARN]: at com.infernalsuite.aswm.level.SlimeChunkConverter.lambda$deserializeSlimeChunk$3(SlimeChunkConverter.java:125)
[14:28:54 WARN]: at net.minecraft.world.level.chunk.LevelChunk.runPostLoad(LevelChunk.java:784)
[14:28:54 WARN]: at io.papermc.paper.chunk.system.scheduling.ChunkFullTask.run(ChunkFullTask.java:63)
[14:28:54 WARN]: at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue$PrioritisedTask.executeInternal(PrioritisedThreadedTaskQueue.java:351)
[14:28:54 WARN]: at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue.executeTask(PrioritisedThreadedTaskQueue.java:118)
[14:28:54 WARN]: at io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.executeMainThreadTask(ChunkTaskScheduler.java:310)
[14:28:54 WARN]: at net.minecraft.server.level.ServerChunkCache$MainThreadExecutor.pollTask(ServerChunkCache.java:872)
[14:28:54 WARN]: at net.minecraft.server.level.ServerChunkCache.pollTask(ServerChunkCache.java:433)
[14:28:54 WARN]: at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1341)
[14:28:54 WARN]: at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1323)
[14:28:54 WARN]: at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136)
[14:28:54 WARN]: at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1400)
[14:28:54 WARN]: at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1185)
[14:28:54 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317)
[14:28:54 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
Describe the issue
Read only world is saved. In my case it was tested with API.
Spigot version
Latest
Plugin version
Latest
How to reproduce
Load world
World is saved, even if read only is true.
Notice also my debug: "Save strategy" is not null, instead it's my datasource value.
Crash reports (if available)
Describe the issue
No entities are imported with /swm import.
Spigot version
This server is running SlimeWorldManager version git-SlimeWorldManager-"028b3e6" (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: 028b3e6)
Previous version: git-SlimeWorldManager-"6be7ed6" (MC: 1.19.3)
Plugin version
2.10.0
How to reproduce
Use /swm import on a world with entities
Crash reports (if available)
/
Is your feature request related to a problem? Please describe.
Game rules are not stored in Slime Worlds, and I think that's great - in many cases these will be wasted storage anyway. I always used to have slime worlds for mini-game maps only, and these were loaded by the game itself and had the default game rules applied by the game.
But then I wanted to expand the usage of slime worlds to lobbies, waiting lobbies etc. and I encountered the reason why I'm creating this issue: There is no way of configuring default game rules - like setting random tick speed to zero, which is quite important for the type of maps I have.
Describe the solution you'd like
I think that users should be able to define game rules in the worlds.yml that get applied every time the world gets loaded. This doesn't result in extra wasted data in slime worlds, and I think it should be fairly easy to implement and would be (depending on the implementation) a completely optional feature.
Describe the issue
Chunk pruning does not ignore empty chunks because ChunkPruner#areSectionsEmpty returns false in every case. This can probably be fixed by simply returning true at the end of the method instead of false. And no, the prune changes from @emmanuelvlad do not fix this.
Plugin version
Issue occurs on main branch with commit dc11277
How to reproduce
Save a world.
Crash reports (if available)
Not applicable
Describe the issue
Error during start-up
Spigot version
I'm using slimeworldmanager-paperclip-1.19.4-R0.1-SNAPSHOT-reobf.jar
Plugin version
plugin-1.19.4-R0.1-SNAPSHOT.jar
How to reproduce
Start my server
Crash reports (if available)
latest.log
Describe the issue
Cloning worlds other than an overworld doesn't seem to work, tried NETHER and THE_END, and both result in the same problem being thrown
https://paste.tridentgames.net/uhuvepuwib.md
Spigot version
1.20.1 (https://discord.com/channels/741733106930810950/741741550383398942/1133799086861062226)
Plugin version
https://discord.com/channels/741733106930810950/741741550383398942/1133799086861062226
How to reproduce
/swm clone-world tesing_nether nether_test mongodb
Crash reports (if available)
Nether file (before migrating):
worlds conf:
testing_nether:
source: mongodb
spawn: 0, 128, 0
difficulty: peaceful
allowMonsters: true
allowAnimals: true
dragonBattle: false
pvp: true
environment: nether
worldType: DEFAULT
defaultBiome: minecraft:crimson_forest
loadOnStartup: true
readOnly: false
Describe the issue
Player kick/Player quit event is not being called during disable.
Spigot version
latest
Plugin version
latest
How to reproduce
Describe the issue
Hello, I'm switching from SWM to ASP. Idk why but I have this error when I start my server.
Spigot version
1.20.4
Plugin version
2.10.0
How to reproduce
1: Upload a .slime file to slime_worlds folder
2: Add the world to worlds.yml in SWM config
3: Start the server
Crash reports (if available)
https://pastebin.com/wXLPRwpT
Describe the issue
Server was crashed during save.
Spigot version
Latest
Crash reports (if available)
[08:42:47 ERROR]: Encountered an unexpected exception java.lang.NullPointerException: Cannot invoke "net.minecraft.world.level.chunk.Chunk.getChunkHolder()" because "this.chunk" is null at com.infernalsuite.aswm.level.NMSSlimeChunk.getEntities(NMSSlimeChunk.java:168) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-36] at com.infernalsuite.aswm.level.SlimeInMemoryWorld.getForSerialization(SlimeInMemoryWorld.java:224) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-36] at com.infernalsuite.aswm.level.SlimeLevelInstance.save(SlimeLevelInstance.java:150) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-36] at com.infernalsuite.aswm.level.SlimeLevelInstance.saveIncrementally(SlimeLevelInstance.java:139) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-36] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1449) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-36] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1188) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-36] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-36] at net.minecraft.server.MinecraftServer$$Lambda$4612/0x00000000467f32c8.run(Unknown Source) ~[?:?] at java.lang.Thread.run(Unknown Source) ~[?:?]
Describe the issue
When attempting to clone a world on a Windows server, a FileSystemException
and IOException
exception is thrown due to Windows file lock limitations. While it is not ideal to use Windows for a Minecraft or any type of server, I tested the code on my local machine and it's inconvenient to upload plugins to the server every time I want to test them. Additionally, some users still use plugins on Windows servers.
Spigot version
SlimeWorldManager version git-SlimeWorldManager-61 (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: e19b8ff)
Plugin version
Latest plugin-1.19.3-R0.1-SNAPSHOT.jar (2.10.0)
How to reproduce
SWM.instance.createEmptyWorld(SWM.loader, arenaWorldName, false, slimeProperties)
Bukkit.getWorld(templateSlimeWorld!!.name)!!
Bukkit.unloadWorld(world, true)
templateSlimeWorld!!.clone(arenaWorldName)
Bukkit.unloadWorld(arena.world, false)
and SWM.loader.deleteWorld(worldName)
Crash reports (if available)
[07:40:04 INFO]: [SlimeWorldManager] [STDOUT] Deleting world.. eggwars_arena_test3_1.
[07:40:04 WARN]: java.io.IOException: Cannot delete file: slime_worlds\eggwars_arena_test3_1.slime
[07:40:04 WARN]: at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1344)
[07:40:04 WARN]: at plugin-1.19.3-R0.1-SNAPSHOT (2).jar//com.grinderwolf.swm.plugin.loaders.file.FileLoader.deleteWorld(FileLoader.java:147)
[07:40:04 WARN]: at SayanEggwars.jar//me.sayandevelopment.sayaneggwars.arena.EWArena$Companion$Template.deleteGeneratedArena(EWArena.kt:663)
[07:40:04 WARN]: at SayanEggwars.jar//me.sayandevelopment.sayaneggwars.arena.EWArena.finish(EWArena.kt:326)
[07:40:04 WARN]: at SayanEggwars.jar//me.sayandevelopment.sayaneggwars.arena.EWArena.terminate(EWArena.kt:242)
[07:40:04 WARN]: at SayanEggwars.jar//me.sayandevelopment.sayaneggwars.test.DebugCommand.onCommand(DebugCommand.kt:54)
[07:40:04 WARN]: at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45)
[07:40:04 WARN]: at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155)
[07:40:04 WARN]: at org.bukkit.craftbukkit.v1_19_R2.CraftServer.dispatchCommand(CraftServer.java:929)
[07:40:04 WARN]: at org.bukkit.craftbukkit.v1_19_R2.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64)
[07:40:04 WARN]: at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:264)
[07:40:04 WARN]: at net.minecraft.commands.CommandDispatcher.performCommand(CommandDispatcher.java:313)
[07:40:04 WARN]: at net.minecraft.commands.CommandDispatcher.a(CommandDispatcher.java:297)
[07:40:04 WARN]: at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:2288)
[07:40:04 WARN]: at net.minecraft.server.network.PlayerConnection.lambda$handleChatCommand$20(PlayerConnection.java:2248)
[07:40:04 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.b(IAsyncTaskHandler.java:59)
[07:40:04 WARN]: at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
[07:40:04 WARN]: at net.minecraft.server.TickTask.run(TickTask.java:18)
[07:40:04 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:153)
[07:40:04 WARN]: at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
[07:40:04 WARN]: at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1356)
[07:40:04 WARN]: at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197)
[07:40:04 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:126)
[07:40:04 WARN]: at net.minecraft.server.MinecraftServer.bh(MinecraftServer.java:1333)
[07:40:04 WARN]: at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1326)
[07:40:04 WARN]: at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:136)
[07:40:04 WARN]: at net.minecraft.server.MinecraftServer.i_(MinecraftServer.java:1304)
[07:40:04 WARN]: at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1192)
[07:40:04 WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316)
[07:40:04 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[07:40:04 WARN]: Caused by: java.nio.file.FileSystemException: slime_worlds\eggwars_arena_test3_1.slime: The process cannot access the file because it is being used by another process
[07:40:04 WARN]: at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:92)
[07:40:04 WARN]: at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
[07:40:04 WARN]: at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
[07:40:04 WARN]: at java.base/sun.nio.fs.WindowsFileSystemProvider.implDelete(WindowsFileSystemProvider.java:275)
[07:40:04 WARN]: at java.base/sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:110)
[07:40:04 WARN]: at java.base/java.nio.file.Files.deleteIfExists(Files.java:1191)
[07:40:04 WARN]: at org.apache.commons.io.file.PathUtils.deleteFile(PathUtils.java:487)
[07:40:04 WARN]: at org.apache.commons.io.file.PathUtils.delete(PathUtils.java:392)
[07:40:04 WARN]: at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1341)
[07:40:04 WARN]: ... 29 more
Is your feature request related to a problem? Please describe.
The chunk's persistent data container is sadly not serialized in slime worlds.
Describe the solution you'd like
In a future slime file version, a new field could be added where the persistent NBT data is stored in.
As a workaround, I currently store the persistent data container in the world's extra tag (Via a compound tag called "chunk_pdc" that stores byte array tags. The key for the array tags is the chunk's chunkKey converted to a string) on chunk/world save (and plugin unload) and load it on chunk load. It seems quite hacky, but it works. Maybe this could be added in ASP itself like I did myself instead of adding a new field?
Describe the issue
It happen when i reload/restart
Spigot version
SlimeWorldManager version git-SlimeWorldManager-38 (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: a65719c)
Previous version: git-Paper-139 (MC: 1.19.2)
Plugin version
version: 2.10.0
How to reproduce
Run mongodb
Run server and make empty world(/swm create sample mongodb)
Reload/restart
Crash reports (if available)
Nothing
when i reload/restart
[23:43:12 ERROR]: [org.bukkit.craftbukkit.v1_19_R2.CraftServer] Cannot invoke "java.lang.Long.longValue()" because the return value of "com.grinderwolf.swm.internal.bson.Document.getLong(java.lang.Object)" is null initializing SlimeWorldManager v2.10.0 (Is it up to date?)
java.lang.NullPointerException: Cannot invoke "java.lang.Long.longValue()" because the return value of "com.grinderwolf.swm.internal.bson.Document.getLong(java.lang.Object)" is null
at com.grinderwolf.swm.plugin.loaders.mongo.MongoLoader.acquireLock(MongoLoader.java:237) ~[plugin-1.19.3-R0.1-SNAPSHOT.jar:?]
at com.grinderwolf.swm.plugin.SWMPlugin.loadWorld(SWMPlugin.java:243) ~[plugin-1.19.3-R0.1-SNAPSHOT.jar:?]
at com.grinderwolf.swm.plugin.SWMPlugin.loadWorlds(SWMPlugin.java:200) ~[plugin-1.19.3-R0.1-SNAPSHOT.jar:?]
at com.grinderwolf.swm.plugin.SWMPlugin.onLoad(SWMPlugin.java:83) ~[plugin-1.19.3-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_19_R2.CraftServer.loadPlugins(CraftServer.java:442) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-38]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:273) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-38]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1116) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-38]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[slimeworldmanager-1.19.3.jar:git-SlimeWorldManager-38]
at java.lang.Thread.run(Thread.java:858) ~[?:?]
when worlds save
[00:14:47] [Server thread/INFO]: Saving chunks for level 'ServerLevel[sample-181]'/minecraft:sample-181
[00:14:47] [Server thread/INFO]: Saving world sample-181...
[00:14:47] [Server thread/INFO]: CONVERTING NMS -> SKELETON
[00:14:47] [Server thread/INFO]: CONVERTED TO SKELETON, PUSHING OFF-THREAD
[00:14:47] [SWM Pool Thread #1/INFO]: World sample-181 serialized in 3ms and saved in 12ms.
[00:14:47] [Server thread/WARN]: java.lang.IllegalStateException: zip file closed
[00:14:47] [Server thread/WARN]: at java.base/java.util.zip.ZipFile.ensureOpen(ZipFile.java:831)
[00:14:47] [Server thread/WARN]: at java.base/java.util.zip.ZipFile.getEntry(ZipFile.java:330)
[00:14:47] [Server thread/WARN]: at java.base/java.util.jar.JarFile.getEntry(JarFile.java:518)
[00:14:47] [Server thread/WARN]: at java.base/java.util.jar.JarFile.getJarEntry(JarFile.java:473)
[00:14:47] [Server thread/WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:189)
[00:14:47] [Server thread/WARN]: at java.base/java.lang.ClassLoader.loadClassHelper(ClassLoader.java:1196)
[00:14:47] [Server thread/WARN]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1111)
[00:14:47] [Server thread/WARN]: at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:129)
[00:14:47] [Server thread/WARN]: at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:124)
[00:14:47] [Server thread/WARN]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1094)
[00:14:47] [Server thread/WARN]: at plugin-1.19.3-R0.1-SNAPSHOT.jar//com.grinderwolf.swm.plugin.loaders.mongo.MongoLoader.unlockWorld(MongoLoader.java:281)
[00:14:47] [Server thread/WARN]: at com.infernalsuite.aswm.level.SlimeLevelInstance.save(SlimeLevelInstance.java:125)
[00:14:47] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.saveAllChunks(MinecraftServer.java:866)
[00:14:47] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:987)
[00:14:47] [Server thread/WARN]: at net.minecraft.server.dedicated.DedicatedServer.t(DedicatedServer.java:797)
[00:14:47] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1227)
[00:14:47] [Server thread/WARN]: at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316)
[00:14:47] [Server thread/WARN]: at java.base/java.lang.Thread.run(Thread.java:858)
[00:14:47] [Server thread/INFO]: ThreadedAnvilChunkStorage (sample-1814d429d55-edb7-4f10-9790-2a5abdea68f7): All chunks are saved
Describe the issue
Slime world is not saved to datasource after being loaded from clone.
Spigot version
Latest SlimePaper
Plugin version
Latest Plugin
How to reproduce
Clone slime world.
clonedWorld= this.defaultWorld.clone("new_world_name", slimeLoader);
Load new world.
slimePlugin.loadWorld(clonedWorld);
Crash reports (if available)
If I want to check for example lock on this newly created world, it throws UnknownWorldException
Expected behavior
World is loaded like with /swm create , functions like isLocked() and so on, don't throw UnknownWorldException.
Describe the issue
Unloading a world calls WorldUnloadEvent
before saving it, the issue is that SlimePlugin is listening to this event and releasing the lock inside, right before the save is invoked
Spigot version
1.19.4
Plugin version
Build #15048
How to reproduce
/swm unload <world>
Solution
The solution would be removing the onWorldUnload
listener. Releasing the lock should always come after the save, thus should be managed by the unlocker.
The /swm unload <world>
unlocker is releasing the lock after the save is done (line 90), but since the WorldUnloadEvent
is releasing the lock right before the save, it causes the problem:
Line 88 should also be removed since Bukkit.unloadWorld(world, true)
saves the world
EDIT:
After some testing, the world save seems to done async thus making the first proposed solution fallacious.
I'd suggest to add the ability to release the lock on the saveWorld
method by adding a boolean parameter releaseLock
on it.
releaseLock
would be set to true if the return value of Bukkit.getWorld("name")
is null, this means the world is not loaded thus would be releasing the lock
Describe the issue
Strangely enough, the slime worlds consume more and more RAM (and CPU) with every unload or load. Here is a video where the whole thing is portrayed: https://www.youtube.com/watch?v=AaS2xlszLoE
In the attachments you can find the slime file before the "corruption" and after the "corruption".
Before: test2.slime.zip
After: test2_corrupt.slime.zip
Spigot version
SlimeWorldManager git-SlimeWorldManager-"bb46405" (1.19.3)
Plugin version
2.10.0
How to reproduce
Just unload and load a slime world minimum 2-5 times and you should be able to reproduce it.
Crash reports (if available)
No crash reports available, but here is the entire server log: latest.log
Describe the issue
[ChunkDataLoadTask] Expected poi chunk to be loaded with chunk for task com.infernalsuite.aswm.level.ChunkDataLoadTask@11429165
gets spammed in the console
Spigot version
slimeworldmanager-paperclip-1.20-R0.1-SNAPSHOT-reobf (aae15c)
Plugin version
v2.10.0 (aae15c)
How to reproduce
create a world using /swm create void file
go to the world with /swm goto void
Crash reports (if available)
error doesn't crash the server
Describe the issue
On the github page under SWM API the Getting started page throws a 404 error.
Crash reports (if available)
404 page not found error
Describe the issue
There's a bug where SlimePlugin#loadWorld(SlimeLoader, String, Boolean, SlimePropertyMap)
method does not throw the UnknownWorldException
based on javadocs, Instead it creates an empty slime file (not world, empty file) and throws CorruptedWorldException
, and the empty file cannot be accessed until server restart (Windows machine)
Spigot version
Paper 1.19.3
Plugin version
Build ID: 341
How to reproduce
Calling the method SlimePlugin#loadWorld(SlimeLoader, String, Boolean, SlimePropertyMap)
with the name being a non-existed world, it will cause this issue.
Describe the issue
[00:49:05 ERROR]: Error occurred while enabling ***... (Is it up to date?)
java.lang.NoClassDefFoundError: com.grinderwolf.swm.api.exceptions.UnknownWorldException
Spigot version
slimeworldmanager-paperclip-1.19.3-R0.1-SNAPSHOT-reobf.jar
Plugin version
plugin-1.19.3-R0.1-SNAPSHOT.jar
How to reproduce
Use SlimeWorldManager API in your plugin.
com.grinderwolf
slimeworldmanager-api
2.10.0-SNAPSHOT
provided
Describe the issue
When slime worlds are fetched from a source but not actually loaded as a bukkit world, they are kept in a map forever. In my case I load worlds from a template and then clone them. I only ever load the cloned version, but the template is still being keep in memory.
Spigot and Plugin version
I'm on commit e19b8ff, but the issue still exists after the 1.19.4 commit
How to reproduce
Load a world with SlimePlugin#loadWorld(SlimeLoader, String, boolean, SlimePropertyMap) and then do absolutely nothing.
(The same applies to createEmptyWorld as well)
Crash reports (if available)
None
Possibly nether biome broken too
Describe the issue
I am trying to import Anvil worlds into the Slime format. Unfortunately this does not work. There is no error message. Only the success message in chat with "0ms".
Spigot version
SlimeWorldManager git-SlimeWorldManager-"bb46405" (1.19.3)
Plugin version
2.10.0
How to reproduce
Anvil world: https://workupload.com/file/xm988zFUeEX
Crash reports (if available)
Nothing relevant available in the log.
When an empty world is created and a WorldEdit schematic is pasted into it (via API), the world is fine.
But once the world is cloned, it is empty and is missing the schematic.
Discussed in discord
https://discord.com/channels/741733106930810950/1146862190440218624/1171926146166829166
NOTE:
Title is old, issue with saving was an error on my side. But the cloning still consists of an empty map.
Describe the issue
When there is a player on a SWM world when you are trying to unload it, you see two messages, one saying failed to unload that world and the other one saying the world is unloaded correctly. (it only happened to me while only I was in the world, not tested it with other cases yet)
Spigot version
SlimeWorldManager version git-SlimeWorldManager-15795 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: 004b741 on paper_upstream)
Plugin version
2.10.0
How to reproduce
Crash reports (if available)
Describe the issue
Basically, if you set gamerules for the world, it does not save, even with /save-all.
Spigot version
1.20.1 (Build from September 14th)
Plugin version
2.10.0
How to reproduce
Just apply a gamerule (like doDaylightCycle), restart the server, and boom.
Crash reports (if available)
Describe the issue
readOnly world loaded at startup is being saved.
worlds.yml:
worlds:
WSArena:
source: mysql
spawn: 0, 74, 30
difficulty: normal
allowMonsters: true
allowAnimals: false
dragonBattle: false
pvp: true
environment: NORMAL
worldType: default
defaultBiome: minecraft:plains
loadOnStartup: true
readOnly: true
Spigot version
git-SlimeWorldManager-55 (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: 1cafc9a)
(Also happens on Git: c9973e)
Plugin version
2.10.0
How to reproduce
Load world at startup while also marked readOnly
Crash reports (if available)
Describe the issue
I have a world where it seems like something (maybe world edit) has caused hundreds of ghost tile entities to exist without a block bound to them. I know this is a very specific issue but since (to my knowledge) tile entities require a block to exist it could be considered to just prune chunks if all chunk sections + entities are empty
This could possibly be added with another Slime Property for that, since it does impact performance to an extent. I think this would help to greatly reduce world size on some maps.
This issue also depends on #103 to be fixed or else this fix is useless
Plugin version
Issue occurs on main branch with commit dc11277
How to reproduce
Try to save a world with ghost tile entities
Describe the issue
It is a rather strange behavior currently. I'll list the things for you to understand:
Video: https://streamable.com/13908z
Spigot version
This server is running SlimeWorldManager version git-SlimeWorldManager-"edd8a4d" (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: edd8a4d)
Unknown version
Previous version: git-SlimeWorldManager-"9b65823" (MC: 1.19.3)
Plugin version
2.10.0
How to reproduce
Just try to clone a world.
Crash reports (if available)
/
Describe the issue
Using slimePlugin.loadWorld(slimeLoader, "skyblock_template", true, properties); Will load world, but lock will be aplied (3rd boolean parameter readOnly is not respected in fact)
Spigot version
slimeworldmanager-paperclip-1.19.3-R0.1-SNAPSHOT-reobf.jar
Plugin version
plugin-1.19.3-R0.1-SNAPSHOT.jar
How to reproduce
Load world with readOnly parameter. In database you can see that lock is applied.
Expected behavior
World is created, but lock is set to 0 in database (lock isn't applied)
Keep getting
`pagan@DESKTOP-AFF5HBS MINGW64 ~/IdeaProjects/AdvancedSlimePaper
$ ./gradlew applyPatches --stacktrace
Task :paper:patchCraftBukkit FAILED
Task :getPaperUpstreamData FAILED
FAILURE: Build failed with an exception.
io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false apply --ignore-whitespace --directory=src/main/java C:\Users\pagan\IdeaProjects\AdvancedSlimePaper.gradle\caches\paperweight\upstreams\paper.gradle\caches\paperweight\taskCache\patchCraftBukkitPatches.zip-1059054575\net\minecraft\world\level\storage\loot\predicates\LootItemConditionRandomChanceWithLooting.patch
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':paper:patchCraftBukkit'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:140)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:327)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:314)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:307)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:293)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:417)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:339)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: org.gradle.internal.UncheckedException: io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false apply --ignore-whitespace --directory=src/main/java C:\Users\pagan\IdeaProjects\AdvancedSlimePaper.gradle\caches\paperweight\upstreams\paper.gradle\caches\paperweight\taskCache\patchCraftBukkitPatches.zip-1059054575\net\minecraft\world\level\storage\loot\predicates\LootItemConditionRandomChanceWithLooting.patch
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:68)
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:128)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:236)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:221)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:204)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:187)
at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:124)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:80)
at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:181)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:71)
at org.gradle.internal.Either$Right.fold(Either.java:175)
at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:69)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:114)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:91)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:327)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:314)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:307)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:293)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:417)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:339)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false apply --ignore-whitespace --directory=src/main/java C:\Users\pagan\IdeaProjects\AdvancedSlimePaper.gradle\caches\paperweight\upstreams\paper.gradle\caches\paperweight\taskCache\patchCraftBukkitPatches.zip-1059054575\net\minecraft\world\level\storage\loot\predicates\LootItemConditionRandomChanceWithLooting.patch
at io.papermc.paperweight.util.Command.execute(git.kt:163)
at io.papermc.paperweight.tasks.ApplyCraftBukkitPatches.run(ApplyCraftBukkitPatches.kt:134)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
... 112 more
Get more help at https://help.gradle.org
BUILD FAILED in 34s
2 actionable tasks: 2 executed
`
paperweight installed locally and using the latest SRC of it, what's wrong here?
I'm getting those when applyPatches task is running.
OS: Windows 10.
Is your feature request related to a problem? Please describe.
It would be cool if we had the ability to store persistent data in chunks. Currently libs like this one will not really work, as it is not saved: https://github.com/JEFF-Media-GbR/CustomBlockData
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
Describe the solution you'd like
just like https://github.com/GedStudio/Genshin-Craft-Lib-Slime-World-Manager
and the worlddata can store in data source,not in worlds.yml
Describe the issue
Slime world is not saved like default world (based on autosave setting).
Spigot version
build id c4e6d4
Plugin version
build id c4e6d4
How to reproduce
Expected behavior
Slime world has data from last bukkit save.
Describe the issue
According to Pihodatomas, extra data does not save.
https://discord.com/channels/741733106930810950/768538262528327691/1060217289686917140
Spigot version
/
Plugin version
/
How to reproduce
/
Crash reports (if available)
/
Describe the issue
Lock is not removed on world unload
Spigot version
build id c4e6d4
Plugin version
build id c4e6d4
How to reproduce
1.Load world.
2. Unload world.
3. Check for lock (it's not set to 0)
Expected behavior
Lock is removed on world unload.
Describe the issue
ASWM are not saving entities.
*Latest build of ASPupperfish do, but erasing some entities at chunk loading.
Spigot version
Latest 1.20.2 builds
Plugin version
Latest builds
How to reproduce
Put an entity, unload that world, load again and all vanished.
Crash reports (if available)
When use ASPupperfish:
[01:14:26 WARN]: [EntityLookup] Root entity EntityCow['Cow'/109, uuid='f6b734ab-3a05-43bb-aec4-812052d93bfb', l='ServerLevel[island_4c5dc3a4-6885-4ef8-b4aa-ed2032051226_normal]', x=-40.33, y=104.00, z=-16.91, cpos=[-3, -2], tl=541, v=false] is outside of serialized chunk [-3, -1]
With ASPaper, no entity is saved.
Describe the issue
World is not unloaded correctly on server disabling - LOCK remains on world.
Spigot version
slimeworldmanager-paperclip-1.19.3-R0.1-SNAPSHOT-reobf.jar
Plugin version
plugin-1.19.3-R0.1-SNAPSHOT.jar
How to reproduce
Expected behavior
World is unloaded, lock is removed. //set to 0
Describe the issue
The worlds are not saved unless you unload them. If one leaves the world and enters it again, all changes are gone. The command "/save-all" has no effect. Video: https://streamable.com/g3m51c
Spigot version
This server is running SlimeWorldManager version git-SlimeWorldManager-"edd8a4d" (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: edd8a4d)
Unknown version
Previous version: git-SlimeWorldManager-"9b65823" (MC: 1.19.3)
Plugin version
2.10.0
How to reproduce
Crash reports (if available)
/
Describe the issue
After unload/load it seems like that Redstone gets frozen. This video should explain what I mean: https://streamable.com/yuup85
Spigot version
This server is running SlimeWorldManager version git-SlimeWorldManager-"028b3e6" (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: 028b3e6)
Previous version: git-SlimeWorldManager-"6be7ed6" (MC: 1.19.3)
Plugin version
2.10.0
How to reproduce
Create any (looped) redstone machine and unload/load your world
Crash reports (if available)
/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.