Skip to content

Commit acbf4d3

Browse files
committed
Team Status in scoreboard
1 parent 0f530d7 commit acbf4d3

File tree

3 files changed

+64
-27
lines changed

3 files changed

+64
-27
lines changed

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SBA_VERSION=1.5.7-dev24
1+
SBA_VERSION=1.5.7-dev25
22

33
PAPER_LEGACY_VERSION=1.16.5
44
BEDWARS_VERSION=0.2.23

plugin/src/main/java/io/github/pronze/sba/config/SBAConfig.java

+43-5
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,42 @@ public void loadDefaults() {
359359
}
360360
}
361361

362+
public TeamStatusConfig teamStatus() {
363+
return new TeamStatusConfig();
364+
}
365+
366+
public class TeamStatusConfig {
367+
/*
368+
* .section("team-status")
369+
* .key("target-destroyed").defValue("§c\u2717")
370+
* .key("target-exists").defValue("§a\u2713")
371+
* .key("alive").defValue("%color% %team% §a\u2713 §8%you%")
372+
* .key("destroyed").defValue("%color% %team% §a§f%players%§8 %you%")
373+
* .key("eliminated").defValue("%color% %team% §c\u2718 %you%")
374+
* .back()
375+
*/
376+
377+
public String targetDestroyed() {
378+
return getString("team-status.target-destroyed", "§c\u2717");
379+
}
380+
381+
public String targetExists() {
382+
return getString("team-status.target-exists", "§a\u2713");
383+
}
384+
385+
public String alive() {
386+
return getString("team-status.alive", "%color% %team% §a\u2713 §8%you%");
387+
}
388+
389+
public String destroyed() {
390+
return getString("team-status.destroyed", "%color% %team% §a§f%players%§8 %you%");
391+
}
392+
393+
public String eliminated() {
394+
return getString("team-status.eliminated", "%color% %team% §c\u2718 %you%");
395+
}
396+
}
397+
362398
public boolean replaceStoreWithNpc() {
363399
return node("replace-stores-with-npc").getBoolean(true);
364400
}
@@ -367,16 +403,18 @@ public boolean replaceStoreWithCitizen() {
367403
return node("replace-stores-with-citizen").getBoolean(false)
368404
&& Bukkit.getPluginManager().isPluginEnabled("Citizens");
369405
}
370-
public ExperimentalConfig experimental()
371-
{
406+
407+
public ExperimentalConfig experimental() {
372408
return new ExperimentalConfig();
373409
}
374-
//"fake-spectator"
375-
public class ExperimentalConfig{
410+
411+
// "fake-spectator"
412+
public class ExperimentalConfig {
376413
public boolean fakeSpectator() {
377414
return getBoolean("experimental.fake-spectator", false);
378415
}
379416
}
417+
380418
public UpgradeConfig upgrades() {
381419
return new UpgradeConfig();
382420
}
@@ -560,7 +598,7 @@ public void upgrade() {
560598

561599
saveFile("languages/language_en.yml");
562600
ServiceManager.get(FirstStartConfigReplacer.class).updateBedWarsConfig();
563-
SBAUtil.reloadPlugin(Main.getInstance(),null);
601+
SBAUtil.reloadPlugin(Main.getInstance(), null);
564602
} catch (Exception ex) {
565603
ex.printStackTrace();
566604
}

plugin/src/main/java/io/github/pronze/sba/visuals/GameScoreboardManager.java

+20-21
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public GameScoreboardManager(Arena arena) {
5050
.get(MessageKeys.SCOREBOARD_LINES_DEFAULT)
5151
.toStringList());
5252
}
53-
if(SBAConfig.getInstance().getBoolean("game-scoreboard.enabled", true))
53+
if (SBAConfig.getInstance().getBoolean("game-scoreboard.enabled", true))
5454
game.getConnectedPlayers().forEach(this::createScoreboard);
5555
}
5656

