66import net .thenextlvl .service .model .group .GroupManagerGroup ;
77import net .thenextlvl .service .model .permission .GroupManagerPermissionHolder ;
88import org .anjocaido .groupmanager .GroupManager ;
9+ import org .anjocaido .groupmanager .dataholder .OverloadedWorldHolder ;
910import org .anjocaido .groupmanager .dataholder .WorldDataHolder ;
10- import org .bukkit .OfflinePlayer ;
1111import org .bukkit .World ;
1212import org .bukkit .plugin .Plugin ;
1313import org .bukkit .plugin .java .JavaPlugin ;
@@ -32,59 +32,30 @@ public CompletableFuture<Group> createGroup(String name) {
3232 }
3333
3434 @ Override
35- public CompletableFuture <Group > createGroup (String name , World world ) {
35+ public CompletableFuture <Group > createGroup (String name , @ Nullable World world ) {
36+ if (world == null ) return createGroup (name );
3637 var holder = groupManager .getWorldsHolder ().getWorldData (world .getName ());
3738 if (holder == null ) return CompletableFuture .completedFuture (null );
3839 return CompletableFuture .completedFuture (new GroupManagerGroup (holder .createGroup (name )));
3940 }
4041
4142 @ Override
42- public CompletableFuture <Group > loadGroup (String name ) {
43- return CompletableFuture .completedFuture (getGroup (name ).orElse (null ));
44- }
45-
46- @ Override
47- public CompletableFuture <Group > loadGroup (String name , World world ) {
43+ public CompletableFuture <Group > loadGroup (String name , @ Nullable World world ) {
4844 return CompletableFuture .completedFuture (getGroup (name , world ).orElse (null ));
4945 }
5046
5147 @ Override
52- public CompletableFuture <GroupHolder > loadGroupHolder (OfflinePlayer player ) {
53- return CompletableFuture .completedFuture (getGroupHolder (player ).orElse (null ));
54- }
55-
56- @ Override
57- public CompletableFuture <GroupHolder > loadGroupHolder (OfflinePlayer player , World world ) {
58- return CompletableFuture .completedFuture (getGroupHolder (player , world ).orElse (null ));
59- }
60-
61- @ Override
62- public CompletableFuture <GroupHolder > loadGroupHolder (UUID uuid ) {
63- return CompletableFuture .completedFuture (getGroupHolder (uuid ).orElse (null ));
64- }
65-
66- @ Override
67- public CompletableFuture <GroupHolder > loadGroupHolder (UUID uuid , World world ) {
48+ public CompletableFuture <GroupHolder > loadGroupHolder (UUID uuid , @ Nullable World world ) {
6849 return CompletableFuture .completedFuture (getGroupHolder (uuid , world ).orElse (null ));
6950 }
7051
7152 @ Override
72- public CompletableFuture <Set <Group >> loadGroups () {
73- return CompletableFuture .completedFuture (getGroups ());
74- }
75-
76- @ Override
77- public CompletableFuture <Set <Group >> loadGroups (World world ) {
53+ public CompletableFuture <Set <Group >> loadGroups (@ Nullable World world ) {
7854 return CompletableFuture .completedFuture (getGroups (world ));
7955 }
8056
8157 @ Override
82- public CompletableFuture <Boolean > deleteGroup (Group group ) {
83- return deleteGroup (group .getName ());
84- }
85-
86- @ Override
87- public CompletableFuture <Boolean > deleteGroup (Group group , World world ) {
58+ public CompletableFuture <Boolean > deleteGroup (Group group , @ Nullable World world ) {
8859 return deleteGroup (group .getName (), world );
8960 }
9061
@@ -94,7 +65,8 @@ public CompletableFuture<Boolean> deleteGroup(String name) {
9465 }
9566
9667 @ Override
97- public CompletableFuture <Boolean > deleteGroup (String name , World world ) {
68+ public CompletableFuture <Boolean > deleteGroup (String name , @ Nullable World world ) {
69+ if (world == null ) return deleteGroup (name );
9870 var holder = groupManager .getWorldsHolder ().getWorldData (world .getName ());
9971 if (holder != null ) CompletableFuture .completedFuture (holder .removeGroup (name ));
10072 return CompletableFuture .completedFuture (null );
@@ -107,35 +79,17 @@ public Optional<Group> getGroup(String name) {
10779 }
10880
10981 @ Override
110- public Optional <Group > getGroup (String name , World world ) {
82+ public Optional <Group > getGroup (String name , @ Nullable World world ) {
83+ if (world == null ) return getGroup (name );
11184 var holder = groupManager .getWorldsHolder ().getWorldData (world .getName ());
11285 return Optional .ofNullable (holder )
11386 .map (holder1 -> holder1 .getGroup (name ))
11487 .map (GroupManagerGroup ::new );
11588 }
11689
11790 @ Override
118- public Optional <GroupHolder > getGroupHolder (OfflinePlayer player ) {
119- var holder = groupManager .getWorldsHolder ().getDefaultWorld ();
120- return getHolder (holder , player .getUniqueId (), player .getName ());
121- }
122-
123- @ Override
124- public Optional <GroupHolder > getGroupHolder (OfflinePlayer player , World world ) {
125- var holder = groupManager .getWorldsHolder ().getWorldData (world .getName ());
126- return getHolder (holder , player .getUniqueId (), player .getName ());
127- }
128-
129- @ Override
130- public Optional <GroupHolder > getGroupHolder (UUID uuid ) {
131- var holder = groupManager .getWorldsHolder ().getDefaultWorld ();
132- return getHolder (holder , uuid , null );
133- }
134-
135- @ Override
136- public Optional <GroupHolder > getGroupHolder (UUID uuid , World world ) {
137- var holder = groupManager .getWorldsHolder ().getWorldData (world .getName ());
138- return getHolder (holder , uuid , null );
91+ public Optional <GroupHolder > getGroupHolder (UUID uuid , @ Nullable World world ) {
92+ return getHolder (getHolder (world ), uuid , null );
13993 }
14094
14195 @ Override
@@ -146,14 +100,20 @@ public Set<Group> getGroups() {
146100 }
147101
148102 @ Override
149- public Set <Group > getGroups (World world ) {
150- var holder = groupManager .getWorldsHolder ().getWorldData (world .getName ());
103+ public Set <Group > getGroups (@ Nullable World world ) {
104+ if (world == null ) return getGroups ();
105+ var holder = getHolder (world );
151106 if (holder == null ) return Set .of ();
152107 return holder .getGroups ().values ().stream ()
153108 .map (GroupManagerGroup ::new )
154109 .collect (Collectors .toUnmodifiableSet ());
155110 }
156111
112+ private @ Nullable OverloadedWorldHolder getHolder (@ Nullable World world ) {
113+ if (world == null ) return groupManager .getWorldsHolder ().getDefaultWorld ();
114+ return groupManager .getWorldsHolder ().getWorldData (world .getName ());
115+ }
116+
157117 private Optional <GroupHolder > getHolder (@ Nullable WorldDataHolder holder , UUID uuid , @ Nullable String name ) {
158118 if (holder == null ) return Optional .empty ();
159119 var user = name != null ? holder .getUser (uuid .toString (), name ) : holder .getUser (uuid .toString ());
0 commit comments