diff --git a/cardinal-components-base/src/main/java/dev/onyxstudios/cca/api/v3/component/ClientTickingComponent.java b/cardinal-components-base/src/main/java/dev/onyxstudios/cca/api/v3/component/ClientTickingComponent.java index c4b1ef9a..40b669a1 100644 --- a/cardinal-components-base/src/main/java/dev/onyxstudios/cca/api/v3/component/ClientTickingComponent.java +++ b/cardinal-components-base/src/main/java/dev/onyxstudios/cca/api/v3/component/ClientTickingComponent.java @@ -22,11 +22,19 @@ */ package dev.onyxstudios.cca.api.v3.component; +import net.minecraft.util.Identifier; +import org.jetbrains.annotations.ApiStatus; + /** * A component that gets ticked alongside the provider it is attached to. * + *
This interface must be visible at factory registration time - which means the class implementing it + * must either be the parameter to {@link ComponentRegistryV3#getOrCreate(Identifier, Class)} or declared explicitly + * using a dedicated method on the factory registry. + * *
Not every provider supports client ticking. Check individual module documentation for more information. */ +@ApiStatus.Experimental public interface ClientTickingComponent extends ComponentV3 { void clientTick(); } diff --git a/cardinal-components-base/src/main/java/dev/onyxstudios/cca/api/v3/component/ServerTickingComponent.java b/cardinal-components-base/src/main/java/dev/onyxstudios/cca/api/v3/component/ServerTickingComponent.java index 3e19fcd3..a38b79e5 100644 --- a/cardinal-components-base/src/main/java/dev/onyxstudios/cca/api/v3/component/ServerTickingComponent.java +++ b/cardinal-components-base/src/main/java/dev/onyxstudios/cca/api/v3/component/ServerTickingComponent.java @@ -22,9 +22,17 @@ */ package dev.onyxstudios.cca.api.v3.component; +import net.minecraft.util.Identifier; +import org.jetbrains.annotations.ApiStatus; + /** * A component that gets ticked alongside the provider it is attached to. + * + *
This interface must be visible at factory registration time - which means the class implementing it
+ * must either be the parameter to {@link ComponentRegistryV3#getOrCreate(Identifier, Class)} or declared explicitly
+ * using a dedicated method on the factory registry.
*/
+@ApiStatus.Experimental
public interface ServerTickingComponent extends ComponentV3 {
void tick();
}
diff --git a/cardinal-components-scoreboard/src/main/java/dev/onyxstudios/cca/api/v3/scoreboard/ScoreboardSyncCallback.java b/cardinal-components-scoreboard/src/main/java/dev/onyxstudios/cca/api/v3/scoreboard/ScoreboardSyncCallback.java
index 8633d824..a6aeb9a7 100644
--- a/cardinal-components-scoreboard/src/main/java/dev/onyxstudios/cca/api/v3/scoreboard/ScoreboardSyncCallback.java
+++ b/cardinal-components-scoreboard/src/main/java/dev/onyxstudios/cca/api/v3/scoreboard/ScoreboardSyncCallback.java
@@ -26,11 +26,13 @@
import net.fabricmc.fabric.api.event.EventFactory;
import net.minecraft.scoreboard.Scoreboard;
import net.minecraft.server.network.ServerPlayerEntity;
+import org.jetbrains.annotations.ApiStatus;
/**
* The callback interface for receiving scoreboard synchronization events.
*/
@FunctionalInterface
+@ApiStatus.Experimental
public interface ScoreboardSyncCallback {
Event