SPIGOT-7518: Fix NullPointerException when calling Block#applyBoneMeal()

By: Parker Hawke <hawkeboyz2@hotmail.com>
This commit is contained in:
CraftBukkit/Spigot 2023-11-12 19:09:58 -05:00
parent de613752e0
commit 85c79bdde0

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/world/item/ItemBoneMeal.java
+++ b/net/minecraft/world/item/ItemBoneMeal.java
@@ -34,6 +34,12 @@
@@ -34,13 +34,19 @@
@Override
public EnumInteractionResult useOn(ItemActionContext itemactioncontext) {
@ -13,3 +13,20 @@
World world = itemactioncontext.getLevel();
BlockPosition blockposition = itemactioncontext.getClickedPos();
BlockPosition blockposition1 = blockposition.relative(itemactioncontext.getClickedFace());
if (growCrop(itemactioncontext.getItemInHand(), world, blockposition)) {
if (!world.isClientSide) {
- itemactioncontext.getPlayer().gameEvent(GameEvent.ITEM_INTERACT_FINISH);
+ if (itemactioncontext.getPlayer() != null) itemactioncontext.getPlayer().gameEvent(GameEvent.ITEM_INTERACT_FINISH); // CraftBukkit - SPIGOT-7518
world.levelEvent(1505, blockposition, 0);
}
@@ -51,7 +57,7 @@
if (flag && growWaterPlant(itemactioncontext.getItemInHand(), world, blockposition1, itemactioncontext.getClickedFace())) {
if (!world.isClientSide) {
- itemactioncontext.getPlayer().gameEvent(GameEvent.ITEM_INTERACT_FINISH);
+ if (itemactioncontext.getPlayer() != null) itemactioncontext.getPlayer().gameEvent(GameEvent.ITEM_INTERACT_FINISH); // CraftBukkit - SPIGOT-7518
world.levelEvent(1505, blockposition1, 0);
}