Skip to content

Commit 1b2d634

Browse files
committed
Add customizable post step actions
1 parent 0e2b10c commit 1b2d634

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ plugins {
1111
}
1212

1313
group = "fr.formiko.mc.underilla"
14-
version = "2.1.1"
14+
version = "2.1.2"
1515
description="Generate vanilla cave in custom world."
1616
val mainMinecraftVersion = "1.21.4"
1717
val supportedMinecraftVersions = "1.21.3 - 1.21.4"

src/main/java/fr/formiko/mc/underilla/paper/Underilla.java

+7
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import fr.formiko.mc.underilla.paper.listener.WorldListener;
1717
import fr.formiko.mc.underilla.paper.preparing.ServerSetup;
1818
import fr.formiko.mc.underilla.paper.selector.Selector;
19+
import java.util.EnumMap;
1920
import java.util.Map;
2021
import java.util.function.Consumer;
2122
import java.util.function.Function;
@@ -52,6 +53,7 @@ public final class Underilla extends JavaPlugin {
5253
private Function<org.bukkit.block.Biome, org.bukkit.block.Biome> endBiomeTransformer;
5354
private Consumer<Block> endBlockTransformer;
5455
private Consumer<Entity> endEntityTransformer;
56+
private Map<StringKeys, Runnable> endTaskActions = new EnumMap<>(StringKeys.class);
5557

5658
@Override
5759
public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) {
@@ -211,6 +213,10 @@ public boolean allStepsDone() {
211213
}
212214
public void validateTask(StringKeys taskKey, boolean done) {
213215
getUnderillaConfig().saveNewValue(taskKey, done ? DONE : FAILED);
216+
if (done && endTaskActions.containsKey(taskKey)) {
217+
Underilla.info("Running post action for task " + taskKey);
218+
endTaskActions.get(taskKey).run();
219+
}
214220
runNextStepsAfterWorldInit();
215221
}
216222
public void validateInitServerTask(StringKeys taskKey, boolean done) {
@@ -232,6 +238,7 @@ public void setEndBiomeTransformer(Function<org.bukkit.block.Biome, org.bukkit.b
232238
public Consumer<Entity> getEndEntityTransformer() { return endEntityTransformer; }
233239
public void setEndEntityTransformer(Consumer<Entity> endEntityTransformer) { this.endEntityTransformer = endEntityTransformer; }
234240
public boolean hasEndEntityTransformer() { return endEntityTransformer != null; }
241+
public void setPostTaskAction(Runnable action, StringKeys taskKey) { endTaskActions.put(taskKey, action); }
235242

236243
// run tasks ------------------------------------------------------------------------------------------------------
237244
private void runChunky(boolean restart) {

0 commit comments

Comments
 (0)