aboutsummaryrefslogtreecommitdiff
path: root/api/src
diff options
context:
space:
mode:
Diffstat (limited to 'api/src')
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/registry/ParentReloadable.java14
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/registry/Reloadable.java13
2 files changed, 27 insertions, 0 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/registry/ParentReloadable.java b/api/src/main/java/me/shedaniel/rei/api/common/registry/ParentReloadable.java
index 9dfae6dd5..44039e240 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/registry/ParentReloadable.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/registry/ParentReloadable.java
@@ -59,4 +59,18 @@ public interface ParentReloadable<P extends REIPlugin<?>> extends Reloadable<P>
reloadable.endReload(stage);
}
}
+
+ @Override
+ default void beforeReloadable(ReloadStage stage, Reloadable<P> other) {
+ for (Reloadable<P> reloadable : getReloadables()) {
+ reloadable.beforeReloadable(stage, other);
+ }
+ }
+
+ @Override
+ default void afterReloadable(ReloadStage stage, Reloadable<P> other) {
+ for (Reloadable<P> reloadable : getReloadables()) {
+ reloadable.afterReloadable(stage, other);
+ }
+ }
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/registry/Reloadable.java b/api/src/main/java/me/shedaniel/rei/api/common/registry/Reloadable.java
index 0bf2cd1b2..8040930e9 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/registry/Reloadable.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/registry/Reloadable.java
@@ -24,6 +24,7 @@
package me.shedaniel.rei.api.common.registry;
import me.shedaniel.rei.api.common.plugins.REIPlugin;
+import org.jetbrains.annotations.ApiStatus;
@FunctionalInterface
public interface Reloadable<P extends REIPlugin<?>> {
@@ -47,6 +48,18 @@ public interface Reloadable<P extends REIPlugin<?>> {
}
}
+ @ApiStatus.Experimental
+ default void beforeReloadable(ReloadStage stage, Reloadable<P> other) {}
+
+ @ApiStatus.Experimental
+ default void afterReloadable(ReloadStage stage, Reloadable<P> other) {}
+
+ @ApiStatus.Experimental
+ default void beforeReloadablePlugin(ReloadStage stage, Reloadable<P> other, P plugin) {}
+
+ @ApiStatus.Experimental
+ default void afterReloadablePlugin(ReloadStage stage, Reloadable<P> other, P plugin) {}
+
/**
* Accepts a {@link REIPlugin}
*