A
Adiber
Guest
Guten Tag liebe Community von Minecraft-ServerEU! Ich habe folgendes Problem, und hoffe, dass ihr mir helfen könnt. Zuvor sage ich, dass ich noch nicht so viel Erfahrung mit Java (vor allem Minecraft) -Programmierung habe, und daher auf euren Quell-Code angewiesen bin. [Also keine Erklärungen, die vielleicht etwas zu schwer sein könnten]
Ich habe in einer MySQLKills Klasse die Kills gespeichert, und die ganzen Methoden erstellt: [Weiter runter für die Scoreboard Klasse!]
Und hier habe ich meine Scoreboard Klasse, ich weiß aber nicht, wie ich die Kills eines Spielers abfragen, und dann für jeden SEINE Kills im Scoreboard anzeigen lassen kann. Zusätzlich brauche ich dann auch noch eine UPDATE Methode, aber ich weiß auch nicht ganz, wie ich die machen könnte.
DANKE schon mal für die Antworten, und bitte nur Antworten schicken, die mir helfen und nicht so was wie: "Lies vorher ein Buch, bevor du denkst programmieren zu können", da ich schon ein Buch angefangen habe zu lesen.
Mit freundlichen Grüßen Adiber
Ich habe in einer MySQLKills Klasse die Kills gespeichert, und die ganzen Methoden erstellt: [Weiter runter für die Scoreboard Klasse!]
Code:
package mysql;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.UUID;
import org.bukkit.entity.Player;
public class MySQLKills {
public static boolean isUserExists(UUID uuid) {
try {
ResultSet rs = MySQLFile.mysql.query("SELECT * FROM Kills WHERE UUID= '" + uuid + "'");
if (rs.next()) {
return rs.getString("UUID") != null;
}
return false;
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
public static void setKills(UUID uuid, String playername, int kills) {
if (isUserExists(uuid)) {
MySQLFile.mysql.update("UPDATE Kills SET ANZAHL= '" + kills + "' WHERE UUID = '" + uuid + "';");
} else {
createPlayer(uuid, playername);
setKills(uuid, playername, kills);
}
}
public static void createPlayer(UUID uuid, String playername) {
if (!isUserExists(uuid))
MySQLFile.mysql.update(
"INSERT INTO Kills(UUID, SPIELERNAME, ANZAHL) VALUES ('" + uuid + "', '" + playername + "', '0');");
}
public static int getKills(Player p) {
try {
ResultSet rs = MySQLFile.mysql.query("SELECT * FROM Kills WHERE UUID = '" + p.getUniqueId() + "';");
if (rs.next())
return rs.getInt("ANZAHL");
} catch (Exception ex) {
ex.printStackTrace();
}
return 0;
}
}
Und hier habe ich meine Scoreboard Klasse, ich weiß aber nicht, wie ich die Kills eines Spielers abfragen, und dann für jeden SEINE Kills im Scoreboard anzeigen lassen kann. Zusätzlich brauche ich dann auch noch eine UPDATE Methode, aber ich weiß auch nicht ganz, wie ich die machen könnte.
Code:
package at.adiber.utils;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Team;
import net.md_5.bungee.api.ChatColor;
public class Scoreboard implements Listener {
public org.bukkit.scoreboard.Scoreboard sb;
public Scoreboard() {
this.sb = Bukkit.getScoreboardManager().getNewScoreboard();
Objective o = this.sb.registerNewObjective("dummy", "stats");
o.setDisplaySlot(DisplaySlot.SIDEBAR);
o.setDisplayName("§7┃ §a§lGunGame §7┃");
o.getScore(ChatColor.BLACK.toString()).setScore(8);
o.getScore("§2Map:").setScore(7);
o.getScore("§8» §f" + Bukkit.getMotd()).setScore(6);
o.getScore(ChatColor.RED.toString()).setScore(5);
o.getScore("§2Kills:").setScore(4);
o.getScore("§8»§f ").setScore(3);
o.getScore(ChatColor.GREEN.toString()).setScore(2);
o.getScore("§2Höchste Streak: ").setScore(1);
o.getScore("§8» §f").setScore(0);
Team owner = this.sb.registerNewTeam("00001owner");
Team admin = this.sb.registerNewTeam("00002admin");
Team dev = this.sb.registerNewTeam("00003dev");
Team mod = this.sb.registerNewTeam("00004mod");
Team sup = this.sb.registerNewTeam("00005sup");
Team builder = this.sb.registerNewTeam("00006builder");
Team vip = this.sb.registerNewTeam("00007vip");
Team player = this.sb.registerNewTeam("00008player");
owner.setPrefix("§4Owner §8:§4 ");
admin.setPrefix("§4Admin §8:§4 ");
dev.setPrefix("§bDev §8:§b ");
mod.setPrefix("§cMod §8:§c ");
builder.setPrefix("§2Builder §8:§2 ");
sup.setPrefix("§9Sup §8:§9 ");
vip.setPrefix("§ePremium §8: §e");
player.setPrefix("§a");
}
public void sendToPlayer(Player p) {
for (Player all : Bukkit.getOnlinePlayers()) {
if (all.hasPermission("system.owner"))
this.sb.getTeam("00001owner").addEntry(all.getName());
else if (all.hasPermission("system.admin"))
this.sb.getTeam("00002admin").addEntry(all.getName());
else if (all.hasPermission("system.dev"))
this.sb.getTeam("00003dev").addEntry(all.getName());
else if (all.hasPermission("system.mod"))
this.sb.getTeam("00004mod").addEntry(all.getName());
else if (all.hasPermission("system.sup"))
this.sb.getTeam("00005sup").addEntry(all.getName());
else if (all.hasPermission("system.builder"))
this.sb.getTeam("00006builder").addEntry(all.getName());
else if (all.hasPermission("system.vip"))
this.sb.getTeam("00007vip").addEntry(all.getName());
else {
this.sb.getTeam("00008player").addEntry(all.getName());
}
}
p.setScoreboard(this.sb);
}
}
DANKE schon mal für die Antworten, und bitte nur Antworten schicken, die mir helfen und nicht so was wie: "Lies vorher ein Buch, bevor du denkst programmieren zu können", da ich schon ein Buch angefangen habe zu lesen.
Mit freundlichen Grüßen Adiber