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