craftingyourself
Vorarbeiter
Hey Ich bin gerade an einem anti caps plugin dran aber irgendwie geht das nicht der Server lädt das plugin nicht habe ich ein fail drin??
Config
plugin.yml
Code:
package me.nepster.SimpleAntiCaps;
import java.io.File;
import java.util.logging.Logger;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Entity;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
public class SimpleAntiCaps extends JavaPlugin
implements Listener
{
Logger log;
public int minLength;
public double maxPercent;
public String warningMessage;
public void onEnable()
{
this.log = getLogger();
getServer().getPluginManager().registerEvents(this, this);
if (!new File(getDataFolder(), "config.yml").exists()) {
this.log.info("Erstellen einer Konfigurationsdatei.");
saveDefaultConfig();
}
FileConfiguration config = getConfig();
this.minLength = config.getInt("minLength");
this.maxPercent = config.getInt("maxPercent");
this.warningMessage = config.getString("message");
if (this.warningMessage.equalsIgnoreCase(null)) {
this.log.warning("Aktualisieren Sie bitte die config, um die Nachricht einzuschließen!");
this.warningMessage = "Ihre Nachricht enthielt zu viele Großbuchstaben, um zu senden.";
}
if (this.maxPercent > 100.0D) {
this.log.warning("maxPercent " + this.maxPercent + " wahr zu hoch - defaulted auf 70%");
this.maxPercent = 70.0D;
}
if (this.minLength < 0) {
this.log.warning("minLength " + this.minLength + " Kann nicht unter 0, defaulting auf 10");
this.minLength = 10;
}
}
public void onDisable()
{
}
@EventHandler
public void chatEvent(AsyncPlayerChatEvent event)
{
char[] message = event.getMessage().toCharArray();
Entity player = event.getPlayer();
if (!((CommandSender)player).hasPermission("simpleanticaps.ignore"))
{
if (message.length < this.minLength)
{
double totalCaps = 0.0D;
for (int i = 0; i < message.length; i++) {
if (Character.isUpperCase(message[i])) {
totalCaps += 1.0D;
}
}
double percent = 100.0D * (totalCaps / message.length);
if (percent >= this.maxPercent) {
event.setCancelled(true);
((CommandSender)player).sendMessage(ChatColor.RED + this.warningMessage);
}
}
}
}
}
Config
Code:
minLength: 10
maxPercent: 70
message: "[COLOR=#FFFFFF]Ihre Nachricht enthielt zu viele Großbuchstaben, um zu senden[/COLOR]."
plugin.yml
Code:
main: me.nepster.SimpleAntiCaps.SimpleAntiCapsversion: 1.0
author: Nepster
permissions:
simpleanticaps.ignore:
default: op
Zuletzt bearbeitet: