Skip to content

Commit

Permalink
Create RankedTeamTabEntry to display tab list MMR
Browse files Browse the repository at this point in the history
  • Loading branch information
Pugzy authored Apr 2, 2021
1 parent 963426d commit 35082ec
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/main/java/rip/bolt/ingame/api/definitions/Team.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public class Team implements TournamentTeam {

private Integer id;
private String name;
private String mmr;
private List<Participation> participations;

public Team() {}
Expand All @@ -42,6 +43,14 @@ public void setName(String name) {
this.name = name;
}

public String getMmr() {
return mmr;
}

public void setMmr(String mmr) {
this.mmr = mmr;
}

public List<Participation> getParticipations() {
return participations;
}
Expand Down
56 changes: 56 additions & 0 deletions src/main/java/rip/bolt/ingame/utils/RankedTeamTabEntry.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package rip.bolt.ingame.utils;

import dev.pgm.events.Tournament;
import dev.pgm.events.team.TournamentTeam;
import java.util.Arrays;
import java.util.Optional;
import javax.annotation.Nullable;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TextComponent;
import rip.bolt.ingame.api.definitions.Team;
import tc.oc.pgm.tablist.TeamTabEntry;
import tc.oc.pgm.util.tablist.TabView;

public class RankedTeamTabEntry extends TeamTabEntry {

@Nullable private BaseComponent mmrComponent;
private tc.oc.pgm.teams.Team team;

public RankedTeamTabEntry(tc.oc.pgm.teams.Team team) {
super(team);

this.team = team;
}

@Override
public BaseComponent[] getContent(TabView view) {
BaseComponent[] base = super.getContent(view);

if (mmrComponent == null) mmrComponent = getMmrComponent();

if (mmrComponent != null) {
base = Arrays.copyOf(base, base.length + 1);
base[base.length - 1] = mmrComponent;
}

return base;
}

private BaseComponent getMmrComponent() {
Optional<TournamentTeam> tournamentTeam =
Tournament.get().getTeamManager().tournamentTeam(team);

return tournamentTeam
.filter(t -> t instanceof Team)
.map(t -> (Team) t)
.map(t -> new TextComponent(" " + t.getMmr()))
.map(
c -> {
c.setColor(ChatColor.GRAY);
c.setItalic(true);
return c;
})
.orElse(null);
}
}

0 comments on commit 35082ec

Please sign in to comment.