[SPIGOT-7904] Shears Breaking in Dispensers Call PlayerItemBreakEvent and Crash the Server Created: 18/Sep/24  Updated: 25/Dec/24  Resolved: 18/Sep/24

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

Type: Bug Priority: Major
Reporter: ItsSchatten Assignee: Doc
Resolution: Fixed Votes: 0
Labels: crash, server

Version: 4317-Spigot-a759b62-f35bae9
Plugin: N/A
Guidelines Read: Yes

 Description   

Created after seeing: https://www.spigotmc.org/threads/error-w-shears-in-dispenser.663686/#post-4780122

Shears breaking when used in a dispenser cause a server crash because it calls the PlayerItemBreakEvent.

 

[12:57:51] [Server thread/ERROR]: Encountered an unexpected exception
net.minecraft.ReportedException: Exception ticking world
    at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:1478) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.server.dedicated.DedicatedServer.c(DedicatedServer.java:406) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1321) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.server.MinecraftServer.y(MinecraftServer.java:1071) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "net.minecraft.server.level.EntityPlayer.getBukkitEntity()" because "human" is null
    at org.bukkit.craftbukkit.v1_21_R1.event.CraftEventFactory.callPlayerItemBreakEvent(CraftEventFactory.java:1387) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.world.item.ItemStack.a(ItemStack.java:681) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.core.dispenser.DispenseBehaviorShears.a(DispenseBehaviorShears.java:69) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.core.dispenser.DispenseBehaviorItem.dispense(DispenseBehaviorItem.java:33) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.world.level.block.BlockDispenser.a(BlockDispenser.java:112) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.world.level.block.BlockDispenser.a(BlockDispenser.java:139) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.world.level.block.state.BlockBase$BlockData.a(BlockBase.java:1102) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.server.level.WorldServer.d(WorldServer.java:867) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.world.ticks.TickListServer.a(SourceFile:215) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.world.ticks.TickListServer.a(SourceFile:98) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.server.level.WorldServer.a(WorldServer.java:399) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:1472) ~[spigot-1.21.1-R0.1-SNAPSHOT.jar:4317-Spigot-a759b62-f35bae9]
    ... 5 more 

 

Replication:

1.  Execute the below command.

/give @s shears[minecraft:max_damage=1]

2. Place the received shears item into a dispenser with a sheep in front.

3. Activate the dispenser.

 



 Comments   
Comment by Doc [ 18/Sep/24 ]

PR created for fix that.

https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/pull-requests/1478/overview

 

Generated at Tue Apr 22 03:57:07 UTC 2025 using Jira 10.3.5#10030005-sha1:190c783f2bd6c69cd5accdb70f97e48812a78d14.