Ja, hallo Leute!
Heute ist es soweit, ich habe mein zweites Plugin fertig gestellt!
Es heißt Warn, und hat die Funktion User zu warnen.
Es gibt bereits ein Plugin, KOTHWarn, doch das ist oft outdatet, und auf
Englisch. Also habe ich ein ähnliches Plugin Erstellt;
Befehle:
Geplante Features:
Bei Ideen/Bugs bitte melden.
Heute ist es soweit, ich habe mein zweites Plugin fertig gestellt!
Es heißt Warn, und hat die Funktion User zu warnen.
Es gibt bereits ein Plugin, KOTHWarn, doch das ist oft outdatet, und auf
Englisch. Also habe ich ein ähnliches Plugin Erstellt;
Befehle:
- /warn <Name> - Warnt einen Nutzer. (Permission: Warn.use)
- /warn <Name> <Grund> - Warnt einen Nutzer mit Grund (Achtung, der Grund muss mindestens aus zwei Wörtern bestehen!) (Permission: Warn.use)
- Warnt einen User.
- Bannt einen User nach 3 Warnungen.
- Die Config zeigt statt einer Warnung zwei an. (Trotzdem Ban nach 3 Warnungen!)
- Der Grund muss mindestens 2 Wörter enthalten.
- Wenn du mein Plugin toll findest, kannst du es hier runterladen.
- Wenn du den Code haben willst, klicke hier.
package eu.Sn0wBlizz4rd.Warn.Commands;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.entity.Player;
import eu.Sn0wBlizz4rd.Warn.Warn;
public class CommandWarn {
Warn plugin;
Command cmd;
String[] args;
Player p;
Player target;
String grund = "";
public CommandWarn(Command cmd, String[] args, Player p, Warn plugin){
this.cmd = cmd;
this.args = args;
this.p = p;
this.plugin = plugin;
}
public boolean execute(){
String mainPath = "WarnListe.Spieler.";
if(args.length==2){
p.sendMessage("§7Bitte nenne einen Grund.");
return false;
}
try{
target = (Player) p.getServer().getPlayer(args[0]);
if(target.isOnline()){
}else{
throw new NullPointerException();
}
} catch(NullPointerException e){
p.sendMessage(ChatColor.RED + args[0] + " §7wurde nicht gefunden.");
return false;
}
if(args.length==0){
p.sendMessage("§cZu wenig Argumente!");
return false;
}
for(int i = 1; i < args.length; i++){
this.grund = grund + args + " ";
}
if(grund==""){
grund="Kein Grund vorhanden.";
}
p.getServer().broadcastMessage(ChatColor.RED + target.getName() + " §7wurde gewarnt wegen:§c " + grund);
try{
int level = getLevel(mainPath, target);
if(level == 0){
addNewPlayer(mainPath, target);
}
levelPlayerUp(mainPath, target);
if(getLevel(mainPath, target) ==4){
target.setBanned(true);
target.kickPlayer("§cDu hast zu viele Verwarnungen erhalten.");
plugin.getServer().getBannedPlayers().add(target);
p.sendMessage(ChatColor.RED + target.getName() + " §7wurde wegen 3 Verwarnungen gebannt!");
}
return true;
} catch(NullPointerException e){
p.sendMessage("§cEin Fehler ist aufgetreten.");
return true;
}
}
private int getLevel(String mainPath, Player target){
return plugin.getConfig().getInt(mainPath + target.getName());
}
private void addNewPlayer(String mainPath, Player target){
plugin.getConfig().addDefault(mainPath + target.getName(), 1);
plugin.getConfig().options().copyDefaults();
plugin.saveConfig();
}
private void levelPlayerUp(String mainPath, Player target){
int level = getLevel(mainPath, target);
level++;
plugin.getConfig().set(mainPath + target.getName(), level);
plugin.saveConfig();
}
}
Geplante Features:
- MySQL, sodass Websites Warns von Usern anzeigen können.
- Dynamiche Config.
- Einstellbare Nachrichten.
- Warns entfernen.
Bei Ideen/Bugs bitte melden.