geforkt von SteamWar/BungeeCore
Team list, Teamchat, Serverteamchat
Dieser Commit ist enthalten in:
Ursprung
33273be4fd
Commit
e0d4314d9e
@ -25,7 +25,8 @@ public class BungeeCore extends Plugin {
|
|||||||
public static String ChatPrefix;
|
public static String ChatPrefix;
|
||||||
public static String WorldFolder;
|
public static String WorldFolder;
|
||||||
public static String BauweltPrototyp;
|
public static String BauweltPrototyp;
|
||||||
public static final String TeamchatPrefix = "§4T§7c§r §e";
|
public static final String ServerTeamchatPrefix = "§8STC §e";
|
||||||
|
public static final String TeamchatPrefix = "§8TC §e";
|
||||||
public static final DateTimeFormatter DateFormat = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
public static final DateTimeFormatter DateFormat = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
||||||
public static String LobbyServer;
|
public static String LobbyServer;
|
||||||
private static String [] BroadCastMsgs;
|
private static String [] BroadCastMsgs;
|
||||||
@ -113,6 +114,7 @@ public class BungeeCore extends Plugin {
|
|||||||
addCmd(new DenyCommand("watchcat", "wc"));
|
addCmd(new DenyCommand("watchcat", "wc"));
|
||||||
addCmd(new ChallengeCommand());
|
addCmd(new ChallengeCommand());
|
||||||
addCmd(new TeamCommand());
|
addCmd(new TeamCommand());
|
||||||
|
addCmd(new ServerTeamchatCommand());
|
||||||
|
|
||||||
BroadCastMsgs = config.getStringList("broadcasts").toArray(new String[1]);
|
BroadCastMsgs = config.getStringList("broadcasts").toArray(new String[1]);
|
||||||
getProxy().getScheduler().schedule(this, () -> {
|
getProxy().getScheduler().schedule(this, () -> {
|
||||||
|
@ -61,7 +61,7 @@ public class BanCommand extends Command {
|
|||||||
target.banPlayer(targetPlayer.getAddress().getAddress().getHostAddress(), banTime, msg);
|
target.banPlayer(targetPlayer.getAddress().getAddress().getHostAddress(), banTime, msg);
|
||||||
targetPlayer.disconnect(msgBuilder.toString());
|
targetPlayer.disconnect(msgBuilder.toString());
|
||||||
}else{
|
}else{
|
||||||
target.banPlayer(null, banTime, msg);
|
target.banPlayer("", banTime, msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
41
src/de/steamwar/bungeecore/commands/ServerTeamchatCommand.java
Normale Datei
41
src/de/steamwar/bungeecore/commands/ServerTeamchatCommand.java
Normale Datei
@ -0,0 +1,41 @@
|
|||||||
|
package de.steamwar.bungeecore.commands;
|
||||||
|
|
||||||
|
import de.steamwar.bungeecore.BungeeCore;
|
||||||
|
import net.md_5.bungee.api.ChatColor;
|
||||||
|
import net.md_5.bungee.api.CommandSender;
|
||||||
|
import net.md_5.bungee.api.ProxyServer;
|
||||||
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||||
|
|
||||||
|
public class ServerTeamchatCommand extends Command{
|
||||||
|
|
||||||
|
public ServerTeamchatCommand() {
|
||||||
|
super("stc", "bungeecore.teamchat","serverteamchat");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(CommandSender sender, String[] args) {
|
||||||
|
if(sender instanceof ProxiedPlayer){
|
||||||
|
ProxiedPlayer player = (ProxiedPlayer) sender;
|
||||||
|
|
||||||
|
if(args.length == 0){
|
||||||
|
player.sendMessage(BungeeCore.ChatPrefix + "/stc [Nachricht an das Team]");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder msgBuilder = new StringBuilder();
|
||||||
|
msgBuilder.append(BungeeCore.ServerTeamchatPrefix).append(sender.getName()).append("» §r");
|
||||||
|
for (String arg : args){
|
||||||
|
msgBuilder.append(arg).append(" ");
|
||||||
|
}
|
||||||
|
String msg = msgBuilder.toString();
|
||||||
|
msg = ChatColor.translateAlternateColorCodes('&', msg);
|
||||||
|
|
||||||
|
for (ProxiedPlayer target : ProxyServer.getInstance().getPlayers()){
|
||||||
|
if ((target.hasPermission("bungeecore.teamchat"))
|
||||||
|
&& target.getChatMode() == ProxiedPlayer.ChatMode.SHOWN){
|
||||||
|
target.sendMessage(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,10 @@ import de.steamwar.bungeecore.sql.Team;
|
|||||||
import de.steamwar.bungeecore.sql.WarkingUser;
|
import de.steamwar.bungeecore.sql.WarkingUser;
|
||||||
import net.md_5.bungee.api.CommandSender;
|
import net.md_5.bungee.api.CommandSender;
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
import net.md_5.bungee.api.ProxyServer;
|
||||||
|
import net.md_5.bungee.api.chat.ClickEvent;
|
||||||
|
import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||||
|
import net.md_5.bungee.api.chat.HoverEvent;
|
||||||
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@ -22,6 +26,7 @@ public class TeamCommand extends Command {
|
|||||||
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam create §8- §7Erstelle dein eigenes Team");
|
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam create §8- §7Erstelle dein eigenes Team");
|
||||||
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam join §8- §7Trete einem Team bei");
|
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam join §8- §7Trete einem Team bei");
|
||||||
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam leave §8- §7Verlasse dein Team");
|
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam leave §8- §7Verlasse dein Team");
|
||||||
|
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam list §8- §7Liste alle Teams auf");
|
||||||
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam info §8- §7Informiere dich über ein Team");
|
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam info §8- §7Informiere dich über ein Team");
|
||||||
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam invite §8- §7Lade jemanden in dein Team ein");
|
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam invite §8- §7Lade jemanden in dein Team ein");
|
||||||
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam remove §8- §7Entferne jemanden aus deinem Team");
|
sender.sendMessage(BungeeCore.ChatPrefix + "§8/§eteam remove §8- §7Entferne jemanden aus deinem Team");
|
||||||
@ -275,6 +280,16 @@ public class TeamCommand extends Command {
|
|||||||
|
|
||||||
player.sendMessage(sb.toString());
|
player.sendMessage(sb.toString());
|
||||||
break;
|
break;
|
||||||
|
case "list":
|
||||||
|
player.sendMessage(BungeeCore.ChatPrefix + "§7§lTeamliste");
|
||||||
|
List<Team> all = Team.getAll();
|
||||||
|
for(Team tm : all){
|
||||||
|
TextComponent tc = new TextComponent("§8" + tm.getTeamKuerzel() + " §e" + tm.getTeamName() + " §8[§7" + WarkingUser.get(tm.getTeamLeader()).getUserName() + "§8]");
|
||||||
|
tc.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("§7Teaminfo").create()));
|
||||||
|
tc.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/team info " + tm.getTeamKuerzel()));
|
||||||
|
player.sendMessage(tc);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
help(player);
|
help(player);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package de.steamwar.bungeecore.commands;
|
package de.steamwar.bungeecore.commands;
|
||||||
|
|
||||||
import de.steamwar.bungeecore.BungeeCore;
|
import de.steamwar.bungeecore.BungeeCore;
|
||||||
|
import de.steamwar.bungeecore.sql.WarkingUser;
|
||||||
import net.md_5.bungee.api.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
import net.md_5.bungee.api.CommandSender;
|
import net.md_5.bungee.api.CommandSender;
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
import net.md_5.bungee.api.ProxyServer;
|
||||||
@ -9,13 +10,19 @@ import net.md_5.bungee.api.connection.ProxiedPlayer;
|
|||||||
public class TeamchatCommand extends Command {
|
public class TeamchatCommand extends Command {
|
||||||
|
|
||||||
public TeamchatCommand() {
|
public TeamchatCommand() {
|
||||||
super("tc", "bungeecore.teamchat","teamchat");
|
super("tc", "","teamchat");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(CommandSender sender, String[] args) {
|
public void execute(CommandSender sender, String[] args) {
|
||||||
if(sender instanceof ProxiedPlayer){
|
if(sender instanceof ProxiedPlayer){
|
||||||
ProxiedPlayer player = (ProxiedPlayer) sender;
|
ProxiedPlayer player = (ProxiedPlayer) sender;
|
||||||
|
WarkingUser user = WarkingUser.get(player.getUniqueId());
|
||||||
|
|
||||||
|
if(user.getTeam() == 0){
|
||||||
|
player.sendMessage(BungeeCore.ChatPrefix + "§cDu bist in keinem Team");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if(args.length == 0){
|
if(args.length == 0){
|
||||||
player.sendMessage(BungeeCore.TeamchatPrefix + "/teamchat [Nachricht an das Team]");
|
player.sendMessage(BungeeCore.TeamchatPrefix + "/teamchat [Nachricht an das Team]");
|
||||||
@ -23,7 +30,7 @@ public class TeamchatCommand extends Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
StringBuilder msgBuilder = new StringBuilder();
|
StringBuilder msgBuilder = new StringBuilder();
|
||||||
msgBuilder.append(BungeeCore.TeamchatPrefix).append(sender.getName()).append("› §r");
|
msgBuilder.append(BungeeCore.TeamchatPrefix).append(sender.getName()).append("§8» §r");
|
||||||
for (String arg : args){
|
for (String arg : args){
|
||||||
msgBuilder.append(arg).append(" ");
|
msgBuilder.append(arg).append(" ");
|
||||||
}
|
}
|
||||||
@ -31,7 +38,8 @@ public class TeamchatCommand extends Command {
|
|||||||
msg = ChatColor.translateAlternateColorCodes('&', msg);
|
msg = ChatColor.translateAlternateColorCodes('&', msg);
|
||||||
|
|
||||||
for (ProxiedPlayer target : ProxyServer.getInstance().getPlayers()){
|
for (ProxiedPlayer target : ProxyServer.getInstance().getPlayers()){
|
||||||
if ((target.hasPermission("bungeecore.teamchat"))
|
WarkingUser targetuser = WarkingUser.get(target.getUniqueId());
|
||||||
|
if (targetuser.getTeam() == user.getTeam()
|
||||||
&& target.getChatMode() == ProxiedPlayer.ChatMode.SHOWN){
|
&& target.getChatMode() == ProxiedPlayer.ChatMode.SHOWN){
|
||||||
target.sendMessage(msg);
|
target.sendMessage(msg);
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,11 @@ package de.steamwar.bungeecore.sql;
|
|||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static de.steamwar.bungeecore.sql.sql.select;
|
||||||
|
|
||||||
public class Team {
|
public class Team {
|
||||||
private final int teamId;
|
private final int teamId;
|
||||||
private String teamKuerzel;
|
private String teamKuerzel;
|
||||||
@ -31,7 +34,7 @@ public class Team {
|
|||||||
for(Team team : teamCache)
|
for(Team team : teamCache)
|
||||||
if(team.teamId == id)
|
if(team.teamId == id)
|
||||||
return team;
|
return team;
|
||||||
return load(sql.select("SELECT * FROM Team WHERE TeamID = " + id));
|
return load(select("SELECT * FROM Team WHERE TeamID = " + id));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Team get(String name){
|
public static Team get(String name){
|
||||||
@ -41,7 +44,24 @@ public class Team {
|
|||||||
for(Team team : teamCache)
|
for(Team team : teamCache)
|
||||||
if(team.teamKuerzel.equalsIgnoreCase(name))
|
if(team.teamKuerzel.equalsIgnoreCase(name))
|
||||||
return team;
|
return team;
|
||||||
return load(sql.select("SELECT * FROM Team WHERE lower(TeamName) = '" + sql.disarmString(name).toLowerCase() + "' OR lower(TeamKuerzel) = '" + sql.disarmString(name).toLowerCase() + "'"));
|
return load(select("SELECT * FROM Team WHERE lower(TeamName) = '" + sql.disarmString(name).toLowerCase() + "' OR lower(TeamKuerzel) = '" + sql.disarmString(name).toLowerCase() + "'"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<Team> getAll(){
|
||||||
|
teamCache.clear();
|
||||||
|
List<Team> allTeams = new LinkedList<>();
|
||||||
|
try{
|
||||||
|
ResultSet rs = select("SELECT * FROM Team");
|
||||||
|
if(rs == null)
|
||||||
|
return allTeams;
|
||||||
|
|
||||||
|
while(!rs.isLast()){
|
||||||
|
allTeams.add(load(rs));
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return allTeams;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void clearCache(){
|
public static void clearCache(){
|
||||||
@ -107,7 +127,7 @@ public class Team {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int size(){
|
public int size(){
|
||||||
ResultSet rs = sql.select("SELECT COUNT(id) FROM UserData WHERE Team = " + teamId);
|
ResultSet rs = select("SELECT COUNT(id) FROM UserData WHERE Team = " + teamId);
|
||||||
try {
|
try {
|
||||||
rs.next();
|
rs.next();
|
||||||
return rs.getInt("COUNT(id)");
|
return rs.getInt("COUNT(id)");
|
||||||
@ -124,7 +144,7 @@ public class Team {
|
|||||||
|
|
||||||
public List<Integer> getMembers(){
|
public List<Integer> getMembers(){
|
||||||
try{
|
try{
|
||||||
ResultSet memberlist = sql.select("SELECT id FROM UserData WHERE Team = '" + teamId + "'");
|
ResultSet memberlist = select("SELECT id FROM UserData WHERE Team = '" + teamId + "'");
|
||||||
List<Integer> members = new ArrayList<>();
|
List<Integer> members = new ArrayList<>();
|
||||||
while(memberlist.next()){
|
while(memberlist.next()){
|
||||||
members.add(memberlist.getInt("id"));
|
members.add(memberlist.getInt("id"));
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren