Skip to content

Commit

Permalink
Added option to disable hiding players and removed StringUtils class …
Browse files Browse the repository at this point in the history
…usage
  • Loading branch information
Despical committed Jun 26, 2023
1 parent f38a13c commit 18b99ee
Show file tree
Hide file tree
Showing 12 changed files with 76 additions and 71 deletions.
4 changes: 2 additions & 2 deletions .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ The project isn't in the Central Repository yet, so specifying a repository is n
<dependency>
<groupId>com.github.Despical</groupId>
<artifactId>OITC</artifactId>
<version>2.4.0</version>
<version>2.4.1</version>
<scope>compile</scope>
</dependency>
```
Expand All @@ -56,7 +56,7 @@ repositories {
```
```
dependencies {
compileOnly group: "com.github.Despical", name: "OITC", version: "2.4.0";
compileOnly group: "com.github.Despical", name: "OITC", version: "2.4.1";
}
```
</details>
Expand Down
31 changes: 15 additions & 16 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>me.despical</groupId>
<artifactId>one-in-the-chamber</artifactId>
<version>2.4.0</version>
<version>2.4.1</version>
<name>One In The Chamber</name>

<properties>
Expand All @@ -32,8 +32,12 @@

<repositories>
<repository>
<id>papermc</id>
<url>https://papermc.io/repo/repository/maven-public/</url>
<id>papermc-repo</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<repository>
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
<repository>
<id>jitpack.io</id>
Expand All @@ -43,10 +47,6 @@
<id>papi-repo</id>
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
</repository>
<repository>
<id>codemc-repo</id>
<url>https://repo.codemc.org/repository/maven-public/</url>
</repository>
</repositories>

<dependencies>
Expand All @@ -63,22 +63,21 @@
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bukkit</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>com.destroystokyo.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.16.5-R0.1-SNAPSHOT</version>
<scope>provided</scope>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>me.clip</groupId>
<artifactId>placeholderapi</artifactId>
<version>2.11.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.19.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>

<build>
<resources>
<resource>
Expand Down Expand Up @@ -126,7 +125,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<version>3.4.1</version>
<executions>
<execution>
<phase>package</phase>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/me/despical/oitc/ConfigPreferences.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ BLOCK_COMMANDS, BOSS_BAR_ENABLED, BUNGEE_ENABLED(false), CHAT_FORMAT_ENABLED, DA
DISABLE_FALL_DAMAGE(false), DISABLE_LEAVE_COMMAND(false), DISABLE_SEPARATE_CHAT(false),
ENABLE_SHORT_COMMANDS, IGNORE_WARNING_MESSAGES(false), INVENTORY_MANAGER_ENABLED, NAME_TAGS_HIDDEN,
SEND_SETUP_TIPS, SIGNS_BLOCK_STATES_ENABLED, UPDATE_NOTIFIER_ENABLED, REGEN_ENABLED(false),
LEVEL_COUNTDOWN_ENABLED(false), DISABLE_SPECTATING_ON_BUNGEE(false);
LEVEL_COUNTDOWN_ENABLED(false), DISABLE_SPECTATING_ON_BUNGEE(false), HIDE_PLAYERS;

final String path;
final boolean def;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/me/despical/oitc/arena/Arena.java
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ public Set<Player> getPlayersLeft() {
}

