16
16
import fr .formiko .mc .underilla .paper .listener .WorldListener ;
17
17
import fr .formiko .mc .underilla .paper .preparing .ServerSetup ;
18
18
import fr .formiko .mc .underilla .paper .selector .Selector ;
19
+ import java .util .EnumMap ;
19
20
import java .util .Map ;
20
21
import java .util .function .Consumer ;
21
22
import java .util .function .Function ;
@@ -52,6 +53,7 @@ public final class Underilla extends JavaPlugin {
52
53
private Function <org .bukkit .block .Biome , org .bukkit .block .Biome > endBiomeTransformer ;
53
54
private Consumer <Block > endBlockTransformer ;
54
55
private Consumer <Entity > endEntityTransformer ;
56
+ private Map <StringKeys , Runnable > endTaskActions = new EnumMap <>(StringKeys .class );
55
57
56
58
@ Override
57
59
public ChunkGenerator getDefaultWorldGenerator (String worldName , String id ) {
@@ -211,6 +213,10 @@ public boolean allStepsDone() {
211
213
}
212
214
public void validateTask (StringKeys taskKey , boolean done ) {
213
215
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
+ }
214
220
runNextStepsAfterWorldInit ();
215
221
}
216
222
public void validateInitServerTask (StringKeys taskKey , boolean done ) {
@@ -232,6 +238,7 @@ public void setEndBiomeTransformer(Function<org.bukkit.block.Biome, org.bukkit.b
232
238
public Consumer <Entity > getEndEntityTransformer () { return endEntityTransformer ; }
233
239
public void setEndEntityTransformer (Consumer <Entity > endEntityTransformer ) { this .endEntityTransformer = endEntityTransformer ; }
234
240
public boolean hasEndEntityTransformer () { return endEntityTransformer != null ; }
241
+ public void setPostTaskAction (Runnable action , StringKeys taskKey ) { endTaskActions .put (taskKey , action ); }
235
242
236
243
// run tasks ------------------------------------------------------------------------------------------------------
237
244
private void runChunky (boolean restart ) {
0 commit comments