[SPIGOT-6742] getNamespace when using WorldEdit Created: 21/Sep/21  Updated: 23/Sep/21  Resolved: 21/Sep/21

Status: Resolved
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Gerard van Schip Assignee: Unassigned
Resolution: Cannot Reproduce Votes: 0
Labels: WorldEdit, spigot
Environment:

I'm hosting with ServerMiner who lists the following spec:

CPU: High Clocked (4 - 5GHz) Intel and Ryzen CPUs
RAM: 4 x 16384 MB sticks
Storage: NVMe drives
NIC: 500Mb/s / 1Gb/s

I have the 6gb package.


Version: This server is running CraftBukkit version 3242-Spigot-6c1c1b2-d3cc412 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT)
Plugin: worldedit-bukkit-7.3.0-SNAPSHOT-dist
Guidelines Read: Yes

 Description   

The worldedit /setbiome command no longer works with recent versions of Spigot. I have opened a ticket with the devs of WorldEdit but they say this is a fault in Spigot.

The error in game shows:
An unexpected error while handling a WorldEdit command [21-09-2021 15:17:18] java.lang.NullPointerException: Cannot invoke "net.minecraft.resources.MinecraftKey.getNamespace()" because "minecraft" is null

I'm using worldedit-bukkit-7.3.0-SNAPSHOT-dist build #5930

The console output of the error is below.

// code 
[21-09-2021 15:17:18] KaizenWorlds issued server command: //setbiome birch_forest [21-09-2021 15:17:18] An unexpected error while handling a WorldEdit command [21-09-2021 15:17:18] java.lang.NullPointerException: Cannot invoke "net.minecraft.resources.MinecraftKey.getNamespace()" because "minecraft" is null [21-09-2021 15:17:18] at org.bukkit.craftbukkit.v1_17_R1.util.CraftNamespacedKey.fromMinecraft(CraftNamespacedKey.java:24) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at org.bukkit.craftbukkit.v1_17_R1.block.CraftBlock.biomeBaseToBiome(CraftBlock.java:506) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at org.bukkit.craftbukkit.v1_17_R1.CraftRegionAccessor.getBiome(CraftRegionAccessor.java:216) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at com.sk89q.worldedit.bukkit.BukkitWorld.getBiome(BukkitWorld.java:520) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.world.WatchdogTickingExtent.getBiome(WatchdogTickingExtent.java:114) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.world.WatchdogTickingExtent.getBiome(WatchdogTickingExtent.java:114) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.getBiome(AbstractDelegateExtent.java:104) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.ChangeSetExtent.setBiome(ChangeSetExtent.java:71) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBiome(AbstractDelegateExtent.java:109) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBiome(AbstractDelegateExtent.java:109) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBiome(AbstractDelegateExtent.java:109) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.EditSession.setBiome(EditSession.java:676) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.function.biome.BiomeReplace.apply(BiomeReplace.java:66) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.function.visitor.RegionVisitor.resume(RegionVisitor.java:60) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.function.operation.Operations.completeLegacy(Operations.java:55) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.command.BiomeCommands.setBiome(BiomeCommands.java:181) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.command.BiomeCommandsRegistration.cmd$_setbiome(BiomeCommandsRegistration.java:171) ~[?:?] [21-09-2021 15:17:18] at org.enginehub.piston.CommandManager.execute(CommandManager.java:157) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommand(PlatformCommandManager.java:503) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.util.eventbus.MethodHandleEventHandler.dispatch(MethodHandleEventHandler.java:51) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.util.eventbus.EventBus.dispatch(EventBus.java:193) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.util.eventbus.EventBus.post(EventBus.java:181) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.worldedit.bukkit.WorldEditPlugin.onCommand(WorldEditPlugin.java:383) ~[?:?] [21-09-2021 15:17:18] at com.sk89q.bukkit.util.DynamicPluginCommand.execute(DynamicPluginCommand.java:55) ~[?:?] [21-09-2021 15:17:18] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at org.bukkit.craftbukkit.v1_17_R1.CraftServer.dispatchCommand(CraftServer.java:779) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.server.network.PlayerConnection.handleCommand(PlayerConnection.java:1931) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1770) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1751) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:46) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.network.protocol.game.PacketPlayInChat.a(PacketPlayInChat.java:1) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:30) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.server.TickTask.run(SourceFile:18) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.util.thread.IAsyncTaskHandler.executeTask(SourceFile:151) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.util.thread.IAsyncTaskHandler.executeNext(SourceFile:125) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.server.MinecraftServer.bf(MinecraftServer.java:1148) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.server.MinecraftServer.executeNext(MinecraftServer.java:1141) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.util.thread.IAsyncTaskHandler.executeAll(SourceFile:110) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.server.MinecraftServer.sleepForTick(MinecraftServer.java:1124) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1054) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at net.minecraft.server.MinecraftServer.lambda$0(MinecraftServer.java:305) ~[spigot-1.17.1.jar:3242-Spigot-6c1c1b2-d3cc412] [21-09-2021 15:17:18] at java.lang.Thread.run(Thread.java:831) [?:?]  


 Comments   
Comment by Gerard van Schip [ 23/Sep/21 ]

Thanks for checking and explaining. That really helps for non-devs.

You were 100% right. It was a datapack issue. I have one on a seperate world loaded through Multiverse-core. I did not think that would affect other world files but it did. Loading the non datapack world as my main world and having the datapack world as secondary world solved it.

 

Thank you so much and apologies for wasting your time.

Comment by md_5 [ 21/Sep/21 ]

Cannot reproduce, the following biome setting code works for me.

        Player p = (Player) sender;
        Location l = p.getLocation();
        Block b = l.getBlock();
        p.sendMessage( b.getBiome() + "" );
        b.setBiome( Biome.MUSHROOM_FIELDS );
        p.sendMessage( b.getBiome() + "" );

A bug with the API needs to specifically identify the issue with the API and the circumstances which it occurs.

It is also possible you have a plugin or datapack messing with biomes, you need to identify if this is the case and rule it out if not.

If it 'no longer works' then you should also attempt to identify the last version which it did work.

Generated at Tue Apr 15 08:34:59 UTC 2025 using Jira 10.3.3#10030003-sha1:d220e3fefc8dfc6d47f522d3b9a20c1455e12b7b.