Skip to content

Commit

Permalink
Merge pull request #10 from Wirlie/dev-1.0.7
Browse files Browse the repository at this point in the history
Release 1.0.7
  • Loading branch information
Wirlie authored Jun 24, 2020
2 parents 561fbce + b3b0682 commit 3e1bfa0
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 12 deletions.
2 changes: 1 addition & 1 deletion resources/bungee.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: EnhancedBungeeList
author: Wirlie
version: 1.0.3
version: 1.0.7
main: dev.wirlie.bungeecord.glist.EnhancedBCL
10 changes: 10 additions & 0 deletions src/dev/wirlie/bungeecord/glist/ConfigurationValidator.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ public static void validate(EnhancedBCL plugin) {

boolean needCommentsFix = false;

if(!configuration.contains("formats.global-list.server-sp-option.main-format")) {
needCommentsFix = true;
configuration.set("formats.global-list.server-sp-option.main-format", "&a{SERVER_NAME}: &8[{PLAYERS_FORMAT}&8]");
}

if(!configuration.contains("formats.global-list.server-sp-option.players-format")) {
needCommentsFix = true;
configuration.set("formats.global-list.server-sp-option.players-format", "&f{PLAYER_NAME}&7, ");
}

if(!configuration.contains("command.global-list.label")) {
needCommentsFix = true;
configuration.set("command.global-list.label", "glist");
Expand Down
2 changes: 2 additions & 0 deletions src/dev/wirlie/bungeecord/glist/DefaultValues.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,7 @@ public static boolean getDefaultBoolean(final String path) {
DefaultValues.defaults.put("messages.next-page", "Next Page");
DefaultValues.defaults.put("messages.no-previous-page", "&cNo previous page available.");
DefaultValues.defaults.put("messages.no-next-page", "&cNo next page available.");
DefaultValues.defaults.put("formats.global-list.server-sp-option.main-format", "&a{SERVER_NAME}: &8[{PLAYERS_FORMAT}&8]");
DefaultValues.defaults.put("formats.global-list.server-sp-option.players-format", "&f{PLAYER_NAME}&7, ");
}
}
81 changes: 70 additions & 11 deletions src/dev/wirlie/bungeecord/glist/ListExecutor.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package dev.wirlie.bungeecord.glist;

import com.google.common.collect.Iterators;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
Expand All @@ -17,6 +18,8 @@

public class ListExecutor extends Command implements TabExecutor {

private String globalListSpOptionMainFormat = DefaultValues.getDefaultString("formats.global-list.server-sp-option.main-format");
private String globalListSpOptionPlayersFormat = DefaultValues.getDefaultString("formats.global-list.server-sp-option.players-format");
private String globalListFullFormat = DefaultValues.getDefaultString("formats.global-list.full-message-format");
private String globalListServerRowFormat = DefaultValues.getDefaultString("formats.global-list.server-row-format");
private String globalListNoServersFormat = DefaultValues.getDefaultString("formats.global-list.no-servers-format");
Expand Down Expand Up @@ -60,15 +63,21 @@ private void loadFromConfig() {
if (!fullMessageLines.isEmpty()) {
StringBuilder messageBuilder = new StringBuilder();

for (String line : fullMessageLines) {
messageBuilder.append(line).append("\n");
for (int i = 0; i < fullMessageLines.size(); i++) {
String line = fullMessageLines.get(i);
messageBuilder.append(line);
if(i < (fullMessageLines.size() - 1)){
messageBuilder.append("\n");
}
}

this.globalListFullFormat = messageBuilder.toString();
} else {
this.globalListFullFormat = DefaultValues.getDefaultString("formats.global-list.full-message-format");
}

this.globalListSpOptionMainFormat = this.plugin.getConfig().getString("formats.global-list.server-sp-option.main-format", DefaultValues.getDefaultString("formats.global-list.server-sp-option.main-format"));
this.globalListSpOptionPlayersFormat = this.plugin.getConfig().getString("formats.global-list.server-sp-option.players-format", DefaultValues.getDefaultString("formats.global-list.server-sp-option.players-format"));
this.globalListNoServersFormat = this.plugin.getConfig().getString("formats.global-list.no-servers-format", DefaultValues.getDefaultString("formats.global-list.no-servers-format"));
this.globalListBackgroundGraphicColor = this.plugin.getConfig().getString("formats.global-list.graphic-background-color", DefaultValues.getDefaultString("formats.global-list.graphic-background-color"));
this.globalListGraphicBarColor = this.plugin.getConfig().getString("formats.global-list.graphic-bar-color", DefaultValues.getDefaultString("formats.global-list.graphic-bar-color"));
Expand All @@ -81,8 +90,12 @@ private void loadFromConfig() {
if (!serverListFullMessage.isEmpty()) {
StringBuilder messageBuilder = new StringBuilder();

for (String line : serverListFullMessage) {
messageBuilder.append(line).append("\n");
for (int i = 0; i < serverListFullMessage.size(); i++) {
String line = serverListFullMessage.get(i);
messageBuilder.append(line);
if(i < (serverListFullMessage.size() - 1)){
messageBuilder.append("\n");
}
}

this.serverListFullFormat = messageBuilder.toString();
Expand All @@ -94,11 +107,18 @@ private void loadFromConfig() {
if (!noPageDataMessage.isEmpty()) {
StringBuilder messageBuilder = new StringBuilder();

for (String line : noPageDataMessage) {
messageBuilder.append(line).append("\n");
for (int i = 0; i < noPageDataMessage.size(); i++) {
String line = noPageDataMessage.get(i);
messageBuilder.append(line);
if(i < (noPageDataMessage.size() - 1)){
messageBuilder.append("\n");
}
}

this.serverListNoPageDataFormat = messageBuilder.toString();
if(serverListNoPageDataFormat.endsWith("\n")) {
serverListNoPageDataFormat = serverListNoPageDataFormat.substring(0, serverListNoPageDataFormat.length() - 2);
}
} else {
this.serverListNoPageDataFormat = DefaultValues.getDefaultString("formats.server-list.no-page-data-message");
}
Expand All @@ -107,11 +127,18 @@ private void loadFromConfig() {
if (!noPlayersMessage.isEmpty()) {
StringBuilder messageBuilder = new StringBuilder();

for (String line : noPlayersMessage) {
messageBuilder.append(line).append("\n");
for (int i = 0; i < noPlayersMessage.size(); i++) {
String line = noPlayersMessage.get(i);
messageBuilder.append(line);
if(i < (noPlayersMessage.size() - 1)){
messageBuilder.append("\n");
}
}

this.serverListNoPlayersFormat = messageBuilder.toString();
if(serverListNoPlayersFormat.endsWith("\n")) {
serverListNoPlayersFormat = serverListNoPlayersFormat.substring(0, serverListNoPlayersFormat.length() - 2);
}
} else {
this.serverListNoPlayersFormat = DefaultValues.getDefaultString("formats.server-list.no-players-message");
}
Expand Down Expand Up @@ -228,7 +255,7 @@ public void execute(CommandSender sender, String[] args) {
StringBuilder rowsBuilder = new StringBuilder();
int totalPlayers = BungeeCord.getInstance().getPlayers().size();
if (servers.isEmpty()) {
rowsBuilder.append(this.globalListNoServersFormat).append("\n");
rowsBuilder.append(this.globalListNoServersFormat);
} else {
page = (servers.get(0)).getPlayers().size();
Iterator<ServerInfo> serversIterator = servers.iterator();
Expand Down Expand Up @@ -261,19 +288,47 @@ public void execute(CommandSender sender, String[] args) {
} while(!options.contains("-sp"));
} while(serverInfo.getPlayers().isEmpty());

rowsBuilder.append(" &e").append(messagesServerPlayers.replace("{SERVER_NAME}", globalListUpperCaseServerNames ? serverInfo.getName().toUpperCase() : serverInfo.getName())).append(": &8[&7");
String mainFormat = globalListSpOptionMainFormat;
String playersFormat = globalListSpOptionPlayersFormat;

StringBuilder playersString = new StringBuilder();
List<ProxiedPlayer> players = new ArrayList<>(serverInfo.getPlayers());
for(int i = 0; i < players.size(); i++) {
ProxiedPlayer player = players.get(i);

if(i == players.size() - 1) {
//eliminar formato
int indexOf = playersFormat.indexOf("{PLAYER_NAME}");
if(indexOf != -1) {
playersString.append(playersFormat.substring(0, indexOf + "{PLAYER_NAME}".length()).replace("{PLAYER_NAME}", player.getName()));
} else {
playersString.append(playersFormat.replace("{PLAYER_NAME}", player.getName()));
}
} else {
playersString.append(playersFormat.replace("{PLAYER_NAME}", player.getName()));
}
}

rowsBuilder.append(mainFormat.replace("{SERVER_NAME}", globalListUpperCaseServerNames ? serverInfo.getName().toUpperCase() : serverInfo.getName()).replace("{PLAYERS_FORMAT}", playersString.toString())).append("\n");

/*rowsBuilder.append(" &e").append(messagesServerPlayers.replace("{SERVER_NAME}", globalListUpperCaseServerNames ? serverInfo.getName().toUpperCase() : serverInfo.getName())).append(": &8[&7");
for (ProxiedPlayer player : serverInfo.getPlayers()) {
rowsBuilder.append(player.getName()).append("&8,&7 ");
}
rowsBuilder.append("&8]\n");
rowsBuilder.append("&8]\n");*/
}
}

page = BungeeCord.getInstance().getServers().size() - servers.size();
String fullMessageCopy = this.globalListFullFormat;
String message = ChatColor.translateAlternateColorCodes('&', fullMessageCopy.replace("{SERVERS_ROWS}", rowsBuilder.toString()).replace("{NOT_DISPLAYED_AMOUNT}", String.valueOf(page)).replace("{TOTAL_PLAYER_AMOUNT}", String.valueOf(totalPlayers)).replace("{LABEL}", this.getName()));

if(message.endsWith("\n")) {
message = message.substring(message.length() - 2);
}

String[] lines = message.split("\\n");
partsController = lines;

Expand Down Expand Up @@ -434,6 +489,10 @@ public void execute(CommandSender sender, String[] args) {

sender.sendMessage(mainComponent);
} else {
if(message.endsWith("\n")) {
message = message.substring(0, message.length() - 2);
}

sender.sendMessage(TextUtil.fromLegacy(message));
}
}
Expand Down

0 comments on commit 3e1bfa0

Please sign in to comment.