Skip to content

Commit

Permalink
Avoid getData call as well
Browse files Browse the repository at this point in the history
  • Loading branch information
fullwall committed Feb 14, 2021
1 parent 5658d91 commit 2676e35
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 3 deletions.
13 changes: 11 additions & 2 deletions src/main/java/net/citizensnpcs/api/trait/trait/Equipment.java
Expand Up @@ -17,6 +17,7 @@
import net.citizensnpcs.api.trait.TraitName;
import net.citizensnpcs.api.util.DataKey;
import net.citizensnpcs.api.util.ItemStorage;
import net.citizensnpcs.api.util.SpigotUtil;

/**
* Represents an NPC's equipment.
Expand Down Expand Up @@ -114,7 +115,11 @@ public void onSpawn() {
if (npc.getEntity() instanceof Enderman) {
Enderman enderman = (Enderman) npc.getEntity();
if (equipment[0] != null) {
enderman.setCarriedMaterial(equipment[0].getData());
if (SpigotUtil.isUsing1_13API()) {
enderman.setCarriedBlock(equipment[0].getType().createBlockData());
} else {
enderman.setCarriedMaterial(equipment[0].getData());
}
}
} else {
EntityEquipment equip = getEquipmentFromEntity(npc.getEntity());
Expand Down Expand Up @@ -184,7 +189,11 @@ public void set(int slot, ItemStack item) {
if (npc.getEntity() instanceof Enderman) {
if (slot != 0)
throw new UnsupportedOperationException("Slot can only be 0 for enderman");
((Enderman) npc.getEntity()).setCarriedMaterial(item.getData());
if (SpigotUtil.isUsing1_13API()) {
((Enderman) npc.getEntity()).setCarriedBlock(item.getType().createBlockData());
} else {
((Enderman) npc.getEntity()).setCarriedMaterial(item.getData());
}
} else {
EntityEquipment equip = getEquipmentFromEntity(npc.getEntity());
switch (slot) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/citizensnpcs/api/util/ItemStorage.java
Expand Up @@ -353,7 +353,7 @@ public static void saveItem(DataKey key, ItemStack item) {
}
key.setInt("amount", item.getAmount());
key.setInt("durability", item.getDurability());
if (item.getData() != null && !SpigotUtil.isUsing1_13API()) {
if (!SpigotUtil.isUsing1_13API() && item.getData() != null) {
key.setInt("mdata", item.getData().getData());
} else {
key.removeKey("mdata");
Expand Down

0 comments on commit 2676e35

Please sign in to comment.