aboutsummaryrefslogtreecommitdiff
path: root/api/src/main/java/me
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-02-01 21:15:23 +0800
committershedaniel <daniel@shedaniel.me>2022-02-01 21:15:23 +0800
commit87ffd039b745b4bea631c26a60731497c176988d (patch)
treee879f9933e1e3e23d682a5939a59e4f7656316f9 /api/src/main/java/me
parent986e99beb15303c825e30e383d134d543e6f54ae (diff)
downloadRoughlyEnoughItems-87ffd039b745b4bea631c26a60731497c176988d.tar.gz
RoughlyEnoughItems-87ffd039b745b4bea631c26a60731497c176988d.tar.bz2
RoughlyEnoughItems-87ffd039b745b4bea631c26a60731497c176988d.zip
Add progress bar to plugin reloads
Diffstat (limited to 'api/src/main/java/me')
-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}
*