Repository: PaperMC/Paper
File: paper-api/src/main/java/org/bukkit/entity/LivingEntity.java (Java)

Code before:
     * <br>For example, not all entities may have {@link org.bukkit.inventory.EquipmentSlot#BODY}.
     *
     * @param slot equipment slot
     * @return whether this entity can use the equipment slot
     */
    boolean canUseEquipmentSlot(org.bukkit.inventory.@NotNull EquipmentSlot slot);
    // Paper end - Expose canUseSlot

    /**
     * Gets the entity's combat tracker
     *
     * @return the entity's combat tracker
     */
    @ApiStatus.Experimental
    @NotNull CombatTracker getCombatTracker();

    /**
     * Sets the visual style of the waypoint icon using the specified {@link NamespacedKey}.
     * <p>
     * Passing {@code null} will reset the style to the default.
     * <p>
     * minecraft has the keys, "minecraft:bowtie" and "minecraft:default" built in.
     *
     * @param key the namespaced key representing the style, or {@code null} to use the default style
     */
    void setWaypointStyle(@org.jspecify.annotations.Nullable NamespacedKey key);

    /**
     * Sets the color of the waypoint icon.
     * <p>
     * Passing {@code null} will remove any custom color and use the default.
     *
     * @param color the new color to apply to the waypoint icon, or {@code null} to use the default color
     */
    void setWaypointColor(@org.jspecify.annotations.Nullable Color color);

    /**
     * Gets the current visual style of the waypoint icon.
     *
     * @return the {@link NamespacedKey} representing the icon's style
     */
    NamespacedKey getWaypointStyle();

    /**
     * Gets the current color of the waypoint icon, if any.
     *
     * @return the icon's color, or {@code null} if the default color is used
     */
    @org.jspecify.annotations.Nullable
    Color getWaypointColor();
}

Review comment (performance):
Shouldn’t this take a kyori Key instead? Because I thought they were slowly phasing out the NamespacedKey and replacing it with Key

Code after:
     * Damages the itemstack in this slot by the specified amount.
     * <p>
     * This runs all logic associated with damaging an itemstack like
     * gamemode and enchantment checks, events, stat changes, advancement
     * triggers, and notifying clients to play break animations.
     *
     * @param slot the slot of the stack to damage
     * @param amount the amount of damage to do
     */
    void damageItemStack(org.bukkit.inventory.@NotNull EquipmentSlot slot, int amount);
    // Paper end - ItemStack damage API

    // Paper start - body yaw API
    /**
     * Gets entity body yaw
     *
     * @return entity body yaw
     * @see Location#getYaw()
     */
    float getBodyYaw();

    /**
     * Sets entity body yaw
     *
     * @param bodyYaw new entity body yaw
     * @see Location#setYaw(float)
     */
    void setBodyYaw(float bodyYaw);
    // Paper end - body yaw API

    // Paper start - Expose canUseSlot
    /**
     * Checks whether this entity can use the equipment slot.
     * <br>For example, not all entities may have {@link org.bukkit.inventory.EquipmentSlot#BODY}.
     *
     * @param slot equipment slot
     * @return whether this entity can use the equipment slot
     */
    boolean canUseEquipmentSlot(org.bukkit.inventory.@NotNull EquipmentSlot slot);
    // Paper end - Expose canUseSlot

    /**
     * Gets the entity's combat tracker
     *
     * @return the entity's combat tracker
     */
    @ApiStatus.Experimental
    @NotNull CombatTracker getCombatTracker();

    /**
     * Sets the visual style of the waypoint icon using the specified {@link Key}.