AntiCaps

Dieses Thema im Forum "Programmierung" wurde erstellt von craftingyourself, 9. November 2012.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. craftingyourself
    Offline

    craftingyourself

    Registriert seit:
    21. September 2012
    Beiträge:
    270
    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??



    Code (Text):
    1. package me.nepster.SimpleAntiCaps;
    2.  
    3. import java.io.File;
    4. import java.util.logging.Logger;
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.Server;
    7. import org.bukkit.command.CommandSender;
    8. import org.bukkit.configuration.file.FileConfiguration;
    9. import org.bukkit.entity.Entity;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.Listener;
    12. import org.bukkit.event.player.AsyncPlayerChatEvent;
    13. import org.bukkit.plugin.PluginManager;
    14. import org.bukkit.plugin.java.JavaPlugin;
    15.  
    16.  
    17. public class SimpleAntiCaps extends JavaPlugin
    18.   implements Listener
    19. {
    20.   Logger log;
    21.   public int minLength;
    22.   public double maxPercent;
    23.   public String warningMessage;
    24.  
    25.  
    26.   public void onEnable()
    27.   {
    28.     this.log = getLogger();
    29.     getServer().getPluginManager().registerEvents(this, this);
    30.  
    31.  
    32.     if (!new File(getDataFolder(), "config.yml").exists()) {
    33.       this.log.info("Erstellen einer Konfigurationsdatei.");
    34.       saveDefaultConfig();
    35.     }
    36.  
    37.  
    38.     FileConfiguration config = getConfig();
    39.  
    40.  
    41.     this.minLength = config.getInt("minLength");
    42.     this.maxPercent = config.getInt("maxPercent");
    43.     this.warningMessage = config.getString("message");
    44.  
    45.  
    46.     if (this.warningMessage.equalsIgnoreCase(null)) {
    47.       this.log.warning("Aktualisieren Sie bitte die config, um die Nachricht einzuschließen!");
    48.       this.warningMessage = "Ihre Nachricht enthielt zu viele Großbuchstaben, um zu senden.";
    49.     }
    50.  
    51.  
    52.     if (this.maxPercent > 100.0D) {
    53.       this.log.warning("maxPercent " + this.maxPercent + " wahr zu hoch - defaulted auf 70%");
    54.       this.maxPercent = 70.0D;
    55.     }
    56.     if (this.minLength < 0) {
    57.       this.log.warning("minLength " + this.minLength + " Kann nicht unter 0, defaulting auf 10");
    58.       this.minLength = 10;
    59.     }
    60.   }
    61.  
    62.  
    63.   public void onDisable()
    64.   {
    65.   }
    66.  
    67.  
    68.   @EventHandler
    69.   public void chatEvent(AsyncPlayerChatEvent event)
    70.   {
    71.     char[] message = event.getMessage().toCharArray();
    72.     Entity player = event.getPlayer();
    73.  
    74.  
    75.     if (!((CommandSender)player).hasPermission("simpleanticaps.ignore"))
    76.     {
    77.       if (message.length < this.minLength)
    78.       {
    79.         double totalCaps = 0.0D;
    80.  
    81.  
    82.         for (int i = 0; i < message.length; i++) {
    83.           if (Character.isUpperCase(message[i])) {
    84.             totalCaps += 1.0D;
    85.           }
    86.         }
    87.         double percent = 100.0D * (totalCaps / message.length);
    88.         if (percent >= this.maxPercent) {
    89.           event.setCancelled(true);
    90.           ((CommandSender)player).sendMessage(ChatColor.RED + this.warningMessage);
    91.         }
    92.       }
    93.     }
    94.   }
    95. }
    96.  
    97.  
    98.  




    Config

    Code (Text):
    1.  
    2.  
    3. minLength: 10
    4.  
    5.  
    6. maxPercent: 70
    7.  
    8. message: "[COLOR=#FFFFFF]Ihre Nachricht enthielt zu viele Großbuchstaben, um zu senden[/COLOR]."
    9.  
    10.  
    11.  

    plugin.yml


    Code (Text):
    1.  
    2.  
    3. main: me.nepster.SimpleAntiCaps.SimpleAntiCapsversion: 1.0
    4. author: Nepster
    5. permissions:
    6.   simpleanticaps.ignore:
    7.     default: op
    8.  
    9.  
     
    #1
  2. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Du hast keine version in der plugin.yml angegeben, ich glaube das braucht man.
    Und eine Fehlermeldung wär auch nicht schlecht.
     
    #2
  3. craftingyourself
    Offline

    craftingyourself

    Registriert seit:
    21. September 2012
    Beiträge:
    270
    Ah ok danke habe ich wohl übersehen werde es heute Nachmittag testen aber am plugin selber sind keine Fehler

    Edit

    Doch Version habe ich rein gemacht aber hier im Forum habe ich das glaube ich faltsch rein gemacht Version ist am ende vom main
     
    #3
  4. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Wie gesagt, war nur ne Vermutung.
    Wenn du keine Fehlermeldung postest, kann dir keiner helfen.
     
    #4
  5. Sn0wBlizz4rd
    Offline

    Sn0wBlizz4rd

    Registriert seit:
    26. September 2012
    Beiträge:
    424
    Minecraft:
    Sn0wBlizz4rd
    -.- Code von einem anderen Plugin abkopiert...
    Aber trotztdem: Poste deine Fehlermeldung, oder ändere die plugin.yml in:
    Code (Text):
    1. [COLOR=#FFFFFF]main: me.nepster.SimpleAntiCaps.SimpleAntiCaps
    2. version: 1.0
    3. [/COLOR]name: SimpleAntiCaps
    4. author: Nepster
    5. permissions:  
    6.      simpleanticaps.ignore: [COLOR=#FFFFFF]    
    7.           default: op[/COLOR]
     
    #5
  6. craftingyourself
    Offline

    craftingyourself

    Registriert seit:
    21. September 2012
    Beiträge:
    270
    -.- Code von einem anderen Plugin abkopiert...`????????`
     
    #6
  7. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Weniger "?" schreiben, mehr Fehlermeldungen posten.
     
    #7
  8. ChristianG
    Offline

    ChristianG

    Du willst dir garnicht helfen lassen, oder?! :D
     
    #8
  9. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Du brauchst glaube ich auch noch description in deiner plugin.yml, ohne description geht's glaube ich auch nicht.
     
    #9
  10. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Es geht 100%tig ohne description, ich habe noch nie eine reingemacht.
     
    #10
  11. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Ahja, stimmt - man braucht nur name, version und main.
     
    #11
Status des Themas:
Es sind keine weiteren Antworten möglich.