All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.nukkit.api.PowerNukkitXDifference Maven / Gradle / Ivy

There is a newer version: 1.20.40-r1
Show newest version
package cn.nukkit.api;

import java.lang.annotation.*;

/**
 * Indicates that the annotated element works differently in PowerNukkit environment
 * and may cause issues or unexpected behaviour when used in a normal NukkitX server
 * without PowerNukkitX's patches and features.
 */
@Retention(RetentionPolicy.CLASS)
@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.ANNOTATION_TYPE, ElementType.TYPE,
        ElementType.FIELD, ElementType.PACKAGE})
@PowerNukkitXOnly
@Since("1.19.20-r3")
@Inherited
@Documented
@Repeatable(PowerNukkitXDifference.DifferenceList.class)
public @interface PowerNukkitXDifference {
    @PowerNukkitXOnly
    @Since("1.19.20-r3")
    String info() default "";

    @PowerNukkitXOnly
    @Since("1.19.20-r3")
    String since() default "";

    @PowerNukkitXOnly
    @Since("1.19.20-r3")
    Class extendsOnlyInPowerNukkitX() default Void.class;

    @PowerNukkitXOnly
    @Since("1.19.20-r3")
    Class insteadOf() default Void.class;

    @Retention(RetentionPolicy.CLASS)
    @Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.ANNOTATION_TYPE, ElementType.TYPE,
            ElementType.FIELD, ElementType.PACKAGE})
    @PowerNukkitXOnly
    @Since("1.19.20-r3")
    @Inherited
    @Documented
    @interface DifferenceList {
        PowerNukkitXDifference[] value();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy