Skip to content

Commit d4ae0ba

Browse files
committed
Fixes #4020
1 parent 45601c8 commit d4ae0ba

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

Diff for: src/main/java/io/github/thebusybiscuit/slimefun4/utils/SlimefunUtils.java

+19
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@
2121
import org.bukkit.entity.Player;
2222
import org.bukkit.inventory.Inventory;
2323
import org.bukkit.inventory.ItemStack;
24+
import org.bukkit.inventory.meta.BookMeta;
2425
import org.bukkit.inventory.meta.ItemMeta;
2526
import org.bukkit.inventory.meta.PotionMeta;
27+
import org.bukkit.inventory.meta.SkullMeta;
2628
import org.bukkit.metadata.FixedMetadataValue;
2729
import org.bukkit.persistence.PersistentDataContainer;
2830
import org.bukkit.persistence.PersistentDataType;
@@ -489,6 +491,23 @@ private static boolean equalsItemMeta(@Nonnull ItemMeta itemMeta, @Nonnull ItemM
489491
return ((PotionMeta) itemMeta).getBasePotionData().equals(((PotionMeta) sfitemMeta).getBasePotionData());
490492
}
491493

494+
// Fixes #4020: Book and Head Player Comparison
495+
496+
if (itemMeta instanceof BookMeta itemBookMeta && sfitemMeta instanceof BookMeta sfItemBookMeta) {
497+
if(itemBookMeta.getAuthor() != sfItemBookMeta.getAuthor())
498+
return false;
499+
if(itemBookMeta.getTitle() != sfItemBookMeta.getTitle())
500+
return false;
501+
if(itemBookMeta.getPageCount() != sfItemBookMeta.getPageCount())
502+
return false;
503+
}
504+
505+
if (itemMeta instanceof SkullMeta itemHeadMeta && sfitemMeta instanceof SkullMeta sfItemHeadMeta) {
506+
if(itemHeadMeta.getOwningPlayer() != sfItemHeadMeta.getOwningPlayer())
507+
return false;
508+
}
509+
510+
492511
return true;
493512
}
494513

0 commit comments

Comments
 (0)