Repository navigation
The entire island area is not updated when the plugin reloads #3049
Description
Minecraft's Version
This server is running Paper version 26.3-151-main@6e88e46 (2026-10-04T13:36:03Z) (Implementing API version 26.3.build.151-beta)
Plugin's Version
2026.3
Describe the bug
The entireArea field in the SIsland class is updated only when the island is created. Consequently, if the build-outside-islands option was initially disabled but is later enabled, followed by a plugin reload, an error occurs. The plugin attempts to load chunks that should theoretically belong to entireArea, yet that field hasn't been updated. I’m not sure of the best way to resolve this. While protectedArea gets updated after reload via the sync upgrade system, I’m not certain if adding entireArea there is appropriate, given that it relates specifically to a configuration option. One could potentially use the PluginEventDispatcher, but that would require iterating through every island within SIsland, so I’m unsure if that’s the right approach either, I’ll leave it up to you.
[14:04:17 INFO]: Island | Starting to reload configurations...
[14:04:17 INFO]: [SuperiorSkyblock2] Using MiniMessage as a ui provider.
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission miner_5
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission miner_1
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission miner_4
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission miner_2
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission miner_3
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission slayer_4
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission slayer_3
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission slayer_1
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission slayer_2
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission farmer_3
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission farmer_4
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission farmer_1
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission farmer_2
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission farmer_5
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission fisherman_3
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission fisherman_2
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission fisherman_1
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission explorer_2
[14:04:18 INFO]: [SuperiorSkyblock2] Registered mission explorer_1
[14:04:19 INFO]: [SuperiorSkyblock2] Loading messages started...
[14:04:19 INFO]: [SuperiorSkyblock2] - Found 760 messages in the language files.
[14:04:19 INFO]: [SuperiorSkyblock2] Loading messages done (Took 534ms)
[14:04:19 ERROR]: Command exception: /is admin reload
java.lang.IllegalArgumentException: Chunk must be within the island boundaries.
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:141) ~[guava-33.6.0-jre.jar:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.SIsland.isChunkDirty(SIsland.java:2871) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.SIsland.isChunkDirty(SIsland.java:2866) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.IslandUtils.getChunkCoords(IslandUtils.java:93) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.SIsland.lambda$null$211(SIsland.java:5346) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.core.Either$Left.ifLeft(Either.java:99) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.SIsland.lambda$notifyCropGrowthChange$212(SIsland.java:5344) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.core.IslandWorlds.accessIslandWorldAsync(IslandWorlds.java:64) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.core.IslandWorlds.accessIslandWorldsAsync(IslandWorlds.java:23) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.SIsland.notifyCropGrowthChange(SIsland.java:5343) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.SIsland.lambda$clearUpgrades$193(SIsland.java:5071) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.core.threads.Synchronized.set(Synchronized.java:51) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.SIsland.clearUpgrades(SIsland.java:5069) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.SIsland.updateUpgrades(SIsland.java:3084) ~[?:?]
at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
at java.base/java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1118) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.island.GridManagerImpl.syncUpgrades(GridManagerImpl.java:154) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.SuperiorSkyblockPlugin.reloadPlugin(SuperiorSkyblockPlugin.java:489) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.commands.admin.CmdAdminReload.execute(CmdAdminReload.java:56) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.commands.ISuperiorCommand.execute(ISuperiorCommand.java:18) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.commands.player.CmdAdmin.execute(CmdAdmin.java:116) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.commands.ISuperiorCommand.execute(ISuperiorCommand.java:18) ~[?:?]
at SuperiorSkyblock2-2026.3.jar//com.bgsoftware.superiorskyblock.commands.CommandsManagerImpl$PluginCommand.execute(CommandsManagerImpl.java:434) ~[?:?]
at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:83) ~[paper-26.3.jar:26.3-151-6e88e46]
at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.3.11.jar:?]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:30) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:13) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:5) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:104) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:474) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.commands.Commands.performCommand(Commands.java:382) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.commands.Commands.performCommand(Commands.java:370) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.commands.Commands.performPrefixedCommand(Commands.java:361) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.server.dedicated.DedicatedServer.handleConsoleInputs(DedicatedServer.java:574) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.server.dedicated.DedicatedServer.tickConnection(DedicatedServer.java:530) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1819) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1602) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.server.dedicated.DedicatedServer.tickServer(DedicatedServer.java:404) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.server.MinecraftServer.processPacketsAndTick(MinecraftServer.java:1660) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1330) ~[paper-26.3.jar:26.3-151-6e88e46]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:298) ~[paper-26.3.jar:26.3-151-6e88e46]
at java.base/java.lang.Thread.run(Thread.java:1474) ~[?:?]
[14:04:19 INFO]: System chat: An unexpected error occurred while trying to execute that command
[14:04:19 INFO]: [SuperiorSkyblock2] Detected PaperSpigot - Using async chunk-loading support with PaperMC.
To Reproduce
Set build-outside-islands to false, start the server, change it to true, and reload the plugin.
Additional Information
No response
Activity