[SPIGOT-5482] Structure Block setUsageMode encouters NullpointerException Created: 24/Dec/19 Updated: 26/Dec/19 Resolved: 24/Dec/19 |
|
Status: | Resolved |
Project: | Spigot |
Component/s: | None |
Affects Version/s: | None |
Fix Version/s: | None |
Type: | Bug | Priority: | Minor |
Reporter: | Eiskasten | Assignee: | Unassigned |
Resolution: | Fixed | Votes: | 0 |
Labels: | Craftbukkit, Spigot, bug |
Version: | git-Spigot-05bb8bc-4b34472 (MC: 1.15.1) (Implementing API version 1.15.1-R0.1-SNAPSHOT) |
Guidelines Read: | Yes |
Description |
When trying to change the usage mode of a structure block, the server encounters the following NullpointerException: org.bukkit.event.EventException: null at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:441) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.PlayerInteractManager.a(PlayerInteractManager.java:441) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:1250) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:27) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) [spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.MinecraftServer.aZ(MinecraftServer.java:917) [spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:910) [spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:894) [spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:827) [spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at java.lang.Thread.run(Thread.java:830) [?:?] Caused by: java.lang.NullPointerException at net.minecraft.server.v1_15_R1.TileEntityStructure.setUsageMode(SourceFile:231) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at org.bukkit.craftbukkit.v1_15_R1.block.CraftStructureBlock.setUsageMode(CraftStructureBlock.java:108) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] at io.github.eiskasten.skyex.snbt.StructureKt.placeStructure(structure.kt:73) ~[?:?] at io.github.eiskasten.skyex.NetherCreator.onMiddle(nether.kt:90) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot-1.15.1.jar:git-Spigot-05bb8bc-4b34472] ... 19 more This is the (Kotlin) code, I used: location.block.type = Material.STRUCTURE_BLOCK //line 70 val structureBlock = location.block.state as org.bukkit.block.Structure //line 71 structureBlock.structureName = name //line 72 structureBlock.usageMode = UsageMode.LOAD //line 73 location.clone().add(0.toDouble(), (-1).toDouble(), 0.toDouble()).block.type = Material.REDSTONE_BLOCK //line 74 Note, that setting the structure's name works flawlessly, only setting the usage mode makes troubles. |
Comments |
Comment by Joe Becher [ 26/Dec/19 ] |
Yes, can confirm with a JavaPlugin. Thanks for the fix. |
Comment by Hex [ 24/Dec/19 ] |
Just out of curiosity can you reproduce this with a java plugin? |