I Will develope a warn plugin but i need to list all warnings with #1 #2 But i dont know how it must show so #1 Grund: Griefing um: XXX.XX.XXX von: shotgun528 #2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX #3 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx and when i warn another it looks like #4 XXXXXXXXXXXXXXXXX #5 XXXXXXXXXXXXXXXxxxxx And How i delete Warnings and When they reach 10 they got banned? pls help me with a code! THANKS! (Not really good English because im german) CODE: Code:java package me.kingingo.plugin; import java.sql.ResultSet;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List; import org.bukkit.Bukkit;import org.bukkit.command.Command;import org.bukkit.command.CommandSender;import org.bukkit.entity.Player;import org.bukkit.event.Listener;import org.bukkit.plugin.java.JavaPlugin; public class Plugin extends JavaPlugin implements Listener{ public MySQL mysql; public void onEnable(){ Bukkit.getPluginManager().registerEvents(this, this); loadConfig(); mysql=new MySQL(getConfig().getString("Config.MySQL.User"),getConfig().getString("Config.MySQL.Password"),getConfig().getString("Config.MySQL.Host"),getConfig().getString("Config.MySQL.DB")); mysql.connect(); mysql.Update("CREATE TABLE IF NOT EXISTS list_warns(player varchar(30),warner varchar(30),time varchar(30),grund varchar(30))"); } public void onDisable(){ mysql.close(); } public boolean onCommand(final CommandSender sender, Command cmd, String commandlabel,String[] args){ Player p = (Player) sender; if(cmd.getName().equalsIgnoreCase("warns")){ if(args.length==0){ p.sendMessage("§c/warns [Player]"); return true; } if(args.length==1){ String player = args[0]; List<String> list = getWarns(player); if(list.isEmpty()){ p.sendMessage("§cEs wurden keine Einträge gefunden!"); return true; } p.sendMessage("§9Spieler: "+player); for(String g : list){ p.sendMessage("§9"+g.replaceAll("&", "§")); } } } if(cmd.getName().equalsIgnoreCase("warn")){ if(args.length==0||args.length==1){ p.sendMessage("§c/warn [Player] [Grund]"); return true; } if(args.length>1){ String player = args[0]; String grund=""; for(int i = 1; i < args.length; i++){ grund=grund+args[i]+" "; } Bukkit.broadcastMessage("§6[§bATC§6] Der Spieler§c "+player+"§6 wurde verwarnt! Grund:§e " +grund.replaceAll("&", "§")); WarnUser(p,player,grund); } } return false; } public List<String> getWarns(String user){ List<String> list = new ArrayList<>(); try{ ResultSet rs = mysql.Query("SELECT warner,time,grund FROM list_warns WHERE player='"+user.toLowerCase()+"'"); while(rs.next()){ list.add("§6Grund:§r "+rs.getString(3).replaceAll("&", "§")+ "§6um §e"+rs.getString(2)+"§6 "+rs.getString(1)); } }catch(Exception err){ System.err.println(err); } return list; } public void WarnUser(Player warner,String user, String grund){ Date myDate = new Date(); SimpleDateFormat df2 = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); mysql.Update("INSERT INTO list_warns(player,warner,time,grund) VALUES ('"+user.toLowerCase()+"','"+warner.getName()+"','"+df2.format(myDate)+"','"+grund+"')"); } public void loadConfig(){ getConfig().addDefault("Config.MySQL.Host", "Eintragen"); getConfig().addDefault("Config.MySQL.User", "Eintragen"); getConfig().addDefault("Config.MySQL.Password", "Eintragen"); getConfig().addDefault("Config.MySQL.DB", "Eintragen"); getConfig().options().copyDefaults(true); saveConfig(); } }[/i]
shotgun528 Not quite sure what you are asking, hard to understand your english. However, if you're trying to ban a player when they exceed a certain amount of warnings then use a simple if statement and your getWarns() method Code:java if(getWarns("Notch") > 10){ // Ban User }
shotgun528 Decompile my WzWarnings plugin. In my WarningManager there is a punish method, read that. Please do not just copy and paste it though.
fireblast709 Yeah, I made it a long time ago. shotgun528 Pass instance and don't do the crazy static.