mastercake10 / CustomOreGen

A simple yet powerful, fully customizable cobblestone generator for Bukkit
GNU General Public License v3.0
10 stars 11 forks source link

"xyz.spaceio.customoregen.CustomOreGen.getOwner(org.bukkit.Location)" is null when the leader of the island is disconnected. #52

Open Ted-18 opened 1 year ago

Ted-18 commented 1 year ago

What steps will reproduce the issue?

  1. Use USkyBlock
  2. User 1 create an island
  3. User 1 invites on his island user 2.
  4. User 1 logs out.
  5. User 2 can no longer use the generator.

What was supposed to happen?

The generator should generate a block.

What happened instead?

The generator does not generate anything.

What version of this plugin are you using?

v1.3.33

What Spigot version are you using? Paste the output of /version below.

Paper version git-Paper-386 (MC: 1.19.3) (Implementing API version 1.19.3-R0.1-SNAPSHOT) (Git: 4da844f)

What plugins do you have installed? Paste the output of /plugins below.

[21:57:06 INFO]: Plugins (38): AncientGates, AntiPopup, AuthMe, BungeeGuard, BungeeTabListPlus, Citizens, CoreProtect, CustomOreGen, DiscordSRV, Essentials, EssentialsAntiBuild, EssentialsChat, EssentialsProtect, EssentialsSpawn, GroupManager, LockettePro, LumberJack, mcMMO, mcMMOChatLevel*, MineResetLite, Multiverse-Core, Multiverse-Inventories, Multiverse-NetherPortals, NametagEdit, ProtocolLib, QuickSave, QuickShop, SkBee, SkinsRestorer, Skript, uSkyBlock, Vault, ViaBackwards, ViaRewind, ViaVersion, VoxelSniper, WorldEdit, WorldGuard

Are any errors related to this plugin in your console or logs? If so, paste below.

[21:16:22 INFO]: Teddou issued server command: /customoregen inspect Teddou
[21:16:22 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'customoregen' in plugin CustomOreGen v1.3.33-SNAPSHOT-SNAPSHOT
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_19_R2.CraftServer.dispatchCommand(CraftServer.java:929) ~[paper-1.19.3.jar:git-Paper-386]
        at org.bukkit.craftbukkit.v1_19_R2.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[paper-1.19.3.jar:git-Paper-386]
        at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:264) ~[paper-1.19.3.jar:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:313) ~[?:?]
        at net.minecraft.commands.Commands.performCommand(Commands.java:297) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2288) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$20(ServerGamePacketListenerImpl.java:2248) ~[?:?]
        at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.19.3.jar:git-Paper-386]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1341) ~[paper-1.19.3.jar:git-Paper-386]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.19.3.jar:git-Paper-386]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1318) ~[paper-1.19.3.jar:git-Paper-386]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1311) ~[paper-1.19.3.jar:git-Paper-386]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1289) ~[paper-1.19.3.jar:git-Paper-386]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1177) ~[paper-1.19.3.jar:git-Paper-386]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:316) ~[paper-1.19.3.jar:git-Paper-386]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "org.bukkit.OfflinePlayer.getName()" because the return value of "xyz.spaceio.customoregen.CustomOreGen.getOwner(org.bukkit.Location)" is null
        at xyz.spaceio.customoregen.Cmd.onCommand(Cmd.java:46) ~[CustomOreGen-1.3.33-SNAPSHOT.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.19.3-R0.1-SNAPSHOT.jar:?]
        ... 23 more

Any additional information that you would like to provide that may be relevant to the issue?

-

Ted-18 commented 1 year ago
    @Override
    public Optional<UUID> getIslandOwner(Location loc) {
        Optional<UUID> optional = Optional.empty();

        List<Player> connectedMembers = api.getIslandInfo(loc).getOnlineMembers();
        Player player = connectedMembers.get(0);

        optional =  Optional.of(player.getUniqueId());

        return optional;
    }