public void showPlayers() {
if (ArenaUtils.isLegacy()) return;
if (ArenaUtils.isLegacy() || !ArenaUtils.shouldHide()) return;

for (Player player : players) {
for (Player p : players) {
Expand Down
23 changes: 12 additions & 11 deletions src/main/java/me/despical/oitc/arena/ArenaManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
import me.despical.oitc.handlers.ChatManager.ActionType;
import me.despical.oitc.handlers.rewards.Reward;
import me.despical.oitc.user.User;
import org.apache.commons.lang.StringUtils;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
Expand Down Expand Up @@ -159,11 +158,13 @@ public static void joinAttempt(Player player, Arena arena) {

ArenaUtils.hidePlayer(player, arena);

for (Player spectator : arena.getPlayers()) {
if (plugin.getUserManager().getUser(spectator).isSpectator()) {
PlayerUtils.hidePlayer(player, spectator, plugin);
} else {
PlayerUtils.showPlayer(player, spectator, plugin);
if (!ArenaUtils.isLegacy() || ArenaUtils.shouldHide()) {
for (Player spectator : arena.getPlayers()) {
if (plugin.getUserManager().getUser(spectator).isSpectator()) {
PlayerUtils.hidePlayer(player, spectator, plugin);
} else {
PlayerUtils.showPlayer(player, spectator, plugin);
}
}
}

Expand Down Expand Up @@ -320,11 +321,11 @@ private static String formatSummaryPlaceholders(String msg, Arena arena, Player
String formatted = msg, topPlayerName = arena.getScoreboardManager().getTopPlayerName(0);

User user = plugin.getUserManager().getUser(player);
formatted = StringUtils.replace(formatted, "%score%", Integer.toString(user.getStat(StatsStorage.StatisticType.LOCAL_KILLS)));
formatted = StringUtils.replace(formatted, "%deaths%", Integer.toString(user.getStat(StatsStorage.StatisticType.LOCAL_DEATHS)));
formatted = StringUtils.replace(formatted, "%rank%", Integer.toString(arena.getScoreboardManager().getRank(player)));
formatted = StringUtils.replace(formatted, "%winner%", topPlayerName);
formatted = StringUtils.replace(formatted, "%winner_score%", Integer.toString(StatsStorage.getUserStats(plugin.getServer().getPlayerExact(topPlayerName), StatsStorage.StatisticType.LOCAL_KILLS)));
formatted = formatted.replace("%score%", Integer.toString(user.getStat(StatsStorage.StatisticType.LOCAL_KILLS)));
formatted = formatted.replace("%deaths%", Integer.toString(user.getStat(StatsStorage.StatisticType.LOCAL_DEATHS)));
formatted = formatted.replace("%rank%", Integer.toString(arena.getScoreboardManager().getRank(player)));
formatted = formatted.replace("%winner%", topPlayerName);
formatted = formatted.replace("%winner_score%", Integer.toString(StatsStorage.getUserStats(plugin.getServer().getPlayerExact(topPlayerName), StatsStorage.StatisticType.LOCAL_KILLS)));

if (chatManager.isPapiEnabled()) {
formatted = PlaceholderAPI.setPlaceholders(player, formatted);
Expand Down
13 changes: 9 additions & 4 deletions src/main/java/me/despical/oitc/arena/ArenaUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,23 +37,23 @@ public class ArenaUtils {
private static final Main plugin = JavaPlugin.getPlugin(Main.class);

public static void hidePlayer(Player p, Arena arena) {
if (isLegacy) return;
if (isLegacy || !hide) return;

for (Player player : arena.getPlayers()) {
PlayerUtils.hidePlayer(player , p, plugin);
}
}

public static void showPlayer(Player p, Arena arena) {
if (isLegacy) return;
if (isLegacy || !hide) return;

for (Player player : arena.getPlayers()) {
PlayerUtils.showPlayer(player, p, plugin);
}
}

public static void hidePlayersOutsideTheGame(Player player, Arena arena) {
if (isLegacy) return;
if (isLegacy || !hide) return;

for (Player players : plugin.getServer().getOnlinePlayers()) {
if (arena.getPlayers().contains(players)) {
Expand All @@ -66,7 +66,7 @@ public static void hidePlayersOutsideTheGame(Player player, Arena arena) {
}

public static void showPlayersOutsideTheGame(Player player, Arena arena) {
if (isLegacy) return;
if (isLegacy || !hide) return;

for (Player players : plugin.getServer().getOnlinePlayers()) {
if (arena.getPlayers().contains(players)) {
Expand All @@ -79,12 +79,17 @@ public static void showPlayersOutsideTheGame(Player player, Arena arena) {
}

private final static boolean isLegacy = !ReflectionUtils.supports(9);
private final static boolean hide = plugin.getConfigPreferences().getOption(ConfigPreferences.Option.HIDE_PLAYERS);
private final static boolean isNameTagsSupported = !isLegacy && plugin.getConfigPreferences().getOption(ConfigPreferences.Option.NAME_TAGS_HIDDEN);

public static boolean isLegacy() {
return isLegacy;
}

public static boolean shouldHide() {
return hide;
}

public static void updateNameTagsVisibility(Player p) {
if (!isNameTagsSupported) return;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import me.despical.oitc.api.StatsStorage;
import me.despical.oitc.arena.Arena;
import me.despical.oitc.arena.ArenaState;
import org.apache.commons.lang.StringUtils;
import org.bukkit.entity.Player;

import java.util.*;
Expand Down Expand Up @@ -109,20 +108,20 @@ private List<Entry> formatScoreboard(Player player) {
private String formatScoreboardLine(String line, Player player) {
String formattedLine = line;

formattedLine = StringUtils.replace(formattedLine, "%time%", Integer.toString(arena.getTimer()));
formattedLine = StringUtils.replace(formattedLine, "%formatted_time%", StringFormatUtils.formatIntoMMSS(arena.getTimer()));
formattedLine = StringUtils.replace(formattedLine, "%map_name%", arena.getMapName());
formattedLine = StringUtils.replace(formattedLine, "%players%", Integer.toString(arena.getPlayers().size()));
formattedLine = StringUtils.replace(formattedLine, "%max_players%", Integer.toString(arena.getMaximumPlayers()));
formattedLine = StringUtils.replace(formattedLine, "%min_players%", Integer.toString(arena.getMinimumPlayers()));
formattedLine = StringUtils.replace(formattedLine, "%kills%", Integer.toString(StatsStorage.getUserStats(player, StatsStorage.StatisticType.LOCAL_KILLS)));
formattedLine = StringUtils.replace(formattedLine, "%deaths%", Integer.toString(StatsStorage.getUserStats(player, StatsStorage.StatisticType.LOCAL_DEATHS)));
formattedLine = StringUtils.replace(formattedLine, "%kill_streak%", Integer.toString(StatsStorage.getUserStats(player, StatsStorage.StatisticType.LOCAL_KILL_STREAK)));
formattedLine = formattedLine.replace("%time%", Integer.toString(arena.getTimer()));
formattedLine = formattedLine.replace("%formatted_time%", StringFormatUtils.formatIntoMMSS(arena.getTimer()));
formattedLine = formattedLine.replace("%map_name%", arena.getMapName());
formattedLine = formattedLine.replace("%players%", Integer.toString(arena.getPlayers().size()));
formattedLine = formattedLine.replace("%max_players%", Integer.toString(arena.getMaximumPlayers()));
formattedLine = formattedLine.replace("%min_players%", Integer.toString(arena.getMinimumPlayers()));
formattedLine = formattedLine.replace("%kills%", Integer.toString(StatsStorage.getUserStats(player, StatsStorage.StatisticType.LOCAL_KILLS)));
formattedLine = formattedLine.replace("%deaths%", Integer.toString(StatsStorage.getUserStats(player, StatsStorage.StatisticType.LOCAL_DEATHS)));
formattedLine = formattedLine.replace("%kill_streak%", Integer.toString(StatsStorage.getUserStats(player, StatsStorage.StatisticType.LOCAL_KILL_STREAK)));

final Map<Player, Integer> leaderboard = getSortedLeaderboard();

for (int i = 0, size = arena.getPlayersLeft().size(); i <= arena.getMaximumPlayers(); i++) {
formattedLine = StringUtils.replace(formattedLine, "%top_player_" + (i + 1) + "%", size > i ? formatTopPlayer(leaderboard, getTopPlayerName(leaderboard, i), i) : "%empty%");
formattedLine = formattedLine.replace("%top_player_" + (i + 1) + "%", size > i ? formatTopPlayer(leaderboard, getTopPlayerName(leaderboard, i), i) : "%empty%");
}

if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
Expand Down Expand Up @@ -173,8 +172,8 @@ public int getRank(Player player) {
private String formatTopPlayer(Map<Player, Integer> leaderboard, String player, int rank) {
String formatted = plugin.getChatManager().message("Scoreboard.Top-Player-Format");

formatted = StringUtils.replace(formatted, "%player%", player);
formatted = StringUtils.replace(formatted, "%score%", Integer.toString(getTopPlayerScore(leaderboard, rank)));
formatted = formatted.replace("%player%", player);
formatted = formatted.replace("%score%", Integer.toString(getTopPlayerScore(leaderboard, rank)));
return formatted;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@

package me.despical.oitc.commands.player;

import me.despical.commons.string.StringUtils;
import me.despical.oitc.ConfigPreferences;
import me.despical.oitc.api.StatsStorage;
import me.despical.oitc.commands.SubCommand;
import me.despical.oitc.user.data.MysqlManager;
import org.apache.commons.lang.StringUtils;
import org.bukkit.command.CommandSender;

import java.sql.Connection;
Expand Down Expand Up @@ -127,10 +127,10 @@ private void printLeaderboard(CommandSender sender, StatsStorage.StatisticType s
private String formatMessage(String statisticName, String playerName, int position, int value) {
String message = chatManager.message("commands.statistics.format");

message = StringUtils.replace(message, "%position%", Integer.toString(position));
message = StringUtils.replace(message, "%name%", playerName);
message = StringUtils.replace(message, "%value%", Integer.toString(value));
message = StringUtils.replace(message, "%statistic%", statisticName);
message = message.replace("%position%", Integer.toString(position));
message = message.replace("%name%", playerName);
message = message.replace("%value%", Integer.toString(value));
message = message.replace("%statistic%", statisticName);
return message;
}
}
5 changes: 2 additions & 3 deletions src/main/java/me/despical/oitc/events/ChatEvents.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
import me.despical.oitc.Main;
import me.despical.oitc.arena.Arena;
import me.despical.oitc.arena.ArenaRegistry;
import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
Expand Down Expand Up @@ -85,8 +84,8 @@ public void onChatInGame(AsyncPlayerChatEvent event) {
private String formatChatPlaceholders(String message, Player player, String saidMessage) {
String formatted = message;

formatted = StringUtils.replace(formatted, "%player%", player.getName());
formatted = StringUtils.replace(formatted, "%message%", ChatColor.stripColor(saidMessage));
formatted = formatted.replace("%player%", player.getName());
formatted = formatted.replace("%message%", ChatColor.stripColor(saidMessage));

if (chatManager.isPapiEnabled()) {
formatted = PlaceholderAPI.setPlaceholders(player, formatted);
Expand Down
18 changes: 9 additions & 9 deletions src/main/java/me/despical/oitc/handlers/ChatManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
import me.clip.placeholderapi.PlaceholderAPI;
import me.despical.commons.configuration.ConfigUtils;
import me.despical.commons.string.StringFormatUtils;
import me.despical.commons.string.StringUtils;
import me.despical.commons.util.Strings;
import me.despical.oitc.Main;
import me.despical.oitc.arena.Arena;
import me.despical.oitc.user.User;
import org.apache.commons.lang.StringUtils;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;

Expand Down Expand Up @@ -98,7 +98,7 @@ public String message(String path, int integer) {
public String formatMessage(Arena arena, String message, Player player) {
String returnString = message;

returnString = StringUtils.replace(returnString, "%player%", player.getName());
returnString = returnString.replace("%player%", player.getName());
returnString = formatPlaceholders(returnString, arena);

if (plugin.getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) {
Expand Down Expand Up @@ -128,19 +128,19 @@ public String prefixedFormattedMessage(Arena arena, String path, int value) {
private String formatPlaceholders(String message, Arena arena) {
String returnString = message;

returnString = StringUtils.replace(returnString, "%arena%", arena.getMapName());
returnString = StringUtils.replace(returnString, "%time%", Integer.toString(arena.getTimer()));
returnString = StringUtils.replace(returnString, "%formatted_time%", StringFormatUtils.formatIntoMMSS(arena.getTimer()));
returnString = StringUtils.replace(returnString, "%players%", Integer.toString(arena.getPlayers().size()));
returnString = StringUtils.replace(returnString, "%maxplayers%", Integer.toString(arena.getMaximumPlayers()));
returnString = StringUtils.replace(returnString, "%minplayers%", Integer.toString(arena.getMinimumPlayers()));
returnString = returnString.replace("%arena%", arena.getMapName());
returnString = returnString.replace("%time%", Integer.toString(arena.getTimer()));
returnString = returnString.replace("%formatted_time%", StringFormatUtils.formatIntoMMSS(arena.getTimer()));
returnString = returnString.replace("%players%", Integer.toString(arena.getPlayers().size()));
returnString = returnString.replace("%maxplayers%", Integer.toString(arena.getMaximumPlayers()));
returnString = returnString.replace("%minplayers%", Integer.toString(arena.getMinimumPlayers()));
return returnString;
}

public String formatMessage(Arena arena, String message, int integer) {
String returnString = message;

returnString = StringUtils.replace(returnString, "%number%", Integer.toString(integer));
returnString = returnString.replace("%number%", Integer.toString(integer));
return arena != null ? formatPlaceholders(returnString, arena) : returnString;
}

Expand Down
11 changes: 5 additions & 6 deletions src/main/java/me/despical/oitc/handlers/sign/SignManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import me.despical.oitc.arena.ArenaManager;
import me.despical.oitc.arena.ArenaRegistry;
import me.despical.oitc.arena.ArenaState;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.block.Sign;
Expand Down Expand Up @@ -110,16 +109,16 @@ private String formatSign(String msg, Arena arena) {
String formatted = msg;
int size = arena.getPlayers().size(), max = arena.getMaximumPlayers();

formatted = StringUtils.replace(formatted, "%map_name%", arena.getMapName());
formatted = formatted.replace("%map_name%", arena.getMapName());

if (size >= max) {
formatted = StringUtils.replace(formatted, "%state%", plugin.getChatManager().message("Signs.Game-States.Full-Game"));
formatted = formatted.replace("%state%", plugin.getChatManager().message("Signs.Game-States.Full-Game"));
} else {
formatted = StringUtils.replace(formatted, "%state%", gameStateToString.get(arena.getArenaState()));
formatted = formatted.replace("%state%", gameStateToString.get(arena.getArenaState()));
}

formatted = StringUtils.replace(formatted, "%players%", Integer.toString(size));
formatted = StringUtils.replace(formatted, "%max_players%", Integer.toString(max));
formatted = formatted.replace("%players%", Integer.toString(size));
formatted = formatted.replace("%max_players%", Integer.toString(max));
return plugin.getChatManager().coloredRawMessage(formatted);
}

Expand Down
3 changes: 3 additions & 0 deletions src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@ Firework-When-Game-Ends: true
# Should players' name tags in game be hidden?
Name-Tags-Hidden: true

# Should we hide in-game players to other online players?
Hide-Players: true

# Should blocks behind game signs change their color based on game state?
# They will change color to:
# - white (waiting for players) stained glass
Expand Down

0 comments on commit 18b99ee

Please sign in to comment.