Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 29 additions & 33 deletions docs/developers/modules/team.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,7 @@ private void onPlayerQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();

this.getByPlayerUuid(player.getUniqueId()).ifPresent(team -> {
if (team.getMembers().size() == 1) {
this.deleteTeam(team.getTeamId());
}
team.removeMember(player);
});
}

Expand Down Expand Up @@ -89,20 +87,20 @@ private void runFoliaTeamUpdateTask() {
public class Team {

private final UUID teamId;
private final Set<Player> members;
private final Map<UUID, Player> members;

public Team() {
this.teamId = UUID.randomUUID();
this.members = Sets.newHashSet();
this.members = new HashMap<>();
}

public void addMember(Player player) {
this.members.add(player);
this.members.put(player.getUniqueId(), player);
TeamApiExample.this.teamsByPlayerUuid.put(player.getUniqueId(), this);
}

public void removeMember(Player player) {
this.members.remove(player);
this.members.remove(player.getUniqueId());
TeamApiExample.this.teamsByPlayerUuid.remove(player.getUniqueId());

Apollo.getPlayerManager().getPlayer(player.getUniqueId())
Expand Down Expand Up @@ -130,20 +128,21 @@ public class Team {

// The refresh method used for updating members locations
public void refresh() {
List<TeamMember> teammates = this.members.stream().filter(Player::isOnline)
List<TeamMember> teammates = this.members.values()
.stream().filter(Player::isOnline)
.map(this::createTeamMember)
.collect(Collectors.toList());

this.members.forEach(member -> Apollo.getPlayerManager().getPlayer(member.getUniqueId())
this.members.values().forEach(member -> Apollo.getPlayerManager().getPlayer(member.getUniqueId())
.ifPresent(apolloPlayer -> TeamApiExample.this.teamModule.updateTeamMembers(apolloPlayer, teammates)));
}

public UUID getTeamId() {
return this.teamId;
}

public Set<Player> getMembers() {
return this.members;
public Collection<Player> getMembers() {
return this.members.values();
}

@Override
Expand Down Expand Up @@ -256,9 +255,7 @@ private void onPlayerQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();

this.getByPlayerUuid(player.getUniqueId()).ifPresent(team -> {
if (team.getMembers().size() == 1) {
this.deleteTeam(team.getTeamId());
}
team.removeMember(player);
});
}

Expand Down Expand Up @@ -300,20 +297,20 @@ private void runFoliaTeamUpdateTask() {
public class Team {

private final UUID teamId;
private final Set<Player> members;
private final Map<UUID, Player> members;

public Team() {
this.teamId = UUID.randomUUID();
this.members = Sets.newHashSet();
this.members = new HashMap<>();
}

public void addMember(Player player) {
this.members.add(player);
this.members.put(player.getUniqueId(), player);
TeamProtoExample.this.teamsByPlayerUuid.put(player.getUniqueId(), this);
}

public void removeMember(Player player) {
this.members.remove(player);
this.members.remove(player.getUniqueId());
TeamProtoExample.this.teamsByPlayerUuid.remove(player.getUniqueId());

ResetTeamMembersMessage message = ResetTeamMembersMessage.getDefaultInstance();
Expand All @@ -336,23 +333,23 @@ public class Team {

// The refresh method used for updating members locations
public void refresh() {
List<TeamMember> teammates = this.members.stream().filter(Player::isOnline)
List<TeamMember> teammates = this.members.values().stream().filter(Player::isOnline)
.map(this::createTeamMember)
.collect(Collectors.toList());

UpdateTeamMembersMessage message = UpdateTeamMembersMessage.newBuilder()
.addAllMembers(teammates)
.build();

this.members.forEach(member -> ProtobufPacketUtil.sendPacket(member, message));
this.members.values().forEach(member -> ProtobufPacketUtil.sendPacket(member, message));
}

public UUID getTeamId() {
return this.teamId;
}

public Set<Player> getMembers() {
return this.members;
public Collection<Player> getMembers() {
return this.members.values();
}

@Override
Expand Down Expand Up @@ -399,9 +396,7 @@ private void onPlayerQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();

this.getByPlayerUuid(player.getUniqueId()).ifPresent(team -> {
if (team.getMembers().size() == 1) {
this.deleteTeam(team.getTeamId());
}
team.removeMember(player);
});
}

Expand Down Expand Up @@ -443,20 +438,20 @@ private void runFoliaTeamUpdateTask() {
public class Team {

private final UUID teamId;
private final Set<Player> members;
private final Map<UUID, Player> members;

public Team() {
this.teamId = UUID.randomUUID();
this.members = Sets.newHashSet();
this.members = new HashMap<>();
}

public void addMember(Player player) {
this.members.add(player);
this.members.put(player.getUniqueId(), player);
TeamJsonExample.this.teamsByPlayerUuid.put(player.getUniqueId(), this);
}

public void removeMember(Player player) {
this.members.remove(player);
this.members.remove(player.getUniqueId());
TeamJsonExample.this.teamsByPlayerUuid.remove(player.getUniqueId());

JsonObject message = new JsonObject();
Expand All @@ -482,23 +477,24 @@ public class Team {

// The refresh method used for updating members locations
public void refresh() {
JsonArray teammates = this.members.stream().filter(Player::isOnline)
JsonArray teammates = this.members.values()
.stream().filter(Player::isOnline)
.map(this::createTeamMember)
.collect(JsonArray::new, JsonArray::add, JsonArray::addAll);

JsonObject message = new JsonObject();
message.addProperty("@type", "type.googleapis.com/lunarclient.apollo.team.v1.UpdateTeamMembersMessage");
message.add("members", teammates);

this.members.forEach(member -> JsonPacketUtil.sendPacket(member, message));
this.members.values().forEach(member -> JsonPacketUtil.sendPacket(member, message));
}

public UUID getTeamId() {
return this.teamId;
}

public Set<Player> getMembers() {
return this.members;
public Collection<Player> getMembers() {
return this.members.values();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
package com.lunarclient.apollo.example.api.module;

import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.lunarclient.apollo.Apollo;
import com.lunarclient.apollo.common.location.ApolloLocation;
import com.lunarclient.apollo.example.ApolloExamplePlugin;
Expand All @@ -33,10 +32,11 @@
import com.lunarclient.apollo.module.team.TeamMember;
import com.lunarclient.apollo.module.team.TeamModule;
import java.awt.Color;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -71,9 +71,7 @@ private void onPlayerQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();

this.getByPlayerUuid(player.getUniqueId()).ifPresent(team -> {
if (team.getMembers().size() == 1) {
this.deleteTeam(team.getTeamId());
}
team.removeMember(player);
});
}

Expand Down Expand Up @@ -115,20 +113,20 @@ private void runFoliaTeamUpdateTask() {
public class Team {

private final UUID teamId;
private final Set<Player> members;
private final Map<UUID, Player> members;

public Team() {
this.teamId = UUID.randomUUID();
this.members = Sets.newHashSet();
this.members = new HashMap<>();
}

public void addMember(Player player) {
this.members.add(player);
this.members.put(player.getUniqueId(), player);
TeamApiExample.this.teamsByPlayerUuid.put(player.getUniqueId(), this);
}

public void removeMember(Player player) {
this.members.remove(player);
this.members.remove(player.getUniqueId());
TeamApiExample.this.teamsByPlayerUuid.remove(player.getUniqueId());

Apollo.getPlayerManager().getPlayer(player.getUniqueId())
Expand Down Expand Up @@ -156,20 +154,21 @@ private TeamMember createTeamMember(Player member) {

// The refresh method used for updating members locations
public void refresh() {
List<TeamMember> teammates = this.members.stream().filter(Player::isOnline)
List<TeamMember> teammates = this.members.values()
.stream().filter(Player::isOnline)
.map(this::createTeamMember)
.collect(Collectors.toList());

this.members.forEach(member -> Apollo.getPlayerManager().getPlayer(member.getUniqueId())
this.members.values().forEach(member -> Apollo.getPlayerManager().getPlayer(member.getUniqueId())
.ifPresent(apolloPlayer -> TeamApiExample.this.teamModule.updateTeamMembers(apolloPlayer, teammates)));
}

public UUID getTeamId() {
return this.teamId;
}

public Set<Player> getMembers() {
return this.members;
public Collection<Player> getMembers() {
return this.members.values();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
package com.lunarclient.apollo.example.json.module;

import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.lunarclient.apollo.example.ApolloExamplePlugin;
Expand All @@ -34,9 +33,10 @@
import com.lunarclient.apollo.example.module.impl.TeamExample;
import com.lunarclient.apollo.example.util.ServerUtil;
import java.awt.Color;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import net.kyori.adventure.text.Component;
Expand Down Expand Up @@ -67,9 +67,7 @@ private void onPlayerQuit(PlayerQuitEvent event) {
Player player = event.getPlayer();

this.getByPlayerUuid(player.getUniqueId()).ifPresent(team -> {
if (team.getMembers().size() == 1) {
this.deleteTeam(team.getTeamId());
}
team.removeMember(player);
});
}

Expand Down Expand Up @@ -111,20 +109,20 @@ private void runFoliaTeamUpdateTask() {
public class Team {

private final UUID teamId;
private final Set<Player> members;
private final Map<UUID, Player> members;

public Team() {
this.teamId = UUID.randomUUID();
this.members = Sets.newHashSet();
this.members = new HashMap<>();
}

public void addMember(Player player) {
this.members.add(player);
this.members.put(player.getUniqueId(), player);
TeamJsonExample.this.teamsByPlayerUuid.put(player.getUniqueId(), this);
}

public void removeMember(Player player) {
this.members.remove(player);
this.members.remove(player.getUniqueId());
TeamJsonExample.this.teamsByPlayerUuid.remove(player.getUniqueId());

JsonObject message = new JsonObject();
Expand All @@ -150,23 +148,24 @@ private JsonObject createTeamMember(Player member) {

// The refresh method used for updating members locations
public void refresh() {
JsonArray teammates = this.members.stream().filter(Player::isOnline)
JsonArray teammates = this.members.values()
.stream().filter(Player::isOnline)
.map(this::createTeamMember)
.collect(JsonArray::new, JsonArray::add, JsonArray::addAll);

JsonObject message = new JsonObject();
message.addProperty("@type", "type.googleapis.com/lunarclient.apollo.team.v1.UpdateTeamMembersMessage");
message.add("members", teammates);

this.members.forEach(member -> JsonPacketUtil.sendPacket(member, message));
this.members.values().forEach(member -> JsonPacketUtil.sendPacket(member, message));
}

public UUID getTeamId() {
return this.teamId;
}

public Set<Player> getMembers() {
return this.members;
public Collection<Player> getMembers() {
return this.members.values();
}

@Override
Expand Down
Loading
Loading