Skip to content

The entire island area is not updated when the plugin reloads #3049

Open

Description

@Lemvs

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

PendingPending reports to be investigated

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions