tastybento / ASkyBlock-Bugs-N-Features

Bug Tracker for ASkyBlock and AcidIsland - note team is 100% working on next version BentoBox
6 stars 3 forks source link

NPE after doing /is reset and /is confirm #665

Closed Poslovitch closed 6 years ago

Poslovitch commented 6 years ago

Server version: Spigot 1.10.2-R0.1 git-Spigot-de459a2-51263e9 Plugin version: 3.0.8.2

What other plugins are you using? Clear install - ASB + Vault

Description of issue. What happened?

[13:27:15] [Server thread/INFO]: [ASkyBlock] No update available.
[13:27:26] [User Authenticator #1/INFO]: UUID of player Poslovitch is 9052a7e6-70f1-4a17-9c42-c8755a16bf40
[13:27:26] [Server thread/INFO]: Poslovitch[/78.228.56.191:53413] logged in with entity id 263 at ([ASkyWorld]1.237500011920929, 120.0, 201.8762901442869)
[13:27:30] [Server thread/INFO]: Poslovitch issued server command: /is reset
[13:27:33] [Server thread/INFO]: Poslovitch issued server command: /is confirm
[13:27:33] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'is' in plugin ASkyBlock v3.0.8.2
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[skyblock.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[skyblock.jar:git-Spigot-de459a2-51263e9]
at org.bukkit.craftbukkit.v1_10_R1.CraftServer.dispatchCommand(CraftServer.java:647) ~[skyblock.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.PlayerConnection.handleCommand(PlayerConnection.java:1358) [skyblock.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:1193) [skyblock.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [skyblock.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [skyblock.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.PlayerConnectionUtils$1.run(SourceFile:13) [skyblock.jar:git-Spigot-de459a2-51263e9]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_161]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_161]
at net.minecraft.server.v1_10_R1.SystemUtils.a(SourceFile:45) [skyblock.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:732) [skyblock.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:400) [skyblock.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:668) [skyblock.jar:git-Spigot-de459a2-51263e9]
at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:567) [skyblock.jar:git-Spigot-de459a2-51263e9]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
Caused by: java.lang.NullPointerException
at com.wasteofplastic.askyblock.commands.IslandCmd.newIsland(IslandCmd.java:696) ~[?:?]
at com.wasteofplastic.askyblock.commands.IslandCmd.newIsland(IslandCmd.java:667) ~[?:?]
at com.wasteofplastic.askyblock.commands.IslandCmd.onCommand(IslandCmd.java:1515) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[skyblock.jar:git-Spigot-de459a2-51263e9]
... 15 more

Here is the schematics section of the config.yml

schematicsection:
   # All schematics should be put in the schematics folder

   # Schematic panel - if more than one schematic is available to the player
   # Show a panel to choose. If this is false, no panel is shown and the starter 
   # island is picked by permission. If a player has more than one permission
   # the island selected is undefined - the plugin will pick one.
   # Permissions are taken from the below schematics section even if the GUI is
   # not used.
  useschematicspanel: true

   # Random island, only apply when useschematicspanel is false - if set to false
   # the plugin will choose the first island it found with the user permissions
   # to generate a new island. If set to true, the plugin will generate an island
   # randomly from the list of all islands available to the player.
  chooseislandrandomly: false

  # Hack skeleton spawners to also spawn wither skeletons in 1.11. This helps with
  # older schematics that do not have explicit wither skeleton spawners. This setting
  # is ignored by older servers.
  hackskeletonspawners: false

  # This section lists all the schematics available
  # Settings are:
  # show - whether this island will show in the GUI or not. Typically used for partner
  #        schematics, but can be used to temporarily hide schematics.
  # icon - the icon to show in the GUI. It must be a known Material
  # order - the priority for showing in the GUI. Lower numbers are shown first.
  # name - a friendly short name for the schematic. Color codes okay.
  # description - a longer description. Use | to split lines. Color codes okay.
  # filename - the filename of the schematic in the schematic folder
  # useDefaultChest - fill a chest on the island with the items in this config. If false
  #                   the contents will come from the schematic.
  # partnerSchematic - the island that will be pasted in the Nether.
  # biome - the biome this island should have. All pasted blocks will have this biome.
  # These next settings may cause lag if true. Default is false. Use judiciously.
  # pasteentities - if the schematic has entities in it (mobs) this will paste them.
  # usephysics - if true, causes lava or water to flow after being pasted.
  # pasteair - Only set to true if you need to paste below sea level.
  # permission - the permission required to use this schematic. It can be anything you like
  # You can add or remove from this list. If this section is missing, only the default
  # island works.
  schematics:
    # default heading is required
    default:
      # Icon - if this is missing or wrong, it will be a MAP
      icon: DIRT
      # Order of preference in listing
      order: 1
      # Short name - color codes with & okay
      name: "The Original"
      # Longer description. Use | for new lines. Color codes okay.
      description: "Challenging|starter|island!"
      # Filename of the schematic in the schematic folder
      filename: island.schematic
      # Use default chest if true, or use schematic chest contents if false
      useDefaultChest: true
      spawnblock: SPONGE
      # Which schematic will be used in the opposite world if newnether:true
      # If there is no partner, this island will be used
      partnerSchematic: nether
      #Level handicap zeros the initial island level. 
      levelHandicap: 3

island.schematic + full config.yml as attached files ASB-665.zip

Steps to make this happen

  1. Create an island
  2. Do /is reset then /is confirm

What do you think should happen? No NPE should appear

tastybento commented 6 years ago

There's no nether section in the config.yml even though it is listed in "partnerSchematic"

Poslovitch commented 6 years ago

Gotcha, that makes sense now. Just tried with another fresh install, it's working fine now. Thanks for your help 👍

Poslovitch commented 6 years ago

Should we add some "prevention" for this?