@@ -45,9 +45,7 @@ private void onPlayerQuit(PlayerQuitEvent event) {
4545 Player player = event. getPlayer();
4646
4747 this . getByPlayerUuid(player. getUniqueId()). ifPresent(team - > {
48- if (team. getMembers(). size() == 1 ) {
49- this . deleteTeam(team. getTeamId());
50- }
48+ team. removeMember(player);
5149 });
5250}
5351
@@ -89,20 +87,20 @@ private void runFoliaTeamUpdateTask() {
8987public class Team {
9088
9189 private final UUID teamId;
92- private final Set< Player > members;
90+ private final Map< UUID , Player > members;
9391
9492 public Team () {
9593 this . teamId = UUID . randomUUID();
96- this . members = Sets . newHashSet ();
94+ this . members = new HashMap<> ();
9795 }
9896
9997 public void addMember (Player player ) {
100- this . members. add( player);
98+ this . members. put(player . getUniqueId(), player);
10199 TeamApiExample . this . teamsByPlayerUuid. put(player. getUniqueId(), this );
102100 }
103101
104102 public void removeMember (Player player ) {
105- this . members. remove(player);
103+ this . members. remove(player. getUniqueId() );
106104 TeamApiExample . this . teamsByPlayerUuid. remove(player. getUniqueId());
107105
108106 Apollo . getPlayerManager(). getPlayer(player. getUniqueId())
@@ -130,20 +128,21 @@ public class Team {
130128
131129 // The refresh method used for updating members locations
132130 public void refresh () {
133- List<TeamMember > teammates = this . members. stream(). filter(Player :: isOnline)
131+ List<TeamMember > teammates = this . members. values()
132+ .stream(). filter(Player :: isOnline)
134133 .map(this :: createTeamMember)
135134 .collect(Collectors . toList());
136135
137- this . members. forEach(member - > Apollo . getPlayerManager(). getPlayer(member. getUniqueId())
136+ this . members. values() . forEach(member - > Apollo . getPlayerManager(). getPlayer(member. getUniqueId())
138137 .ifPresent(apolloPlayer - > TeamApiExample . this . teamModule. updateTeamMembers(apolloPlayer, teammates)));
139138 }
140139
141140 public UUID getTeamId () {
142141 return this . teamId;
143142 }
144143
145- public Set <Player > getMembers () {
146- return this . members;
144+ public Collection <Player > getMembers () {
145+ return this . members. values() ;
147146 }
148147
149148 @Override
@@ -256,9 +255,7 @@ private void onPlayerQuit(PlayerQuitEvent event) {
256255 Player player = event. getPlayer();
257256
258257 this . getByPlayerUuid(player. getUniqueId()). ifPresent(team - > {
259- if (team. getMembers(). size() == 1 ) {
260- this . deleteTeam(team. getTeamId());
261- }
258+ team. removeMember(player);
262259 });
263260}
264261
@@ -300,20 +297,20 @@ private void runFoliaTeamUpdateTask() {
300297public class Team {
301298
302299 private final UUID teamId;
303- private final Set< Player > members;
300+ private final Map< UUID , Player > members;
304301
305302 public Team () {
306303 this . teamId = UUID . randomUUID();
307- this . members = Sets . newHashSet ();
304+ this . members = new HashMap<> ();
308305 }
309306
310307 public void addMember (Player player ) {
311- this . members. add( player);
308+ this . members. put(player . getUniqueId(), player);
312309 TeamProtoExample . this . teamsByPlayerUuid. put(player. getUniqueId(), this );
313310 }
314311
315312 public void removeMember (Player player ) {
316- this . members. remove(player);
313+ this . members. remove(player. getUniqueId() );
317314 TeamProtoExample . this . teamsByPlayerUuid. remove(player. getUniqueId());
318315
319316 ResetTeamMembersMessage message = ResetTeamMembersMessage . getDefaultInstance();
@@ -336,23 +333,23 @@ public class Team {
336333
337334 // The refresh method used for updating members locations
338335 public void refresh () {
339- List<TeamMember > teammates = this . members. stream(). filter(Player :: isOnline)
336+ List<TeamMember > teammates = this . members. values() . stream(). filter(Player :: isOnline)
340337 .map(this :: createTeamMember)
341338 .collect(Collectors . toList());
342339
343340 UpdateTeamMembersMessage message = UpdateTeamMembersMessage . newBuilder()
344341 .addAllMembers(teammates)
345342 .build();
346343
347- this . members. forEach(member - > ProtobufPacketUtil . sendPacket(member, message));
344+ this . members. values() . forEach(member - > ProtobufPacketUtil . sendPacket(member, message));
348345 }
349346
350347 public UUID getTeamId () {
351348 return this . teamId;
352349 }
353350
354- public Set <Player > getMembers () {
355- return this . members;
351+ public Collection <Player > getMembers () {
352+ return this . members. values() ;
356353 }
357354
358355 @Override
@@ -399,9 +396,7 @@ private void onPlayerQuit(PlayerQuitEvent event) {
399396 Player player = event. getPlayer();
400397
401398 this . getByPlayerUuid(player. getUniqueId()). ifPresent(team - > {
402- if (team. getMembers(). size() == 1 ) {
403- this . deleteTeam(team. getTeamId());
404- }
399+ team. removeMember(player);
405400 });
406401}
407402
@@ -443,20 +438,20 @@ private void runFoliaTeamUpdateTask() {
443438public class Team {
444439
445440 private final UUID teamId;
446- private final Set< Player > members;
441+ private final Map< UUID , Player > members;
447442
448443 public Team () {
449444 this . teamId = UUID . randomUUID();
450- this . members = Sets . newHashSet ();
445+ this . members = new HashMap<> ();
451446 }
452447
453448 public void addMember (Player player ) {
454- this . members. add( player);
449+ this . members. put(player . getUniqueId(), player);
455450 TeamJsonExample . this . teamsByPlayerUuid. put(player. getUniqueId(), this );
456451 }
457452
458453 public void removeMember (Player player ) {
459- this . members. remove(player);
454+ this . members. remove(player. getUniqueId() );
460455 TeamJsonExample . this . teamsByPlayerUuid. remove(player. getUniqueId());
461456
462457 JsonObject message = new JsonObject ();
@@ -482,23 +477,24 @@ public class Team {
482477
483478 // The refresh method used for updating members locations
484479 public void refresh () {
485- JsonArray teammates = this . members. stream(). filter(Player :: isOnline)
480+ JsonArray teammates = this . members. values()
481+ .stream(). filter(Player :: isOnline)
486482 .map(this :: createTeamMember)
487483 .collect(JsonArray :: new , JsonArray::add, JsonArray::addAll);
488484
489485 JsonObject message = new JsonObject ();
490486 message. addProperty(" @type" , " type.googleapis.com/lunarclient.apollo.team.v1.UpdateTeamMembersMessage" );
491487 message. add(" members" , teammates);
492488
493- this . members. forEach(member - > JsonPacketUtil . sendPacket(member, message));
489+ this . members. values() . forEach(member - > JsonPacketUtil . sendPacket(member, message));
494490 }
495491
496492 public UUID getTeamId() {
497493 return this . teamId;
498494 }
499495
500- public Set <Player > getMembers() {
501- return this . members;
496+ public Collection <Player > getMembers() {
497+ return this . members. values() ;
502498 }
503499
504500 @Override
0 commit comments