6
6
import net .thenextlvl .service .model .group .GroupManagerGroup ;
7
7
import net .thenextlvl .service .model .permission .GroupManagerPermissionHolder ;
8
8
import org .anjocaido .groupmanager .GroupManager ;
9
+ import org .anjocaido .groupmanager .dataholder .OverloadedWorldHolder ;
9
10
import org .anjocaido .groupmanager .dataholder .WorldDataHolder ;
10
- import org .bukkit .OfflinePlayer ;
11
11
import org .bukkit .World ;
12
12
import org .bukkit .plugin .Plugin ;
13
13
import org .bukkit .plugin .java .JavaPlugin ;
@@ -32,59 +32,30 @@ public CompletableFuture<Group> createGroup(String name) {
32
32
}
33
33
34
34
@ 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 );
36
37
var holder = groupManager .getWorldsHolder ().getWorldData (world .getName ());
37
38
if (holder == null ) return CompletableFuture .completedFuture (null );
38
39
return CompletableFuture .completedFuture (new GroupManagerGroup (holder .createGroup (name )));
39
40
}
40
41
41
42
@ 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 ) {
48
44
return CompletableFuture .completedFuture (getGroup (name , world ).orElse (null ));
49
45
}
50
46
51
47
@ 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 ) {
68
49
return CompletableFuture .completedFuture (getGroupHolder (uuid , world ).orElse (null ));
69
50
}
70
51
71
52
@ 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 ) {
78
54
return CompletableFuture .completedFuture (getGroups (world ));
79
55
}
80
56
81
57
@ 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 ) {
88
59
return deleteGroup (group .getName (), world );
89
60
}
90
61
@@ -94,7 +65,8 @@ public CompletableFuture<Boolean> deleteGroup(String name) {
94
65
}
95
66
96
67
@ 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 );
98
70
var holder = groupManager .getWorldsHolder ().getWorldData (world .getName ());
99
71
if (holder != null ) CompletableFuture .completedFuture (holder .removeGroup (name ));
100
72
return CompletableFuture .completedFuture (null );
@@ -107,35 +79,17 @@ public Optional<Group> getGroup(String name) {
107
79
}
108
80
109
81
@ 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 );
111
84
var holder = groupManager .getWorldsHolder ().getWorldData (world .getName ());
112
85
return Optional .ofNullable (holder )
113
86
.map (holder1 -> holder1 .getGroup (name ))
114
87
.map (GroupManagerGroup ::new );
115
88
}
116
89
117
90
@ 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 );
139
93
}
140
94
141
95
@ Override
@@ -146,14 +100,20 @@ public Set<Group> getGroups() {
146
100
}
147
101
148
102
@ 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 );
151
106
if (holder == null ) return Set .of ();
152
107
return holder .getGroups ().values ().stream ()
153
108
.map (GroupManagerGroup ::new )
154
109
.collect (Collectors .toUnmodifiableSet ());
155
110
}
156
111
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
+
157
117
private Optional <GroupHolder > getHolder (@ Nullable WorldDataHolder holder , UUID uuid , @ Nullable String name ) {
158
118
if (holder == null ) return Optional .empty ();
159
119
var user = name != null ? holder .getUser (uuid .toString (), name ) : holder .getUser (uuid .toString ());
0 commit comments