Skip to content

Commit cde8a7e

Browse files
committed
Refactor import notice messaging and scheduling
1 parent 519f673 commit cde8a7e

1 file changed

Lines changed: 13 additions & 10 deletions

File tree

src/main/java/net/thenextlvl/perworlds/PerWorldsPlugin.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import java.io.IOException;
3434
import java.nio.file.Files;
3535
import java.nio.file.Path;
36+
import java.util.List;
3637
import java.util.Locale;
3738
import java.util.Objects;
3839
import java.util.Set;
@@ -122,20 +123,22 @@ private void registerServices() {
122123
}
123124

124125
private void scheduleDelayedInitTask() {
125-
final var pluginsFolder = getServer().getPluginsFolder().toPath();
126126
if (!groupsExist || config().migrateToGroup == null)
127127
getServer().getGlobalRegionScheduler().execute(this, this::setupNotice);
128-
final var importers = this.importers.stream().filter(Importer::isAvailable).map(Importer::getName).toList();
129-
for (final var importer : importers) {
130-
getServer().getGlobalRegionScheduler().execute(this, () -> importNotice(importer));
131-
}
128+
getServer().getGlobalRegionScheduler().execute(this, () -> {
129+
this.importers.stream().filter(Importer::isAvailable).forEach(this::importNotice);
130+
});
132131
}
133132

134-
private void importNotice(final String pluginName) {
135-
final var separator = "-".repeat(86);
133+
private void importNotice(final Importer importer) {
134+
final var notice = List.of(
135+
"It appears you have been using " + importer.getName() + " before!",
136+
"To migrate your data to PerWorlds, run '/world group import " + importer.getName() + "'",
137+
"This message will disappear as soon as you delete the folder '" + importer.getDataPath() + "'"
138+
);
139+
final var separator = "-".repeat(notice.stream().mapToInt(String::length).max().orElse(0));
136140
getComponentLogger().info(separator);
137-
getComponentLogger().info("It appears you have been using {} before!", pluginName);
138-
getComponentLogger().info("To migrate your data to PerWorlds, run '/world group import {}'", pluginName);
141+
notice.forEach(getComponentLogger()::info);
139142
getComponentLogger().info(separator);
140143
}
141144

@@ -215,7 +218,7 @@ private void registerCommands() {
215218
event.registrar().register(command, "The main command to interact with this plugin");
216219
});
217220
}
218-
221+
219222
public Set<Importer> importers() {
220223
return importers;
221224
}

0 commit comments

Comments
 (0)