API Documentation/Example 02: Working with heads
Assuming you've completed the previous example and you've gotten an instance to the PlayerHeads API object, we can begin working with heads. The following are [non-exhaustive] examples of head operations.
Spawning a head
For an entity
ItemStack stack = ph_api.getHeadDrop(entity);
For a mob in the current server verson
HeadType type = ph_api.getHeadOf(EntityType.ZOMBIE); if(type==null) throw new IllegalArgumentException("Head not supported by PH"); ItemStack stack = ph_api.getHeadItem(type,1);
For a user
ItemStack stack = ph_api.getHeadItem(player, 1, false); // get head of specific player - OR ItemStack stack = ph_api.getBoringPlayerheadItem(1); // get generic Player head
Determining the type of a head
HeadType type = ph_api.getHeadFrom(itemstack_or_blockstate);//get comparable type if(type==null) throw new IllegalArgumentException("Head not supported by PH"); //Comparing to another head HeadType type2 = ph_api.getHeadOf(EntityType.ZOMBIE); if(type.equals(type2)) getLogger().info("Zombie head detected!"); //Getting the type name (Entity Type) of a head (for newest server version) String typename = type.toEnum().name();//get internal head name. v5.0+ //String typename = ((Enum) type).name();//get internal head name. v4.10+ getLogger().info("PlayerHeads head: "+typename);