Fix Enderman's get/setItemInMainHand calls

They were using old pre-1.13 methods which were causing issues with
getting correct block data to show up. As of 1.13, Material enum has all
the block types and constructing WrappedBlockData via Material is the
only correct way of doing this.
This commit is contained in:
Mark Vainomaa 2019-05-09 03:05:15 +03:00
parent 9bdc1a0ae5
commit 55ec5056e8

View File

@ -20,10 +20,7 @@ public class EndermanWatcher extends InsentientWatcher {
if (value.isPresent()) { if (value.isPresent()) {
WrappedBlockData pair = value.get(); WrappedBlockData pair = value.get();
Material id = pair.getType(); return new ItemStack(pair.getType(), 1);
int data = pair.getData();
return new ItemStack(id, 1, (short) data);
} else { } else {
return null; return null;
} }
@ -31,7 +28,7 @@ public class EndermanWatcher extends InsentientWatcher {
@Override @Override
public void setItemInMainHand(ItemStack itemstack) { public void setItemInMainHand(ItemStack itemstack) {
setItemInMainHand(itemstack.getType(), itemstack.getDurability()); setItemInMainHand(itemstack.getType());
} }
public void setItemInMainHand(Material type) { public void setItemInMainHand(Material type) {
@ -44,7 +41,7 @@ public class EndermanWatcher extends InsentientWatcher {
if (type == null) if (type == null)
optional = Optional.empty(); optional = Optional.empty();
else else
optional = Optional.of(WrappedBlockData.createData(type, data)); optional = Optional.of(WrappedBlockData.createData(type));
setData(MetaIndex.ENDERMAN_ITEM, optional); setData(MetaIndex.ENDERMAN_ITEM, optional);
} }