From 452a173807261fbf8c016223277bd26cb77c62d1 Mon Sep 17 00:00:00 2001 From: md_5 Date: Wed, 15 Aug 2018 08:51:18 +1000 Subject: [PATCH] SPIGOT-4271: Fix API error when enderman are not carrying a block --- .../java/org/bukkit/craftbukkit/entity/CraftEnderman.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java index 5998530a8f..b81693d9ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java @@ -3,6 +3,7 @@ package org.bukkit.craftbukkit.entity; import net.minecraft.server.EntityEnderman; import net.minecraft.server.IBlockData; +import org.bukkit.Material; import org.bukkit.block.data.BlockData; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.block.data.CraftBlockData; @@ -18,13 +19,13 @@ public class CraftEnderman extends CraftMonster implements Enderman { public MaterialData getCarriedMaterial() { IBlockData blockData = getHandle().getCarried(); - return CraftMagicNumbers.getMaterial(blockData); + return (blockData == null) ? Material.AIR.getNewData((byte) 0) : CraftMagicNumbers.getMaterial(blockData); } @Override public BlockData getCarriedBlock() { IBlockData blockData = getHandle().getCarried(); - return CraftBlockData.fromData(blockData); + return (blockData == null) ? null : CraftBlockData.fromData(blockData); } public void setCarriedMaterial(MaterialData data) { @@ -33,7 +34,7 @@ public class CraftEnderman extends CraftMonster implements Enderman { @Override public void setCarriedBlock(BlockData blockData) { - getHandle().setCarried(((CraftBlockData) blockData).getState()); + getHandle().setCarried(blockData == null ? null : ((CraftBlockData) blockData).getState()); } @Override