Skip to content

Commit 6a2162e

Browse files
authored
Merge pull request #6 from TheNextLvl-net/default-group
Added default group creation on first startup
2 parents a66b518 + 4249ad3 commit 6a2162e

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

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

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public class PerWorldsPlugin extends JavaPlugin {
4343
.build();
4444

4545
private final PaperGroupProvider provider = new PaperGroupProvider(this);
46+
private final boolean groupsExist = Files.exists(provider.getDataFolder());
4647

4748
public PerWorldsPlugin() {
4849
registerCommands();
@@ -58,6 +59,7 @@ public void onLoad() {
5859

5960
@Override
6061
public void onEnable() {
62+
scheduleDefaultGroupCreation();
6163
registerListeners();
6264
warnWorldManager();
6365
}
@@ -84,6 +86,24 @@ private void registerListeners() {
8486
getServer().getPluginManager().registerEvents(new WorldsListener(provider), this);
8587
}
8688

89+
private void scheduleDefaultGroupCreation() {
90+
if (groupsExist) return;
91+
getServer().getScheduler().runTaskLater(this, () -> {
92+
var defaultGroupName = "default";
93+
94+
var defaultGroup = groupProvider().getGroup(defaultGroupName)
95+
.orElseGet(() -> groupProvider().createGroup(defaultGroupName));
96+
97+
var overworld = getServer().getWorld(Key.key(Key.MINECRAFT_NAMESPACE, "overworld"));
98+
var nether = getServer().getWorld(Key.key(Key.MINECRAFT_NAMESPACE, "the_nether"));
99+
var end = getServer().getWorld(Key.key(Key.MINECRAFT_NAMESPACE, "the_end"));
100+
101+
if (overworld != null) defaultGroup.addWorld(overworld);
102+
if (nether != null) defaultGroup.addWorld(nether);
103+
if (end != null) defaultGroup.addWorld(end);
104+
}, 10);
105+
}
106+
87107
private void warnWorldManager() {
88108
var plugin = knownWorldManagers.stream()
89109
.filter(name -> !name.equals("Worlds"))
@@ -99,8 +119,8 @@ private void warnWorldManager() {
99119
}
100120

101121
private void loadGroups() {
122+
if (!groupsExist) return;
102123
var suffix = ".dat";
103-
if (!Files.exists(provider.getDataFolder())) return;
104124
try (var files = Files.list(provider.getDataFolder())) {
105125
files.map(path -> path.getFileName().toString())
106126
.filter(name -> name.endsWith(suffix))

0 commit comments

Comments
 (0)