@@ -97,7 +97,8 @@ public void destroy() {
9797
scoreboardMap.values().forEach(Scoreboard::destroy);
9898
scoreboardMap.clear();
9999
if (updateTask != null) {
100-
if (Bukkit.getScheduler().isCurrentlyRunning(updateTask.getTaskId()) || Bukkit.getScheduler().isQueued(updateTask.getTaskId())) {
100+
if (Bukkit.getScheduler().isCurrentlyRunning(updateTask.getTaskId())
101+
|| Bukkit.getScheduler().isQueued(updateTask.getTaskId())) {
101102
updateTask.cancel();
102103
}
103104
}
@@ -168,8 +169,8 @@ public List<String> process(Player player, Scoreboard board) {
168169
.replace("%game%", game.getName())
169170
.replace("%date%", DateUtils.getFormattedDate())
170171
.replace("%team_bed_status%", teamStatus == null ? "" : teamStatus)
171-
.replace("%tier_task%",generatorTask.getNextTierName())
172-
.replace("%tier_time%",generatorTask.getTimeLeftForNextEvent())
172+
.replace("%tier_task%", generatorTask.getNextTierName())
173+
.replace("%tier_time%", generatorTask.getTimeLeftForNextEvent())
173174
.replace("%tier%", generatorTask.getNextTierName()
174175
.replace("-", " ") + " in §a" + generatorTask.getTimeLeftForNextEvent());
175176

@@ -179,35 +180,33 @@ public List<String> process(Player player, Scoreboard board) {
179180
}
180181

181182
private String getTeamBedStatus(RunningTeam team) {
182-
return team.isDead() ?
183-
SBAConfig.getInstance().node("team-status", "target-destroyed").getString("§c\u2717") :
184-
SBAConfig.getInstance().node("team-status", "target-exists").getString("§a\u2713");
183+
return team.isDead() ? SBAConfig.getInstance().node("team-status", "target-destroyed").getString("§c\u2717")
184+
: SBAConfig.getInstance().node("team-status", "target-exists").getString("§a\u2713");
185185
}
186186

187187
private String getTeamStatusFormat(RunningTeam team) {
188-
String alive = SBAConfig
189-
.getInstance()
190-
.node("team-status", "alive")
191-
.getString("%color% %team% §a\u2713 §8%you%");
188+
String alive = SBAConfig.getInstance().teamStatus().alive();
192189

193-
String destroyed = SBAConfig
194-
.getInstance()
195-
.node("team-status", "destroyed")
196-
.getString("%color% %team% §a§f%players%§8 %you%");
190+
String destroyed = SBAConfig.getInstance().teamStatus().destroyed();
197191

198-
String status = team.isTargetBlockExists() ? alive : destroyed;
192+
String eliminated = SBAConfig.getInstance().teamStatus().eliminated();
193+
194+
String status = team.isTargetBlockExists() ? alive
195+
: (team.getConnectedPlayers().size() > 0) ? destroyed : eliminated;
199196

200197
String formattedTeam = TeamColor
201-
.valueOf(team.getColor().name())
202-
.chatColor
198+
.valueOf(team.getColor().name()).chatColor
203199
.toString()
204200
+ team.getName().charAt(0);
205201

206-
return status
202+
status = status
207203
.replace("%bed_status%", getTeamBedStatus(team))
208204
.replace("%color%", formattedTeam)
209-
.replace("%team%", ChatColor.WHITE + team.getName() + ":")
210-
.replace("%players%", ChatColor.GREEN.toString() + team.getConnectedPlayers().size());
205+
.replace("%team%", ChatColor.WHITE + team.getName() + ":");
206+
int teamSize = team.getConnectedPlayers().size();
207+
status = status.replace("%players%", ChatColor.GREEN.toString() + teamSize);
208+
209+
return status;
211210
}
212211

213212
private String getTeamStatusFormat(Team team) {

0 commit comments

Comments
 (0)