D
deleted191575
Guest
Hallo Liebe MineCraft-Server.eu - Community,
ich habe heute wieder einmal ein Problem jedoch geht es heute nicht um Spigot / Bukkit, heute geht es einen Schritt weiter nämlich BUNGEECORD für mich ist BungeeCord nicht wirklich etwas neues aber ich habe eben noch nie mit BungeeCord programmiert. Mein Gedanke war: "Ich will heute ein Bann-System schreiben". Bis jetzt lief eigentlich alles rund aber (immer dieses ***** aber) JETZT ! wollte ich eigentlich mit dem Check bzw. der If Abfrage beginnen ob der Spieler (ProxiedPlayer pp) mit seiner UniqueID schon registiert (gebannt) ist. Übrigends ich arbeite hier mit MYSQL. Mein Abfrage + Code findet ihr dann im Anhang.
(Ban Command)
(PlayerJoinListener / PostLoginListener)
Ich hoffe ihr könnt mir helfen, ich bedanke mich jetzt schon einmal im voraus für eure Beiträge.
ich habe heute wieder einmal ein Problem jedoch geht es heute nicht um Spigot / Bukkit, heute geht es einen Schritt weiter nämlich BUNGEECORD für mich ist BungeeCord nicht wirklich etwas neues aber ich habe eben noch nie mit BungeeCord programmiert. Mein Gedanke war: "Ich will heute ein Bann-System schreiben". Bis jetzt lief eigentlich alles rund aber (immer dieses ***** aber) JETZT ! wollte ich eigentlich mit dem Check bzw. der If Abfrage beginnen ob der Spieler (ProxiedPlayer pp) mit seiner UniqueID schon registiert (gebannt) ist. Übrigends ich arbeite hier mit MYSQL. Mein Abfrage + Code findet ihr dann im Anhang.
(Ban Command)
Java:
package net.brutalverzockt.proxy.cmds;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.brutalverzockt.proxy.main.MySQL;
import net.brutalverzockt.proxy.main.Utils;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
public class Ban_cmd extends Command {
public Ban_cmd(String name) {
super(name);
}
public boolean isBanned(String[] args) {
ProxiedPlayer target = ProxyServer.getInstance().getPlayer(args[0]);
ResultSet rs = MySQL.getResult("SELECT * FROM BannedPlayers WHERE BannedPlayer='" + target.getUniqueId().toString() + "'");
try {
return rs.next();
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
@SuppressWarnings("deprecation")
@Override
public void execute(CommandSender sender, String[] args) {
if(sender instanceof ProxiedPlayer) {
ProxiedPlayer pp = (ProxiedPlayer) sender;
if(pp.hasPermission("system.ban")) {
if(args.length >= 2) {
ProxiedPlayer target = ProxyServer.getInstance().getPlayer(args[0]);
String reason = "";
for(int i = 1 ; i < args.length ; i++) {
reason += (args[i]);
}
MySQL.update("INSERT INTO BannedPlayers (BannedPlayer, BannedFrom ,Reason) VALUES ('" + target.getUniqueId().toString() + "','" + pp.getUniqueId().toString() + "','" + reason + "')");
target.disconnect(Utils.prefix + "Du wurdest von §6" + pp.getDisplayName() + " §7wegen ' §f" + reason + " §7' gebannt §4§l!");
pp.sendMessage(Utils.prefix + "Du hast §6" + target.getDisplayName() + " §aerfolgreich §7gebannt für den §cGrund§8§l: §7' §f" + reason + " §7'");
} else
pp.sendMessage(Utils.usage + "/ban §8<§6Spieler§8> <§cGrund§8>");
} else
pp.sendMessage(Utils.noperm);
} else
sender.sendMessage(Utils.noplayer);
}
}
(PlayerJoinListener / PostLoginListener)
Java:
package net.brutalverzockt.proxy.listener;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.brutalverzockt.proxy.main.MySQL;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.PostLoginEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
public final class PlayerJoinListener implements Listener {
@SuppressWarnings("deprecation")
@EventHandler
public void onPostLogin(PostLoginEvent e) {
ProxiedPlayer pp = e.getPlayer();
if(MySQL.getResult("SELECT * FROM BannedPlayers WHERE BannedPlayer='" + pp.getUniqueId().toString() + "'") != null) {
pp.disconnect(getReason(pp.getUniqueId().toString()));
}
}
public String getReason(String UUID) {
ProxiedPlayer pp = ProxyServer.getInstance().getPlayer(UUID);
ResultSet rs = MySQL.getResult("SELECT * FROM BannedPlayers WHERE BannedPlayer='" + pp.getUniqueId().toString() + "'");
try {
while(rs.next()) {
return rs.getString("Reason");
}
} catch (SQLException e) {
e.printStackTrace();
}
return Utils.prefix + "Es ist ein §4Fehler §7aufgetreten §4!";
}
}
Ich hoffe ihr könnt mir helfen, ich bedanke mich jetzt schon einmal im voraus für eure Beiträge.