diff --git a/src/main/java/com/falsepattern/lib/DeprecationDetails.java b/src/main/java/com/falsepattern/lib/DeprecationDetails.java
index dd6c9eb..06b839d 100644
--- a/src/main/java/com/falsepattern/lib/DeprecationDetails.java
+++ b/src/main/java/com/falsepattern/lib/DeprecationDetails.java
@@ -22,6 +22,8 @@
package com.falsepattern.lib;
+import org.jetbrains.annotations.ApiStatus;
+
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -31,18 +33,16 @@ import java.lang.annotation.RetentionPolicy;
*
* Used together with {@link Deprecated} to specify when an API was marked stable, and when it was marked for deprecation.
* Deprecated classes MAY be removed after a full deprecation cycle as described inside the {@link StableAPI} javadoc.
- * @since 0.10.0
* @deprecated since 1.7.0
*/
+@ApiStatus.AvailableSince("0.10.0")
@Deprecated
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface DeprecationDetails {
String deprecatedSince();
- /**
- * @since 0.11.0
- */
+ @ApiStatus.AvailableSince("0.11.0")
String replacement() default "";
/**
@@ -50,9 +50,9 @@ public @interface DeprecationDetails {
*
* This marks an API for removal in a future version.
*
- * @since 0.12.0
* @deprecated since 1.7.0
*/
+ @ApiStatus.AvailableSince("0.12.0")
@Deprecated
@Documented
@Retention(RetentionPolicy.RUNTIME)
diff --git a/src/main/java/com/falsepattern/lib/StableAPI.java b/src/main/java/com/falsepattern/lib/StableAPI.java
index 25ac76f..35b9166 100644
--- a/src/main/java/com/falsepattern/lib/StableAPI.java
+++ b/src/main/java/com/falsepattern/lib/StableAPI.java
@@ -21,6 +21,8 @@
*/
package com.falsepattern.lib;
+import org.jetbrains.annotations.ApiStatus;
+
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -55,8 +57,8 @@ import java.lang.annotation.Target;
* error, unlike __INTERNAL__, but if any issues arise from the usage of the API or the API changing, the API developer
* shall not be blamed for it.
* @deprecated since 1.7.0
- * @since 0.6.0
*/
+@ApiStatus.AvailableSince("0.6.0")
@Deprecated
@Documented
@Retention(RetentionPolicy.RUNTIME)
@@ -80,8 +82,8 @@ public @interface StableAPI {
* inner classes still need to use {@link StableAPI}.
*
* @deprecated since 1.7.0
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Deprecated
@Documented
@Retention(RetentionPolicy.RUNTIME)
@@ -99,8 +101,8 @@ public @interface StableAPI {
* changed or removed in any version in the library without prior notice.
*
* @deprecated since 1.7.0
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Deprecated
@Documented
@Retention(RetentionPolicy.RUNTIME)
diff --git a/src/main/java/com/falsepattern/lib/asm/exceptions/package-info.java b/src/main/java/com/falsepattern/lib/asm/exceptions/package-info.java
index 70d41fb..c2d68ce 100644
--- a/src/main/java/com/falsepattern/lib/asm/exceptions/package-info.java
+++ b/src/main/java/com/falsepattern/lib/asm/exceptions/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.10.0
- */
-package com.falsepattern.lib.asm.exceptions;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.10.0")
+package com.falsepattern.lib.asm.exceptions;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/asm/package-info.java b/src/main/java/com/falsepattern/lib/asm/package-info.java
index c6c9e02..82e08fd 100644
--- a/src/main/java/com/falsepattern/lib/asm/package-info.java
+++ b/src/main/java/com/falsepattern/lib/asm/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.10.0
- */
-package com.falsepattern.lib.asm;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.10.0")
+package com.falsepattern.lib.asm;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/compat/BlockPos.java b/src/main/java/com/falsepattern/lib/compat/BlockPos.java
index ae241d6..a5e1dca 100644
--- a/src/main/java/com/falsepattern/lib/compat/BlockPos.java
+++ b/src/main/java/com/falsepattern/lib/compat/BlockPos.java
@@ -29,6 +29,7 @@ import lombok.Setter;
import lombok.val;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.jetbrains.annotations.ApiStatus;
import net.minecraft.entity.Entity;
import net.minecraft.util.EnumFacing;
@@ -364,9 +365,7 @@ public class BlockPos extends Vec3i {
return this;
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
@Setter
@Getter
public static class MutableBlockPos extends BlockPos {
@@ -453,9 +452,7 @@ public class BlockPos extends Vec3i {
}
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static final class PooledMutableBlockPos extends BlockPos.MutableBlockPos {
private static final List POOL = new ArrayList<>();
private boolean released;
diff --git a/src/main/java/com/falsepattern/lib/compat/GuiLabel.java b/src/main/java/com/falsepattern/lib/compat/GuiLabel.java
index a248c86..1e075ae 100644
--- a/src/main/java/com/falsepattern/lib/compat/GuiLabel.java
+++ b/src/main/java/com/falsepattern/lib/compat/GuiLabel.java
@@ -23,6 +23,7 @@ package com.falsepattern.lib.compat;
import lombok.NonNull;
import lombok.val;
+import org.jetbrains.annotations.ApiStatus;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
@@ -38,9 +39,8 @@ import java.util.List;
/**
* A functional equivalent to GuiLabel present in Minecraft 1.12.
- *
- * @since 0.8.0
*/
+@ApiStatus.AvailableSince("0.8.0")
@SideOnly(Side.CLIENT)
public class GuiLabel extends Gui {
private final List lines = new ArrayList<>();
diff --git a/src/main/java/com/falsepattern/lib/compat/package-info.java b/src/main/java/com/falsepattern/lib/compat/package-info.java
index 2d4bdb9..123ea14 100644
--- a/src/main/java/com/falsepattern/lib/compat/package-info.java
+++ b/src/main/java/com/falsepattern/lib/compat/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.6.0
- */
-package com.falsepattern.lib.compat;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.6.0")
+package com.falsepattern.lib.compat;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/config/Config.java b/src/main/java/com/falsepattern/lib/config/Config.java
index f51f7ed..b95720b 100644
--- a/src/main/java/com/falsepattern/lib/config/Config.java
+++ b/src/main/java/com/falsepattern/lib/config/Config.java
@@ -22,6 +22,7 @@
package com.falsepattern.lib.config;
import org.intellij.lang.annotations.Language;
+import org.jetbrains.annotations.ApiStatus;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@@ -94,9 +95,8 @@ public @interface Config {
* Define category migrations here.
* Used to rename config categories without losing data.
* @see #pathMigrations()
- *
- * @since 1.5.0
*/
+ @ApiStatus.AvailableSince("1.5.0")
String[] categoryMigrations() default {};
/**
@@ -110,9 +110,8 @@ public @interface Config {
* customPath = "mymod.config" -> .minecraft/config/mymod.config
*
* @see #modid()
- *
- * @since 1.5.0
*/
+ @ApiStatus.AvailableSince("1.5.0")
String customPath() default "";
/**
@@ -126,9 +125,8 @@ public @interface Config {
* the category of this config.
* @see #customPath()
* @see #categoryMigrations()
- *
- * @since 1.5.0
*/
+ @ApiStatus.AvailableSince("1.5.0")
String[] pathMigrations() default {};
// region Common
@@ -182,9 +180,8 @@ public @interface Config {
/**
* Use this to migrate from old config names. "" is resolved to the name of the field
- *
- * @since 1.5.0
*/
+ @ApiStatus.AvailableSince("1.5.0")
String[] migrations() default {};
}
@@ -214,9 +211,8 @@ public @interface Config {
*
* Note that synchronization ALWAYS happens FROM the server TO the client. The server should NEVER attempt to get
* configuration values from a client. This is to avoid malicious clients manipulating the server configs.
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@@ -224,9 +220,8 @@ public @interface Config {
/**
* Use this to mark config fields you don't want to synchronize in a class marked with {@link Synchronize}.
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@@ -281,9 +276,8 @@ public @interface Config {
/**
* The default value for a double field.
* @see RangeDouble
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@@ -293,9 +287,8 @@ public @interface Config {
/**
* The range of possible values a double config can have.
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@@ -325,9 +318,8 @@ public @interface Config {
* This annotation limits the maximum number of characters present in a string configuration.
*
* When used with a string list, this limit will apply to each element individually, not to the size of the list as a whole.
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@@ -368,9 +360,8 @@ public @interface Config {
* The default value for a boolean array field.
* @see ListFixedLength
* @see ListMaxLength
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@@ -383,9 +374,8 @@ public @interface Config {
* @see ListFixedLength
* @see ListMaxLength
* @see RangeInt
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@@ -398,9 +388,8 @@ public @interface Config {
* @see ListFixedLength
* @see ListMaxLength
* @see RangeDouble
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@@ -426,9 +415,8 @@ public @interface Config {
* If this annotation is present, the list in the config will be forced to have exactly the amount of elements as
* the default value.
* @see ListMaxLength
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@@ -437,9 +425,8 @@ public @interface Config {
/**
* This annotation limits the maximum number of elements present in an array configuration. Only effective if
* {@link ListFixedLength} is NOT present.
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
diff --git a/src/main/java/com/falsepattern/lib/config/ConfigurationManager.java b/src/main/java/com/falsepattern/lib/config/ConfigurationManager.java
index 9213e50..dbc7fb1 100644
--- a/src/main/java/com/falsepattern/lib/config/ConfigurationManager.java
+++ b/src/main/java/com/falsepattern/lib/config/ConfigurationManager.java
@@ -27,6 +27,7 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.SneakyThrows;
import lombok.val;
+import org.jetbrains.annotations.ApiStatus;
import cpw.mods.fml.client.config.IConfigElement;
@@ -42,26 +43,21 @@ import java.util.function.BiConsumer;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ConfigurationManager {
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static void initialize(Class>... configClasses) throws ConfigException {
initialize((a, b) -> {}, configClasses);
}
/**
* You can use this method in the static initializer of a config class to self-load it without extra effort.
- *
- * @since 0.10.3
*/
+ @ApiStatus.AvailableSince("0.10.3")
@SneakyThrows
public static void selfInit() {
initialize(ReflectionUtil.getCallerClass());
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static void initialize(BiConsumer, Field> validatorErrorCallback, Class>... configClasses)
throws ConfigException {
for (val clazz : configClasses) {
@@ -72,16 +68,12 @@ public class ConfigurationManager {
}
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static boolean validate(boolean resetInvalid, Class>... configClasses) throws ConfigException {
return validate((x, y) -> {}, resetInvalid, configClasses);
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static boolean validate(BiConsumer, Field> validatorErrorCallback, boolean resetInvalid, Class>... configClasses)
throws ConfigException {
boolean valid = true;
@@ -91,18 +83,14 @@ public class ConfigurationManager {
return valid;
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static void loadFromFile(Class>... configClasses) throws ConfigException {
for (val clazz : configClasses) {
ConfigurationManagerImpl.load(clazz);
}
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static void saveToFile(boolean validateAndResetInvalid, Class>... configClasses) throws ConfigException {
for (val clazz : configClasses) {
if (validateAndResetInvalid) {
@@ -130,9 +118,8 @@ public class ConfigurationManager {
* @param configClasses The classes to process.
*
* @return The configuration elements.
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
@SuppressWarnings("rawtypes")
public static List getConfigElementsMulti(Class>... configClasses) throws ConfigException {
switch (configClasses.length) {
@@ -151,9 +138,8 @@ public class ConfigurationManager {
/**
* @return The configuration elements, structured with DummyCategoryElement groups per config class
* @see #getConfigElementsMulti(Class[])
- *
- * @since 1.5.0
*/
+ @ApiStatus.AvailableSince("1.5.0")
@SuppressWarnings("rawtypes")
public static List getConfigElementsMultiStructured(Class>... configClasses) throws ConfigException {
if (configClasses.length == 0) {
diff --git a/src/main/java/com/falsepattern/lib/config/SimpleGuiConfig.java b/src/main/java/com/falsepattern/lib/config/SimpleGuiConfig.java
index fcb3a2a..b828400 100644
--- a/src/main/java/com/falsepattern/lib/config/SimpleGuiConfig.java
+++ b/src/main/java/com/falsepattern/lib/config/SimpleGuiConfig.java
@@ -21,14 +21,14 @@
*/
package com.falsepattern.lib.config;
+import org.jetbrains.annotations.ApiStatus;
+
import net.minecraft.client.gui.GuiScreen;
import cpw.mods.fml.client.config.GuiConfig;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-/**
- * @since 0.9.0
- */
+@ApiStatus.AvailableSince("0.9.0")
@SideOnly(Side.CLIENT)
public class SimpleGuiConfig extends GuiConfig {
public SimpleGuiConfig(GuiScreen parent, Class> configClass, String modID, String modName)
@@ -36,18 +36,13 @@ public class SimpleGuiConfig extends GuiConfig {
this(parent, modID, modName, configClass);
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public SimpleGuiConfig(GuiScreen parent, String modID, String title, Class>... configClasses)
throws ConfigException {
this(parent, modID, title, null, configClasses);
}
-
- /**
- * @since 1.5.0
- */
+ @ApiStatus.AvailableSince("1.5.0")
public SimpleGuiConfig(GuiScreen parent, String modID, String title, String titleLine2, Class>... configClasses)
throws ConfigException {
super(parent,
diff --git a/src/main/java/com/falsepattern/lib/config/SimpleGuiFactory.java b/src/main/java/com/falsepattern/lib/config/SimpleGuiFactory.java
index 6afd83d..2328862 100644
--- a/src/main/java/com/falsepattern/lib/config/SimpleGuiFactory.java
+++ b/src/main/java/com/falsepattern/lib/config/SimpleGuiFactory.java
@@ -21,6 +21,8 @@
*/
package com.falsepattern.lib.config;
+import org.jetbrains.annotations.ApiStatus;
+
import net.minecraft.client.Minecraft;
import cpw.mods.fml.client.IModGuiFactory;
import cpw.mods.fml.relauncher.Side;
@@ -28,9 +30,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import java.util.Set;
-/**
- * @since 0.9.0
- */
+@ApiStatus.AvailableSince("0.9.0")
@SideOnly(Side.CLIENT)
public interface SimpleGuiFactory extends IModGuiFactory {
@Override
diff --git a/src/main/java/com/falsepattern/lib/config/event/package-info.java b/src/main/java/com/falsepattern/lib/config/event/package-info.java
index 51abaa7..b314854 100644
--- a/src/main/java/com/falsepattern/lib/config/event/package-info.java
+++ b/src/main/java/com/falsepattern/lib/config/event/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.10.0
- */
-package com.falsepattern.lib.config.event;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.10.0")
+package com.falsepattern.lib.config.event;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/config/package-info.java b/src/main/java/com/falsepattern/lib/config/package-info.java
index 3021b2d..f849bbc 100644
--- a/src/main/java/com/falsepattern/lib/config/package-info.java
+++ b/src/main/java/com/falsepattern/lib/config/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.6.0
- */
-package com.falsepattern.lib.config;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.6.0")
+package com.falsepattern.lib.config;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/dependencies/DependencyLoader.java b/src/main/java/com/falsepattern/lib/dependencies/DependencyLoader.java
index c3f7838..df7f47d 100644
--- a/src/main/java/com/falsepattern/lib/dependencies/DependencyLoader.java
+++ b/src/main/java/com/falsepattern/lib/dependencies/DependencyLoader.java
@@ -22,6 +22,7 @@
package com.falsepattern.lib.dependencies;
import com.falsepattern.lib.internal.impl.dependencies.DependencyLoaderImpl;
+import org.jetbrains.annotations.ApiStatus;
import java.util.concurrent.CompletableFuture;
@@ -35,16 +36,12 @@ public class DependencyLoader {
DependencyLoaderImpl.addMavenRepo(url);
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static CompletableFuture loadLibrariesAsync(Library... libraries) {
return DependencyLoaderImpl.loadLibrariesAsync(libraries).thenApply(list -> null);
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static void loadLibraries(Library... libraries) {
DependencyLoaderImpl.loadLibraries(libraries);
}
diff --git a/src/main/java/com/falsepattern/lib/dependencies/Library.java b/src/main/java/com/falsepattern/lib/dependencies/Library.java
index 11d590c..ec5984b 100644
--- a/src/main/java/com/falsepattern/lib/dependencies/Library.java
+++ b/src/main/java/com/falsepattern/lib/dependencies/Library.java
@@ -26,9 +26,7 @@ import lombok.NonNull;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
-/**
- * @since 0.10.0
- */
+@ApiStatus.AvailableSince("0.10.0")
public class Library {
@NonNull
public final String loadingModId;
@@ -62,9 +60,7 @@ public class Library {
return new LibraryBuilder();
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static class LibraryBuilder {
private String loadingModId;
private String groupId;
diff --git a/src/main/java/com/falsepattern/lib/dependencies/SemanticVersion.java b/src/main/java/com/falsepattern/lib/dependencies/SemanticVersion.java
index 5459903..ff16c00 100644
--- a/src/main/java/com/falsepattern/lib/dependencies/SemanticVersion.java
+++ b/src/main/java/com/falsepattern/lib/dependencies/SemanticVersion.java
@@ -58,17 +58,13 @@ public class SemanticVersion extends Version {
this(majorVersion, minorVersion, patchVersion, null, null);
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public SemanticVersion(int majorVersion, int minorVersion) {
this(majorVersion, minorVersion, -1, null, null);
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public SemanticVersion(int majorVersion) {
this(majorVersion, -1, -1, null, null);
}
@@ -119,9 +115,7 @@ public class SemanticVersion extends Version {
// @formatter:on
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static class SemanticVersionBuilder {
private int majorVersion;
private int minorVersion = -1;
diff --git a/src/main/java/com/falsepattern/lib/dependencies/Version.java b/src/main/java/com/falsepattern/lib/dependencies/Version.java
index 654de32..8b8181b 100644
--- a/src/main/java/com/falsepattern/lib/dependencies/Version.java
+++ b/src/main/java/com/falsepattern/lib/dependencies/Version.java
@@ -22,6 +22,7 @@
package com.falsepattern.lib.dependencies;
import com.falsepattern.lib.internal.impl.dependencies.DependencyLoaderImpl;
+import org.jetbrains.annotations.ApiStatus;
public abstract class Version implements Comparable {
protected Version() {
@@ -39,10 +40,7 @@ public abstract class Version implements Comparable {
return compareTo(other) == 0;
}
- /**
- *
- * @since 1.7.0
- */
+ @ApiStatus.AvailableSince("1.7.0")
public static Version parse(String versionString) {
return DependencyLoaderImpl.parseVersion(versionString);
}
diff --git a/src/main/java/com/falsepattern/lib/dependencies/package-info.java b/src/main/java/com/falsepattern/lib/dependencies/package-info.java
index 113354f..3edb520 100644
--- a/src/main/java/com/falsepattern/lib/dependencies/package-info.java
+++ b/src/main/java/com/falsepattern/lib/dependencies/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.6.0
- */
-package com.falsepattern.lib.dependencies;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.6.0")
+package com.falsepattern.lib.dependencies;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/internal/impl/dependencies/DependencyLoaderImpl.java b/src/main/java/com/falsepattern/lib/internal/impl/dependencies/DependencyLoaderImpl.java
index a9bb8e1..373ef67 100644
--- a/src/main/java/com/falsepattern/lib/internal/impl/dependencies/DependencyLoaderImpl.java
+++ b/src/main/java/com/falsepattern/lib/internal/impl/dependencies/DependencyLoaderImpl.java
@@ -27,6 +27,7 @@ import com.falsepattern.lib.dependencies.Library;
import com.falsepattern.lib.dependencies.SemanticVersion;
import com.falsepattern.lib.dependencies.Version;
import lombok.val;
+import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Nullable;
@@ -38,9 +39,7 @@ public class DependencyLoaderImpl {
com.falsepattern.deploader.DependencyLoaderImpl.addMavenRepo(url);
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static CompletableFuture loadLibrariesAsync(Library... libraries) {
val libs = new com.falsepattern.deploader.Library[libraries.length];
for (int i = 0; i < libraries.length; i++) {
@@ -49,9 +48,7 @@ public class DependencyLoaderImpl {
return com.falsepattern.deploader.DependencyLoaderImpl.loadLibrariesAsync(libs);
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
public static void loadLibraries(Library... libraries) {
val libs = new com.falsepattern.deploader.Library[libraries.length];
for (int i = 0; i < libraries.length; i++) {
diff --git a/src/main/java/com/falsepattern/lib/mapping/package-info.java b/src/main/java/com/falsepattern/lib/mapping/package-info.java
index b64d655..c797cfb 100644
--- a/src/main/java/com/falsepattern/lib/mapping/package-info.java
+++ b/src/main/java/com/falsepattern/lib/mapping/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.10.0
- */
-package com.falsepattern.lib.mapping;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.10.0")
+package com.falsepattern.lib.mapping;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/mapping/types/package-info.java b/src/main/java/com/falsepattern/lib/mapping/types/package-info.java
index 92264d0..f34d451 100644
--- a/src/main/java/com/falsepattern/lib/mapping/types/package-info.java
+++ b/src/main/java/com/falsepattern/lib/mapping/types/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.10.0
- */
-package com.falsepattern.lib.mapping.types;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.10.0")
+package com.falsepattern.lib.mapping.types;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/mixin/IMixin.java b/src/main/java/com/falsepattern/lib/mixin/IMixin.java
index aa86a07..51165f8 100644
--- a/src/main/java/com/falsepattern/lib/mixin/IMixin.java
+++ b/src/main/java/com/falsepattern/lib/mixin/IMixin.java
@@ -22,6 +22,7 @@
package com.falsepattern.lib.mixin;
import lombok.val;
+import org.jetbrains.annotations.ApiStatus;
import cpw.mods.fml.relauncher.FMLLaunchHandler;
@@ -41,18 +42,14 @@ public interface IMixin {
|| side == Side.CLIENT && FMLLaunchHandler.side().isClient()) && getFilter().test(loadedMods);
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
enum Side {
COMMON,
CLIENT,
SERVER
}
- /**
- * @since 0.10.0
- */
+ @ApiStatus.AvailableSince("0.10.0")
final class PredicateHelpers {
public static Predicate> never() {
return (list) -> false;
diff --git a/src/main/java/com/falsepattern/lib/mixin/IMixinPlugin.java b/src/main/java/com/falsepattern/lib/mixin/IMixinPlugin.java
index 3628d3a..8567ac9 100644
--- a/src/main/java/com/falsepattern/lib/mixin/IMixinPlugin.java
+++ b/src/main/java/com/falsepattern/lib/mixin/IMixinPlugin.java
@@ -82,9 +82,7 @@ public interface IMixinPlugin extends IMixinConfigPlugin {
return result;
}
- /**
- * @since 1.4.0
- */
+ @ApiStatus.AvailableSince("1.4.0")
static Set findJarsOf(IMixinPlugin self, final ITargetedMod mod) {
if (!self.useNewFindJar()) {
val jar = findJarOf(mod);
@@ -116,9 +114,7 @@ public interface IMixinPlugin extends IMixinConfigPlugin {
ITargetedMod[] getTargetedModEnumValues();
- /**
- * @since 1.4.0
- */
+ @ApiStatus.AvailableSince("1.4.0")
default boolean useNewFindJar() {
return false;
}
diff --git a/src/main/java/com/falsepattern/lib/mixin/MinecraftURLClassPath.java b/src/main/java/com/falsepattern/lib/mixin/MinecraftURLClassPath.java
index d02f896..6c2923b 100644
--- a/src/main/java/com/falsepattern/lib/mixin/MinecraftURLClassPath.java
+++ b/src/main/java/com/falsepattern/lib/mixin/MinecraftURLClassPath.java
@@ -24,6 +24,7 @@ package com.falsepattern.lib.mixin;
import com.falsepattern.lib.internal.impl.mixin.UCPImpl;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
+import org.jetbrains.annotations.ApiStatus;
import java.io.File;
@@ -31,9 +32,8 @@ import java.io.File;
* Backport from spongemixins 1.3 for compat with the curseforge 1.2.0 version.
*
* Also added Grimoire protection.
- *
- * @since 0.10.0
*/
+@ApiStatus.AvailableSince("0.10.0")
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class MinecraftURLClassPath {
public static void addJar(File pathToJar) throws Exception {
diff --git a/src/main/java/com/falsepattern/lib/mixin/MixinInfo.java b/src/main/java/com/falsepattern/lib/mixin/MixinInfo.java
index 0503b6b..1c290ef 100644
--- a/src/main/java/com/falsepattern/lib/mixin/MixinInfo.java
+++ b/src/main/java/com/falsepattern/lib/mixin/MixinInfo.java
@@ -31,9 +31,7 @@ import net.minecraft.launchwrapper.Launch;
import java.io.IOException;
import java.util.Optional;
-/**
- * @since 0.10.2
- */
+@ApiStatus.AvailableSince("0.10.2")
public final class MixinInfo {
public static final MixinBootstrapperType mixinBootstrapper;
@@ -65,16 +63,12 @@ public final class MixinInfo {
return mixinBootstrapper == MixinBootstrapperType.MixinBooterLegacy;
}
- /**
- * @since 0.10.14
- */
+ @ApiStatus.AvailableSince("0.10.14")
public static boolean isGasStation() {
return mixinBootstrapper == MixinBootstrapperType.GasStation;
}
- /**
- * @since 0.10.15
- */
+ @ApiStatus.AvailableSince("0.10.15")
public static boolean isUniMixin() {
return mixinBootstrapper == MixinBootstrapperType.UniMixin;
}
@@ -129,18 +123,16 @@ public final class MixinInfo {
return MixinBootstrapperType.Other;
}
- /**
- * @since 0.10.2
- */
+ @ApiStatus.AvailableSince("0.10.2")
public enum MixinBootstrapperType {
None,
- /** @since 0.10.9 */
+ @ApiStatus.AvailableSince("0.10.9")
GasStation,
SpongeMixins,
Grimoire,
MixinBooterLegacy,
Other,
- /** @since 0.10.15 */
+ @ApiStatus.AvailableSince("0.10.15")
UniMixin
}
}
diff --git a/src/main/java/com/falsepattern/lib/mixin/MixinInfoCompatCompanion.java b/src/main/java/com/falsepattern/lib/mixin/MixinInfoCompatCompanion.java
index f2e40eb..04562fb 100644
--- a/src/main/java/com/falsepattern/lib/mixin/MixinInfoCompatCompanion.java
+++ b/src/main/java/com/falsepattern/lib/mixin/MixinInfoCompatCompanion.java
@@ -23,6 +23,7 @@
package com.falsepattern.lib.mixin;
import lombok.Getter;
+import org.jetbrains.annotations.ApiStatus;
import java.util.ArrayList;
import java.util.Arrays;
@@ -31,9 +32,8 @@ import java.util.List;
/**
* This is a class you can use to interact with MixinInfo before it gets classloaded.
* (Originally placed here for future unimixins compat in case they change the class names)
- *
- * @since 0.10.15
*/
+@ApiStatus.AvailableSince("0.10.15")
public class MixinInfoCompatCompanion {
/**
* A list of all mixin classes that are candidates for unimixins.
diff --git a/src/main/java/com/falsepattern/lib/mixin/package-info.java b/src/main/java/com/falsepattern/lib/mixin/package-info.java
index 8dacac9..51f9797 100644
--- a/src/main/java/com/falsepattern/lib/mixin/package-info.java
+++ b/src/main/java/com/falsepattern/lib/mixin/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.8.0
- */
-package com.falsepattern.lib.mixin;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.8.0")
+package com.falsepattern.lib.mixin;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/mixin/v2/package-info.java b/src/main/java/com/falsepattern/lib/mixin/v2/package-info.java
index c655b20..522a52e 100644
--- a/src/main/java/com/falsepattern/lib/mixin/v2/package-info.java
+++ b/src/main/java/com/falsepattern/lib/mixin/v2/package-info.java
@@ -20,9 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 1.9.0
- */
+@ApiStatus.AvailableSince("1.9.0")
@ApiStatus.Experimental
package com.falsepattern.lib.mixin.v2;
diff --git a/src/main/java/com/falsepattern/lib/optifine/OptiFineTransformerHooks.java b/src/main/java/com/falsepattern/lib/optifine/OptiFineTransformerHooks.java
index 0c8c7ca..03080d1 100644
--- a/src/main/java/com/falsepattern/lib/optifine/OptiFineTransformerHooks.java
+++ b/src/main/java/com/falsepattern/lib/optifine/OptiFineTransformerHooks.java
@@ -23,15 +23,15 @@
package com.falsepattern.lib.optifine;
import com.falsepattern.lib.internal.impl.optifine.OptiFineTransformerHooksImpl;
+import org.jetbrains.annotations.ApiStatus;
/**
* A utility for manipulating OptiFine's patches.
* If you have a mod that injects code that would otherwise conflict with OptiFine, and you have provably tested that
* removing certain OptiFine patches from the jar does NOT break anything, you may use this class to disable them
* without having to do jar file edits.
- *
- * @since 1.0.0
*/
+@ApiStatus.AvailableSince("1.0.0")
public class OptiFineTransformerHooks {
public static void disableOptiFinePatch(String patchName) {
OptiFineTransformerHooksImpl.disableOptiFinePatch(patchName);
diff --git a/src/main/java/com/falsepattern/lib/text/FormattedText.java b/src/main/java/com/falsepattern/lib/text/FormattedText.java
index 523560c..a10dcc3 100644
--- a/src/main/java/com/falsepattern/lib/text/FormattedText.java
+++ b/src/main/java/com/falsepattern/lib/text/FormattedText.java
@@ -23,6 +23,7 @@ package com.falsepattern.lib.text;
import lombok.NonNull;
import lombok.val;
+import org.jetbrains.annotations.ApiStatus;
import net.minecraft.client.entity.EntityOtherPlayerMP;
import net.minecraft.client.entity.EntityPlayerSP;
@@ -51,9 +52,8 @@ import java.util.function.Consumer;
/**
* Universal escape sequence-based text rendering and chat messages.
- *
- * @since 0.6.0
*/
+@ApiStatus.AvailableSince("0.6.0")
public final class FormattedText {
private static final Map reverseMap = new HashMap<>();
private static final Map colorMap = new HashMap<>();
diff --git a/src/main/java/com/falsepattern/lib/toasts/icon/package-info.java b/src/main/java/com/falsepattern/lib/toasts/icon/package-info.java
index 9e2a642..4b1552f 100644
--- a/src/main/java/com/falsepattern/lib/toasts/icon/package-info.java
+++ b/src/main/java/com/falsepattern/lib/toasts/icon/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.10.0
- */
-package com.falsepattern.lib.toasts.icon;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.10.0")
+package com.falsepattern.lib.toasts.icon;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/toasts/package-info.java b/src/main/java/com/falsepattern/lib/toasts/package-info.java
index 2f32b4e..c85ebe9 100644
--- a/src/main/java/com/falsepattern/lib/toasts/package-info.java
+++ b/src/main/java/com/falsepattern/lib/toasts/package-info.java
@@ -20,7 +20,7 @@
* along with FalsePatternLib. If not, see .
*/
-/**
- * @since 0.10.0
- */
-package com.falsepattern.lib.toasts;
\ No newline at end of file
+@ApiStatus.AvailableSince("0.10.0")
+package com.falsepattern.lib.toasts;
+
+import org.jetbrains.annotations.ApiStatus;
\ No newline at end of file
diff --git a/src/main/java/com/falsepattern/lib/util/FileUtil.java b/src/main/java/com/falsepattern/lib/util/FileUtil.java
index 16ab2ce..1911523 100644
--- a/src/main/java/com/falsepattern/lib/util/FileUtil.java
+++ b/src/main/java/com/falsepattern/lib/util/FileUtil.java
@@ -22,6 +22,7 @@
package com.falsepattern.lib.util;
import lombok.experimental.UtilityClass;
+import org.jetbrains.annotations.ApiStatus;
import net.minecraft.launchwrapper.Launch;
@@ -29,18 +30,14 @@ import java.io.File;
import java.nio.file.Path;
import java.nio.file.Paths;
-/**
- * @since 0.8.2
- */
+@ApiStatus.AvailableSince("0.8.2")
@UtilityClass
public final class FileUtil {
public static File getMinecraftHome() {
return getMinecraftHomePath().toFile();
}
- /**
- * @since 1.0.0
- */
+ @ApiStatus.AvailableSince("1.0.0")
public static Path getMinecraftHomePath() {
return Launch.minecraftHome == null ? Paths.get("").toAbsolutePath() : Launch.minecraftHome.toPath();
}
diff --git a/src/main/java/com/falsepattern/lib/util/LangUtil.java b/src/main/java/com/falsepattern/lib/util/LangUtil.java
index 431a7ce..7b3ad35 100644
--- a/src/main/java/com/falsepattern/lib/util/LangUtil.java
+++ b/src/main/java/com/falsepattern/lib/util/LangUtil.java
@@ -24,15 +24,14 @@ package com.falsepattern.lib.util;
import lombok.NonNull;
import lombok.experimental.UtilityClass;
import lombok.val;
+import org.jetbrains.annotations.ApiStatus;
import cpw.mods.fml.common.registry.LanguageRegistry;
import java.util.HashMap;
import java.util.Map;
-/**
- * @since 0.8.0
- */
+@ApiStatus.AvailableSince("0.8.0")
@UtilityClass
public final class LangUtil {
public static final String DEFAULT_LOCALE = "en_US";
diff --git a/src/main/java/com/falsepattern/lib/util/MathUtil.java b/src/main/java/com/falsepattern/lib/util/MathUtil.java
index 36a0307..485814e 100644
--- a/src/main/java/com/falsepattern/lib/util/MathUtil.java
+++ b/src/main/java/com/falsepattern/lib/util/MathUtil.java
@@ -23,13 +23,12 @@ package com.falsepattern.lib.util;
import com.falsepattern.lib.compat.Vec3i;
import lombok.experimental.UtilityClass;
+import org.jetbrains.annotations.ApiStatus;
import java.util.Random;
import java.util.UUID;
-/**
- * @since 0.10.0
- */
+@ApiStatus.AvailableSince("0.10.0")
@UtilityClass
public final class MathUtil {
public static final float SQRT_2 = sqrt(2.0F);
diff --git a/src/main/java/com/falsepattern/lib/util/RenderUtil.java b/src/main/java/com/falsepattern/lib/util/RenderUtil.java
index 6e33f04..f2a8562 100644
--- a/src/main/java/com/falsepattern/lib/util/RenderUtil.java
+++ b/src/main/java/com/falsepattern/lib/util/RenderUtil.java
@@ -27,6 +27,7 @@ import com.falsepattern.lib.internal.render.FullTextureIcon;
import lombok.SneakyThrows;
import lombok.experimental.UtilityClass;
import lombok.val;
+import org.jetbrains.annotations.ApiStatus;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
@@ -40,9 +41,7 @@ import cpw.mods.fml.relauncher.SideOnly;
import static cpw.mods.fml.relauncher.Side.CLIENT;
import static net.minecraft.client.Minecraft.getMinecraft;
-/**
- * @since 0.8.0
- */
+@ApiStatus.AvailableSince("0.8.0")
@SideOnly(CLIENT)
@UtilityClass
public final class RenderUtil {
@@ -55,9 +54,8 @@ public final class RenderUtil {
* This is useful for rendering things that are not part of the world mesh, but should be rendered as if they were.
*
* It's good practice to make this call inside a {@link GL11#glPushMatrix() push}/{@link GL11#glPopMatrix() pop} matrix block.
- *
- * @since 0.12.0
*/
+ @ApiStatus.AvailableSince("0.12.0")
public static void setGLTranslationRelativeToPlayer() {
val player = getMinecraft().thePlayer;
val partialTick = partialTick();
@@ -79,9 +77,8 @@ public final class RenderUtil {
* @param height The icon height in pixels
*
* @return The full resolution texture icon.
- *
- * @since 0.10.0
*/
+ @ApiStatus.AvailableSince("0.10.0")
public static IIcon getFullTextureIcon(String iconName, int width, int height) {
return new FullTextureIcon(iconName, width, height);
}
@@ -94,9 +91,8 @@ public final class RenderUtil {
* This is helpful when using {@link RenderBlocks} but having different bounds.
*
* @param icon The icon to clamp
- *
- * @since 0.12.0
*/
+ @ApiStatus.AvailableSince("0.12.0")
public static IIcon wrapAsClampedIcon(IIcon icon) {
return new ClampedIcon(icon);
}
@@ -108,9 +104,8 @@ public final class RenderUtil {
* is sufficient to achieve the same effect.
*
* However, when shaders are enabled, disabling textures using this method will have no effect. Therefore this method can be used as a workaround.
- *
- * @since 1.3.0
*/
+ @ApiStatus.AvailableSince("1.3.0")
public static void bindEmptyTexture() {
getMinecraft().renderEngine.bindTexture(EMPTY_TEXTURE);
}
diff --git a/src/main/java/com/falsepattern/lib/util/ResourceUtil.java b/src/main/java/com/falsepattern/lib/util/ResourceUtil.java
index 8b885eb..1f29598 100644
--- a/src/main/java/com/falsepattern/lib/util/ResourceUtil.java
+++ b/src/main/java/com/falsepattern/lib/util/ResourceUtil.java
@@ -24,6 +24,7 @@ package com.falsepattern.lib.util;
import com.falsepattern.lib.internal.FPLog;
import lombok.experimental.UtilityClass;
import lombok.val;
+import org.jetbrains.annotations.ApiStatus;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
@@ -35,9 +36,8 @@ import java.nio.charset.StandardCharsets;
/**
* A utility class for reading resources in many ways.
- *
- * @since 0.6.0
*/
+@ApiStatus.AvailableSince("0.6.0")
@UtilityClass
public final class ResourceUtil {