From 2758e8fcd128ee959bbe684a66496a60e581f704 Mon Sep 17 00:00:00 2001 From: Nekoneko Date: Fri, 19 Jun 2020 16:09:21 +0900 Subject: [PATCH] =?UTF-8?q?DisplayName=E5=8F=8A=E3=81=B3Color=E3=81=AFTeam?= =?UTF-8?q?=E3=81=AE=E8=A8=AD=E5=AE=9A=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../teamchat/command/CommandTeamChat.java | 54 +------------ .../teamchat/configure/YamlConfig.java | 76 ++----------------- .../teamchat/listener/ChatListener.java | 8 +- src/main/resources/config.yml | 8 -- src/main/resources/plugin.yml | 2 +- 5 files changed, 12 insertions(+), 136 deletions(-) diff --git a/src/main/java/com/rathserver/teamchat/command/CommandTeamChat.java b/src/main/java/com/rathserver/teamchat/command/CommandTeamChat.java index a9cac10..9586df7 100644 --- a/src/main/java/com/rathserver/teamchat/command/CommandTeamChat.java +++ b/src/main/java/com/rathserver/teamchat/command/CommandTeamChat.java @@ -1,7 +1,6 @@ package com.rathserver.teamchat.command; import com.rathserver.teamchat.TeamChatPlugin; -import com.rathserver.teamchat.util.StringUtil; import lombok.RequiredArgsConstructor; import org.bukkit.ChatColor; import org.bukkit.command.Command; @@ -32,15 +31,9 @@ public boolean onCommand(CommandSender sender, Command cmd, String s, String[] a sender.sendMessage(ChatColor.YELLOW + cmd.getUsage()); return true; } - if (args[0].equalsIgnoreCase("displayname")) { - return this.displayName(sender, args); - } if (args[0].equalsIgnoreCase("exclusion")) { return this.exclusion(sender, args); } - if (args[0].equalsIgnoreCase("color")) { - return this.color(sender, args); - } boolean teamChat = bool(args[0]); this.plugin.getYamlConfig().setTeamChat(teamChat); @@ -52,7 +45,7 @@ public boolean onCommand(CommandSender sender, Command cmd, String s, String[] a @Override public List onTabComplete(CommandSender sender, Command cmd, String s, String[] args) { if (args.length == 1) { - return Arrays.asList("on", "off", "displayname", "exclusion", "color"); + return Arrays.asList("on", "off", "exclusion"); } if (args.length == 2) { Scoreboard board = this.plugin.getServer().getScoreboardManager().getMainScoreboard(); @@ -61,25 +54,6 @@ public List onTabComplete(CommandSender sender, Command cmd, String s, S return null; } - private boolean displayName(CommandSender sender, String[] args) { - if (args.length <= 1) { - sender.sendMessage(ChatColor.YELLOW + "/teamchat displayname "); - return true; - } - - String team = args[1]; - if (team.length() > 16) { - sender.sendMessage(ChatColor.RED + String.format("The name '%s' is too long for a team, it can be at most 16 characters long", team)); - return true; - } - - String displayName = StringUtil.join(" ", 2, args); - this.plugin.getYamlConfig().setDisplayName(team, displayName); - this.plugin.getYamlConfig().save(); - sender.sendMessage(ChatColor.GREEN + String.format("The display name of '%s' team has been changed to '%s'", team, displayName)); - return true; - } - private boolean exclusion(CommandSender sender, String[] args) { if (args.length < 1) { sender.sendMessage(ChatColor.YELLOW + "/teamchat exclusion "); @@ -98,32 +72,6 @@ private boolean exclusion(CommandSender sender, String[] args) { return true; } - private boolean color(CommandSender sender, String[] args) { - if (args.length <= 1) { - sender.sendMessage(ChatColor.YELLOW + "/teamchat color "); - return true; - } - - String team = args[1]; - if (team.length() > 16) { - sender.sendMessage(ChatColor.RED + String.format("The name '%s' is too long for a team, it can be at most 16 characters long", team)); - return true; - } - - ChatColor color; - try { - color = ChatColor.valueOf(args[2]); - } catch (IllegalArgumentException ex) { - sender.sendMessage(ChatColor.RED + ex.getLocalizedMessage()); - return true; - } - - this.plugin.getYamlConfig().setTeamColor(team, color); - this.plugin.getYamlConfig().save(); - sender.sendMessage(ChatColor.GREEN + ""); - return true; - } - private boolean bool(String text) { switch (text) { case "true": diff --git a/src/main/java/com/rathserver/teamchat/configure/YamlConfig.java b/src/main/java/com/rathserver/teamchat/configure/YamlConfig.java index 418a275..154e0a5 100644 --- a/src/main/java/com/rathserver/teamchat/configure/YamlConfig.java +++ b/src/main/java/com/rathserver/teamchat/configure/YamlConfig.java @@ -3,13 +3,13 @@ import lombok.Getter; import lombok.NonNull; import lombok.Setter; -import org.bukkit.ChatColor; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.plugin.java.JavaPlugin; import java.io.File; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.List; /** * Created by Nekoneko on 2017/08/19. @@ -17,10 +17,6 @@ public class YamlConfig extends Utf8YamlConfiguration { private final File ymlFile; - private final String displayNamesPrefix = "displaynames"; - private final String teamsColorsPrefix = "teamscolor"; - private final Map displayNames = new HashMap<>(); - private final Map teamsColor = new HashMap<>(); private final List exclusionTeams = new ArrayList<>(); @Getter @@ -33,22 +29,13 @@ public YamlConfig(@NonNull JavaPlugin plugin) { } public void load() { - this.displayNames.clear(); try { this.load(this.ymlFile); this.teamChat = this.getBoolean("teamchat", true); List exclusion = this.getStringList("exclusion"); - if (exclusion != null) { - this.exclusionTeams.addAll(exclusion); - } - - Set teams = getConfigurationSection(this.displayNamesPrefix).getKeys(false); - teams.forEach(this::put); - - Set colors = getConfigurationSection(this.teamsColorsPrefix).getKeys(false); - colors.forEach(this::putColor); + this.exclusionTeams.addAll(exclusion); } catch (IOException | InvalidConfigurationException e) { e.printStackTrace(); } @@ -56,43 +43,14 @@ public void load() { public void save() { try { - this.displayNames.forEach((s, s2) -> this.save(this.displayNamesPrefix, s, s2)); - this.teamsColor.forEach((s, color) -> this.save(this.teamsColorsPrefix, s, color.name())); - set("exclusion", this.exclusionTeams); - set("teamchat", this.teamChat); - save(this.ymlFile); + this.set("exclusion", this.exclusionTeams); + this.set("teamchat", this.teamChat); + this.save(this.ymlFile); } catch (IOException e) { e.printStackTrace(); } } - public Optional getDisplayName(String team) { - return Optional.ofNullable(this.displayNames.get(team)); - } - - public void setDisplayName(@NonNull String team, @NonNull String name) { - if (team.isEmpty() || name.isEmpty()) { - throw new IllegalArgumentException("team or name is empty"); - } - - this.displayNames.put(team, name); - } - - public ChatColor getTeamColor(String team) { - if (!this.teamsColor.containsKey(team)) { - return ChatColor.RESET; - } - return this.teamsColor.get(team); - } - - public void setTeamColor(@NonNull String team, @NonNull ChatColor color) { - if (team.isEmpty()) { - throw new IllegalArgumentException("team or name is empty"); - } - - this.teamsColor.put(team, color); - } - public boolean isExclusionTeam(@NonNull String team) { return this.exclusionTeams.contains(team); } @@ -100,26 +58,4 @@ public boolean isExclusionTeam(@NonNull String team) { public void addExclusionTeam(@NonNull String name) { this.exclusionTeams.add(name); } - - private void put(String team) { - String name = this.getString(this.displayNamesPrefix + "." + team); - if (name.isEmpty()) { - return; - } - - this.displayNames.put(team, name); - } - - private void putColor(String team) { - String name = this.getString(this.teamsColorsPrefix + "." + team); - if (name.isEmpty()) { - return; - } - - this.teamsColor.put(team, ChatColor.valueOf(name)); - } - - private void save(String parted, String team, String name) { - this.set(parted + "." + team, name); - } } diff --git a/src/main/java/com/rathserver/teamchat/listener/ChatListener.java b/src/main/java/com/rathserver/teamchat/listener/ChatListener.java index 9c4134c..64ce66d 100644 --- a/src/main/java/com/rathserver/teamchat/listener/ChatListener.java +++ b/src/main/java/com/rathserver/teamchat/listener/ChatListener.java @@ -30,7 +30,7 @@ public void asyncPlayerChat(AsyncPlayerChatEvent event) { } else { Player player = event.getPlayer(); Team team = player.getScoreboard().getEntryTeam(player.getName()); - ChatColor color = team != null ? this.plugin.getYamlConfig().getTeamColor(team.getName()) : ChatColor.RESET; + ChatColor color = team != null ? team.getColor() : ChatColor.RESET; event.setFormat(StringUtil.coloring(color + "%s&7:&r %s")); } } @@ -60,12 +60,12 @@ private boolean notEntryAndNotHavePermission(Player player, Team team) { private Team getTeam(Player player) { Scoreboard board = player.getScoreboard(); - return board != null ? board.getEntryTeam(player.getName()) : null; + return board.getEntryTeam(player.getName()); } private String format(Team team) { - String displayName = this.plugin.getYamlConfig().getDisplayName(team.getName()).orElse(team.getDisplayName()); - ChatColor color = this.plugin.getYamlConfig().getTeamColor(team.getName()); + String displayName = team.getDisplayName(); + ChatColor color = team.getColor(); return StringUtil.coloring("&7[&r" + displayName + "&r&7]&r " + color + "%s&7:&r %s"); } } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 27b79f3..81d9edf 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,14 +1,6 @@ #チームチャットを有効にするかどうか teamchat: true -#チームの表示名を変更 -displaynames: - example: ・み・ - #チームチャットから除外する exclusion: - admin - -#チームの色を設定する -teamscolor: - example: BLUE diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 461b13f..fc778ee 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -7,7 +7,7 @@ description: Scoreboard TeamChat plugin. api-version: 1.13 commands: teamchat: - usage: /teamchat + usage: /teamchat aliases: tc permission: teamchat.command description: TeamChat Toggle command.