@EventHandler
public void join(PlayerJoinEvent event) {
Player player = event.getPlayer();
ServerLevel world = ((CraftWorld) player.getLocation().getWorld()).getHandle();
CustomBee customBee = new CustomBee(player.getLocation(), ColorUtil.color("Bee"), true);
world.tryAddFreshEntityWithPassengers(customBee);
testbee.setBeeUUID(customBee.getBukkitEntity(), customBee.getBukkitEntity().getUniqueId());
Bukkit.broadcastMessage(testbee.getBeeUUID(customBee.getBukkitEntity()) + "");
}
public static String toNbtString(Entity bukkitEntity) {
CompoundTag tag = new CompoundTag();
((CraftEntity) bukkitEntity).getHandle().save(tag);
return tag.getAsString();
}
The above is how im setting the PDC on my entity. The broadcast gives me the correct value. I have events for when a bee enters and exits a hive below
@EventHandler
public void EnterHive(EntityEnterBlockEvent event) {
if (event.getBlock().getType().equals(Material.BEEHIVE)) {
if(event.getEntity().getCustomName() != null & event.getEntity().getCustomName().equalsIgnoreCase("Bee")) {
Bukkit.getLogger().info("IN: " + toNbtString(event.getEntity()));
}
}
}
@EventHandler
public void creatureSpawn(CreatureSpawnEvent event) {
if(event.getEntity().getType().equals(EntityType.BEE)) {
if(event.getEntity().getCustomName() != null & event.getEntity().getCustomName().equalsIgnoreCase("Bee")) {
Bukkit.getLogger().info("OUT: " + toNbtString(event.getEntity()));
}
}
}
For some reason my custom PDC value is never included in this list