Repository: PaperMC/Paper
File: paper-api/src/main/java/io/papermc/paper/registry/data/DamageTypeRegistryEntry.java (Java)

Code before:
    /**
     * Provides the {@link DamageEffect} for this damage type.
     *
     * @return the damage effect
     */
    @Nullable DamageEffect damageEffect();

    /**
     * Provides the {@link DeathMessageType} for this damage type.
     *
     * @return the death message type
     */
    @Nullable DeathMessageType deathMessageType();

    @ApiStatus.Experimental
    @ApiStatus.NonExtendable
    interface Builder extends DamageTypeRegistryEntry, RegistryBuilder<DamageType> {
        /**
         * Sets part of the death message translation key.
         *
         * @return this builder instance.
         * @see DamageTypeRegistryEntry#messageId()
         * @see DamageType#getTranslationKey()
         */
        @Contract(value = "_ -> this", mutates = "this")
        Builder messageId(String messageId);

        /**
         * Sets the amount of hunger exhaustion caused by this damage type.
         *
         * @return this builder instance.
         * @see DamageTypeRegistryEntry#exhaustion()
         * @see DamageType#getExhaustion()
         */
        @Contract(value = "_ -> this", mutates = "this")
        Builder exhaustion(float exhaustion);

        /**
         * Sets the {@link DamageScaling} for this damage type.
         *
         * @return this builder instance.
         * @see DamageTypeRegistryEntry#damageScaling()
         * @see DamageType#getDamageScaling()
         */
        @Contract(value = "_ -> this", mutates = "this")
        Builder damageScaling(DamageScaling scaling);

        /**
         * Sets the {@link DamageEffect} for this damage type.
         *
         * @return this builder instance.

Review comment (suggestion):
The javadoc for the `Builder` interface should be formatted like the other registry entry builders. Take a look at enchantment or game event or painting variant to see the format.

Code after:
     * Provides the {@link DamageEffect} for this damage type.
     *
     * @return the damage effect
     */
    DamageEffect damageEffect();

    /**
     * Provides the {@link DeathMessageType} for this damage type.
     *
     * @return the death message type
     */
    DeathMessageType deathMessageType();

    /**
     * A mutable builder for the {@link DamageTypeRegistryEntry} plugins may change in applicable registry events.
     * <p>
     * The following values are required for each builder:
     * <ul>
     *     <li>{@link #messageId(String)}</li>
     *     <li>{@link #exhaustion(float)}</li>
     *     <li>{@link #damageScaling(DamageScaling)}</li>
     * </ul>
     */
    @ApiStatus.Experimental
    @ApiStatus.NonExtendable
    interface Builder extends DamageTypeRegistryEntry, RegistryBuilder<DamageType> {

        /**
         * Sets part of the death message translation key.
         *
         * @return this builder instance.
         * @see DamageTypeRegistryEntry#messageId()
         * @see DamageType#getTranslationKey()
         */
        @Contract(value = "_ -> this", mutates = "this")
        Builder messageId(String messageId);

        /**
         * Sets the amount of hunger exhaustion caused by this damage type.
         *
         * @return this builder instance.
         * @see DamageTypeRegistryEntry#exhaustion()
         * @see DamageType#getExhaustion()
         */
        @Contract(value = "_ -> this", mutates = "this")
        Builder exhaustion(float exhaustion);

        /**
         * Sets the {@link DamageScaling} for this damage type.
         *
         * @return this builder instance.