SPIGOT-7376: Exception with getBlockData when hasBlockData is false
This commit is contained in:
parent
725545630d
commit
f3b2b22103
@ -45,6 +45,7 @@ import net.minecraft.nbt.NBTTagString;
|
|||||||
import net.minecraft.network.chat.IChatBaseComponent;
|
import net.minecraft.network.chat.IChatBaseComponent;
|
||||||
import net.minecraft.world.entity.EnumItemSlot;
|
import net.minecraft.world.entity.EnumItemSlot;
|
||||||
import net.minecraft.world.item.ItemBlock;
|
import net.minecraft.world.item.ItemBlock;
|
||||||
|
import net.minecraft.world.level.block.state.IBlockData;
|
||||||
import org.apache.commons.lang.Validate;
|
import org.apache.commons.lang.Validate;
|
||||||
import org.apache.commons.lang3.EnumUtils;
|
import org.apache.commons.lang3.EnumUtils;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -911,12 +912,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasBlockData() {
|
public boolean hasBlockData() {
|
||||||
return this.blockData != null;
|
return this.blockData != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BlockData getBlockData(Material material) {
|
public BlockData getBlockData(Material material) {
|
||||||
return CraftBlockData.fromData(ItemBlock.getBlockState(CraftMagicNumbers.getBlock(material).defaultBlockState(), blockData));
|
IBlockData defaultData = CraftMagicNumbers.getBlock(material).defaultBlockState();
|
||||||
|
return CraftBlockData.fromData((hasBlockData()) ? ItemBlock.getBlockState(defaultData, blockData) : defaultData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user