@@ -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