ServerPlugin Countdown - Plugin

Dieses Thema im Forum "Programmierung" wurde erstellt von combo, 20. Januar 2014.

  1. combo
    Offline

    combo

    Registriert seit:
    16. Juli 2012
    Beiträge:
    160
    Minecraft:
    combo5
    Hallo,
    ich habe mich mal an einem Countdown Plugin versucht was ich Später mal zu einem Event Manager Plugin um bauen möchte!
    Ich habe allerdings ein Problem:
    Mein Server erkennt das Plugin nicht frage mich nur warum.

    plugin.yml :
    Ich weiß ein wenig kurz aber wollte erst später Länger machen!
    Code (Text):
    1.  
    2. name: EventTime
    3. main: me.combo5.EventTime.EventTime
    4. version: 1.0
    5.  
    Die Classen bekommt ihr falls nötig auch!

    Hoffe jemand kann mir helfen!
     
    #1
  2. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Ohne Serverlog + java Klassen kann dir keiner helfen.
    Sicher das die plugin.yml im richtigen package ist?
     
    #2
  3. combo
    Offline

    combo

    Registriert seit:
    16. Juli 2012
    Beiträge:
    160
    Minecraft:
    combo5
    Config:
    config.java
    Code (Text):
    1.  
    2. package config;
    3.  
    4.  
    5. import me.combo5.EventTime.EventTime;
    6.  
    7.  
    8. public class Config
    9. {
    10.   EventTime plugin;
    11.  
    12.   public Config(EventTime plugin)
    13.   {
    14.     this.plugin = plugin;
    15.   }
    16.  
    17.   public void createConfig()
    18.   {
    19.     String german = "EventTime --> Sprache: german";
    20.     this.plugin.getConfig().addDefault(german, Boolean.valueOf(false));
    21.    
    22.     this.plugin.getConfig().options().copyDefaults(true);
    23.     this.plugin.saveConfig();
    24.   }
    25. }
    26.  
    27.  
    28.  
    29.  
    30.  
    31.    

    me.combo5.EventTime:
    Check.java
    Code (Text):
    1.  
    2. package me.combo5.EventTime;
    3.  
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.Server;
    7. import org.bukkit.Sound;
    8. import org.bukkit.entity.Player;
    9.  
    10.  
    11. public class Check
    12. {
    13.   public int time;
    14.   public String Prefix;
    15.  
    16.   public Check(int time, String prefix)
    17.   {
    18.     this.time = time;
    19.     this.Prefix = prefix;
    20.   }
    21.  
    22.   public void Sound()
    23.   {
    24.     for (Player f : ) {
    25.       f.playSound(f.getLocation(), Sound.NOTE_PLING, 2.0F, 2.0F);
    26.     }
    27.   }
    28.  
    29.   public void Timer()
    30.   {
    31.     if (this.time > 10) {
    32.       if (this.time > 100)
    33.       {
    34.         if (this.time > 500)
    35.         {
    36.           if (this.time == 1000)
    37.           {
    38.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    39.             Sound();
    40.           }
    41.           if (this.time == 950)
    42.           {
    43.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    44.             Sound();
    45.           }
    46.           if (this.time == 900)
    47.           {
    48.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    49.             Sound();
    50.           }
    51.           if (this.time == 850)
    52.           {
    53.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    54.             Sound();
    55.           }
    56.           if (this.time == 800)
    57.           {
    58.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    59.             Sound();
    60.           }
    61.           if (this.time == 750)
    62.           {
    63.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    64.             Sound();
    65.           }
    66.           if (this.time == 700)
    67.           {
    68.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    69.             Sound();
    70.           }
    71.           if (this.time == 650)
    72.           {
    73.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    74.             Sound();
    75.           }
    76.           if (this.time == 600)
    77.           {
    78.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    79.             Sound();
    80.           }
    81.           if (this.time == 550)
    82.           {
    83.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    84.             Sound();
    85.           }
    86.         }
    87.         else
    88.         {
    89.           if (this.time == 500)
    90.           {
    91.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    92.             Sound();
    93.           }
    94.           if (this.time == 450)
    95.           {
    96.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    97.             Sound();
    98.           }
    99.           if (this.time == 400)
    100.           {
    101.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    102.             Sound();
    103.           }
    104.           if (this.time == 350)
    105.           {
    106.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    107.             Sound();
    108.           }
    109.           if (this.time == 300)
    110.           {
    111.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    112.             Sound();
    113.           }
    114.           if (this.time == 250)
    115.           {
    116.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    117.             Sound();
    118.           }
    119.           if (this.time == 200)
    120.           {
    121.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    122.             Sound();
    123.           }
    124.           if (this.time == 150)
    125.           {
    126.             Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    127.             Sound();
    128.           }
    129.         }
    130.       }
    131.       else if (this.time > 50)
    132.       {
    133.         if (this.time == 100)
    134.         {
    135.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    136.           Sound();
    137.         }
    138.         if (this.time == 90)
    139.         {
    140.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    141.           Sound();
    142.         }
    143.         if (this.time == 80)
    144.         {
    145.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    146.           Sound();
    147.         }
    148.         if (this.time == 70)
    149.         {
    150.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    151.           Sound();
    152.         }
    153.         if (this.time == 60)
    154.         {
    155.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    156.           Sound();
    157.         }
    158.       }
    159.       else
    160.       {
    161.         if (this.time == 50)
    162.         {
    163.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    164.           Sound();
    165.         }
    166.         if (this.time == 40)
    167.         {
    168.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    169.           Sound();
    170.         }
    171.         if (this.time == 30)
    172.         {
    173.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    174.           Sound();
    175.         }
    176.         if (this.time == 20)
    177.         {
    178.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    179.           Sound();
    180.         }
    181.       }
    182.     }
    183.     if (this.time <= 10) {
    184.       if (this.time > 5)
    185.       {
    186.         if (this.time == 10)
    187.         {
    188.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    189.           Sound();
    190.         }
    191.         if (this.time == 9)
    192.         {
    193.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    194.           Sound();
    195.         }
    196.         if (this.time == 8)
    197.         {
    198.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    199.           Sound();
    200.         }
    201.         if (this.time == 7)
    202.         {
    203.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    204.           Sound();
    205.         }
    206.         if (this.time == 6)
    207.         {
    208.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    209.           Sound();
    210.         }
    211.       }
    212.       else
    213.       {
    214.         if (this.time == 5)
    215.         {
    216.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    217.           Sound();
    218.         }
    219.         if (this.time == 4)
    220.         {
    221.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    222.           Sound();
    223.         }
    224.         if (this.time == 3)
    225.         {
    226.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    227.           Sound();
    228.         }
    229.         if (this.time == 2)
    230.         {
    231.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    232.           Sound();
    233.         }
    234.         if (this.time == 1)
    235.         {
    236.           Bukkit.getServer().broadcastMessage(this.Prefix + this.time);
    237.           Sound();
    238.         }
    239.       }
    240.     }
    241.   }
    242. }
    243.  
    244.  
    245.  
    246.  
    247.      
    EventTime.java

    Code (Text):
    1.  
    2. package me.combo5.EventTime;
    3.  
    4.  
    5.  
    6.  
    7. import config.Config;
    8. import org.bukkit.Bukkit;
    9. import org.bukkit.ChatColor;
    10. import org.bukkit.Sound;
    11. import org.bukkit.command.Command;
    12. import org.bukkit.command.CommandSender;
    13. import org.bukkit.entity.Player;
    14. import org.bukkit.plugin.java.JavaPlugin;
    15.  
    16.  
    17. public class EventTime
    18.   extends JavaPlugin
    19. {
    20.   public int PID = 0;
    21.   public String timestring = "0";
    22.   public int time = 0;
    23.   public Integer timeint = Integer.valueOf(0);
    24.   public String prefix = ChatColor.GREEN + "[Event] " + ChatColor.BLUE + " ";
    25.   public String line;
    26.   public boolean start = true;
    27.   public boolean run;
    28.   public boolean pcmd;
    29.   public boolean english;
    30.   public boolean german;
    31.   EventTime plugin = this;
    32.  
    33.   public void onEnable()
    34.   {
    35.     System.out.println(this.prefix + "started");
    36.     new Config(this).createConfig();
    37.     loadConfig();
    38.   }
    39.  
    40.   public void onDisable()
    41.   {
    42.     stop(null);
    43.   }
    44.  
    45.   public void loadConfig()
    46.   {
    47.     this.english = getConfig().getBoolean("CountDown.Language.english");
    48.     this.german = getConfig().getBoolean("EventTime --> Sprache: german");
    49.   }
    50.  
    51.   public boolean stop(Player p)
    52.   {
    53.     if (this.run)
    54.     {
    55.       Bukkit.getServer().getScheduler().cancelTask(this.PID);
    56.       if (this.pcmd)
    57.       {
    58.         if (this.english) {
    59.           p.sendMessage(this.prefix + "stopped.");
    60.         } else if (this.german) {
    61.           p.sendMessage(this.prefix + "Leider schon vorbei ;( !");
    62.         }
    63.       }
    64.       else if (this.english) {
    65.         System.out.println(this.prefix + "stopped.");
    66.       } else if (this.german) {
    67.         System.out.println(this.prefix + "Leider schon vorbei.");
    68.       }
    69.       return true;
    70.     }
    71.     if (this.pcmd) {
    72.       if (this.english) {
    73.         p.sendMessage(this.prefix + "no CountDown in progress");
    74.       } else if (this.german) {
    75.         p.sendMessage(this.prefix + "Momentan ist Leider kein Event aber Bald ;)");
    76.       }
    77.     }
    78.     return true;
    79.   }
    80.  
    81.   public boolean start(final Player p, final String[] args)
    82.   {
    83.     this.run = true;
    84.    
    85.     this.PID = Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable()
    86.     {
    87.       public void run()
    88.       {
    89.         if (EventTime.this.start)
    90.         {
    91.           if (args.length == 1)
    92.           {
    93.             if (EventTime.this.english) {
    94.               p.sendMessage(EventTime.this.prefix + "finish in " + EventTime.this.time + " seconds.");
    95.             } else if (EventTime.this.german) {
    96.               p.sendMessage(EventTime.this.prefix + "Das Event beginnt in:  " + EventTime.this.time + " Sekunden ...");
    97.             }
    98.           }
    99.           else if (EventTime.this.english) {
    100.             p.sendMessage(EventTime.this.prefix + "finish in " + EventTime.this.time + " seconds with the Message: " + EventTime.this.line);
    101.           } else if (EventTime.this.german) {
    102.             p.sendMessage(EventTime.this.prefix + "Event beginnt in: " + EventTime.this.time + " Sekunden! --> " + EventTime.this.line);
    103.           }
    104.           EventTime.this.start = false;
    105.         }
    106.         new Check(EventTime.this.time, EventTime.this.prefix).Timer();
    107.         if (EventTime.this.time == 0)
    108.         {
    109.             EventTime.this.pcmd = true;
    110.           p.playSound(p.getLocation(), Sound.ENDERDRAGON_DEATH, 3.0F, 3.0F);
    111.           if (args.length == 1)
    112.           {
    113.             EventTime.this.stop(p);
    114.             if (EventTime.this.english) {
    115.               Bukkit.getServer().broadcastMessage(EventTime.this.prefix + "finish!");
    116.             } else if (EventTime.this.german) {
    117.               Bukkit.getServer().broadcastMessage(EventTime.this.prefix + "It's EventTime :D by combo5");
    118.             }
    119.           }
    120.           else
    121.           {
    122.               EventTime.this.stop(p);
    123.             Bukkit.getServer().broadcastMessage(ChatColor.AQUA + EventTime.this.line);
    124.           }
    125.           EventTime.this.pcmd = false;
    126.           EventTime.this.start = true;
    127.           EventTime.this.run = false;
    128.         }
    129.         EventTime.this.time -= 1;
    130.       }
    131.     }, 0L, 20L);
    132.     return true;
    133.   }
    134.  
    135.  
    136.  
    137.  
    138. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
    139.   {
    140.     Player p = (Player)sender;
    141.     if ((cmd.getName().equalsIgnoreCase("et")) &&
    142.       (p.hasPermission("eventtime.controle")))
    143.     {
    144.       if (args.length == 0)
    145.       {
    146.         if (this.english)
    147.         {
    148.           p.sendMessage(this.prefix + "Usage: /et <seconds> <message>");
    149.           p.sendMessage(this.prefix + "Stop with /countdown stop");
    150.           p.sendMessage(this.prefix + "Plugin by Jamba");
    151.         }
    152.         else if (this.german)
    153.         {
    154.           p.sendMessage(this.prefix + "Verwendung: /et <Länge>");
    155.           p.sendMessage(this.prefix + "Stopp mit /et stop");
    156.           p.sendMessage(this.prefix + "Plugin gecodet by combo5");
    157.           p.sendMessage(this.prefix + "Plugin version: 1.0 (1.7.2)");
    158.         }
    159.         return true;
    160.       }
    161.       if (!args[0].equalsIgnoreCase("ende")) {
    162.         if (!args[0].equalsIgnoreCase("lade"))
    163.         {
    164.           if (args.length > 1)
    165.           {
    166.             for (int i = 1; i < args.length; i++) {
    167.               if (i == 1) {
    168.                 this.line = args[i];
    169.               } else {
    170.                 this.line = (this.line + " " + args[i]);
    171.               }
    172.             }
    173.             this.line = ChatColor.translateAlternateColorCodes('&', this.line);
    174.           }
    175.           try
    176.           {
    177.             this.timestring = args[0];
    178.             this.time = Integer.parseInt(this.timestring);
    179.             this.timeint = new Integer(this.timestring);
    180.           }
    181.           catch (NumberFormatException f)
    182.           {
    183.             if (this.english)
    184.             {
    185.               p.sendMessage(this.prefix + "Usage: /countdown <seconds> <message>");
    186.               p.sendMessage(this.prefix + "Stop with /countdown stop");
    187.             }
    188.             else if (this.german)
    189.             {
    190.               p.sendMessage(this.prefix + "Verwendung: /et <Sekunden> <Nachricht>");
    191.               p.sendMessage(this.prefix + "Stopp mit /et stop");
    192.             }
    193.             return true;
    194.           }
    195.           if (this.run)
    196.           {
    197.             if (this.english) {
    198.               p.sendMessage(this.prefix + "already in progress!");
    199.             } else if (this.german) {
    200.               p.sendMessage(this.prefix + "Der Countdown läuft bereits! :3");
    201.             }
    202.           }
    203.           else {
    204.             start(p, args);
    205.           }
    206.           return true;
    207.         }
    208.       }
    209.       if (args[0].equalsIgnoreCase("ende"))
    210.       {
    211.         this.pcmd = true;
    212.         stop(p);
    213.         this.run = false;
    214.         this.start = true;
    215.         this.pcmd = false;
    216.         return true;
    217.       }
    218.     }
    219.     return false;
    220.   }
    221. }
    222.  
    223.  
    224.  
    225.  
    226.  
    227.      

    Noch ein Bild von allen Classen: Unbenannt-2.fw.png
     
    #3
  4. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    Code (Text):
    1.   public void createConfig()
    2.   {
    3.     this.plugin.getConfig().addDefault("EventTime.language.german", false);
    4.    
    5.     this.plugin.getConfig().options().copyDefaults(true);
    6.     this.plugin.saveConfig();
    7.   }
    -
    Bei der Methode addDefault() Kann als 2. Argument ein beliebiges Objekt, also auch ein Boolean übergeben werden. Benutze also "false", statt "Boolean.valueOf(false);" Die Methode hat in Deinem Fall sowieso keinen Sinn. Außerdem wird der Pfad zu einer Konfiguration wie folgt angegeben:
    "Oberpunkt.unterpunkt.konfiguration". Dabei kannst du beliebig viele Punkte benutzen. Eein Punkt bedeutet nur, dass der Teil rechts vom Punkt ein Unterpunkt des Teiles links ist.

    "Oberpunkt.unterpunkt.konfiguration" in der Konfigurationsdatei:
    Code (Text):
    1. Oberpunkt:
    2.   unterpunkt:
    3.     konfiguration: Wert
    -
    Außerdem ist mir noch eingefallen, dass dein Package "config" sofort im Sourceordner ist. Änder dies, indem Du den Namen in "me.combo5.eventTime.config" änderst. Außerdem werden Packagenamen in Java klein geschrieben. (Siehe "me.combo5.EventTime"). Ein bischen Klugscheißen muss sein, aber wenn du es von Anfang an richtig machst, musst Du Dich später nicht umgewöhnen :p
     
    #4