ServerPlugin CountUP mit Ziffern

Dieses Thema im Forum "Programmierung" wurde erstellt von NepsterGaming, 27. März 2013.

  1. NepsterGaming
    Offline

    NepsterGaming

    Registriert seit:
    11. März 2013
    Beiträge:
    33
    Hey ich will ein CountUP mit Ziffern machen bevor mich jetzt viele fragen was ist ein CountUP es ist das gleiche wie ein Countdown nur er zählt nach oben also 123 und nicht 321 aber ich weiß nicht wie es richtig heißt also Nenne ich es countup also der CountUP soll so gehen das ich ein Kommando eingebe der dann das im Chat in Sekunden Abstand angibt einen normalen Countdown mit 10 9 8 7 das geht ja leicht nur ich weiß nicht wie ich es unten mit den Zeichen hin bekomme

    System [|.....]
    System [||....]
    System [|||...]
    System [||||..]
    System [|||||.]
    System [||||||]
     
    #1
  2. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Ist ganz einfach:
    Code (Text):
    1. public class test {
    2.  
    3.     public static void main(String[] args) {
    4.         for(int i = 0; i < 10; i++) {
    5.             System.out.println(getProgressBar(i, 9-i));
    6.         }
    7.     }
    8.    
    9.     private static String getProgressBar(int anzahlStriche, int anzahlPunkte) {
    10.         String ret = "System [";
    11.         for(int i = 0; i < anzahlStriche; i++) {
    12.             ret += "|";
    13.         }
    14.         for(int i = 0; i < anzahlPunkte; i++) {
    15.             ret += ".";
    16.         }
    17.         ret += "]";
    18.         return ret;
    19.     }
    20.    
    21. }
    22.  
    Sieht dann so aus:
    Code (Text):
    1.  
    2. System [.........]
    3.  
    4. System [|........]
    5.  
    6. System [||.......]
    7.  
    8. System [|||......]
    9.  
    10. System [||||.....]
    11.  
    12. System [|||||....]
    13.  
    14. System [||||||...]
    15.  
    16. System [|||||||..]
    17.  
    18. System [||||||||.]
    19.  
    20. System [|||||||||]
    21.  
    22.  
    Jetzt musst du den code nurnoch an dein Plugin anpassen :p
     
    #2
  3. NepsterGaming
    Offline

    NepsterGaming

    Registriert seit:
    11. März 2013
    Beiträge:
    33
    Irgend wie geht das nicht habe es jetzt so gemacht

    also es soll so sein das ich in minecraft ein command eingebe der dann das System [|.....] usw macht

    so ist der fehler

    public static void main(String[] args1) {

    public boolean onCommand(CommandSender sender, Command cmd, String label, String args[]){
    if(cmd.getName().equalsIgnoreCase("System")){

    public static void main(String[] args1) {
    for(int i1 = 0; i < 10; i1++) {
    System.out.println(getProgressBar(i, 9-i));
    }
    }
    return true;
    }



    return false;
    }


    private static String getProgressBar(int anzahlStriche, int anzahlPunkte) {
    String ret = "System [";
    for(int i1 = 0; i1 < anzahlStriche; i1++) {
    ret += "|";
    }
    for(int i1 = 0; i1 < anzahlPunkte; i1++) {
    ret += ".";
    }
    ret += "]";
    return ret;
    }
     
    #3
  4. Selfmade
    Offline

    Selfmade

    Registriert seit:
    3. Februar 2013
    Beiträge:
    11
    *Hust* Java Main
    public boolean onCommand(CommandSender sender, Command cmd, String label, String args[]){
    if(cmd.getName().equalsIgnoreCase("System")){
    for(int i1 = 0; i < 10; i1++) {
    System.out.println(getProgressBar(i, 9-i));
    }
    return true;
    }



    return false;
    }


    private static String getProgressBar(int anzahlStriche, int anzahlPunkte) {
    String ret = "System [";
    for(int i1 = 0; i1 < anzahlStriche; i1++) {
    ret += "|";
    }
    for(int i1 = 0; i1 < anzahlPunkte; i1++) {
    ret += ".";
    }
    ret += "]";
    return ret;
    }
     
    #4
  5. Benni1000
    Offline

    Benni1000 Ehem. Teammitglied

    Registriert seit:
    4. Mai 2012
    Beiträge:
    1.408
    Ich habe dir gesagt das du den Code anpassen musst, das wird so garantiert nicht funktionieren.
    Der Code war nur als Beispiel gedacht wie man sowas lösen könnte.
    Bitte lern Java bevor du Bukkit Plugins Programmierst.

    @Selfmade
    Das wird nicht funktionieren, er möchte das im Abstand von 1 Sekunde gepostet haben.
     
    #5
  6. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Java(-grundlagen) lernen...

    Scheduler
    Code (Text):
    1.  
    2. public void delayedMessage(final String progressBar, final int time)
    3. {
    4.     Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable()
    5.     {
    6.         public void run()
    7.         {
    8.             Bukkit.broadcastMessage(progressBar);
    9.         }
    10.     },time * 20);
    11. }
    12.  
    onCommand-Methode
    Code (Text):
    1.  
    2. for(int i = 0; i < 10; i++)
    3. {
    4.     delayedMessage(getPrograssBar(i, 9-i),i);
    5. }
    6.  
     
    #6
  7. NepsterGaming
    Offline

    NepsterGaming

    Registriert seit:
    11. März 2013
    Beiträge:
    33
    Ich kann "Java" nur ich habe mich noch nie mit denn bukkit Scheduler aus Einander Gesetzt das ist noch so meine schwäche in minecraft

    ich habe das jetzt so gemacht

    aber bei delayedMessage bekomme ich ein fehler

    if(cmd.getName().equalsIgnoreCase("System")){
    for(int i2 = 0; i2 < 10; i2++) {
    System.out.println(delayedMessage(i2, 9-i2));
    }
    return true;
    }








    public void delayedMessage(final String progressBar, final int time)
    {
    Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable()
    {
    public void run()
    {
    Bukkit.broadcastMessage(progressBar);
    }
    },time * 20);
    }




    private static String getProgressBar(int anzahlStriche, int anzahlPunkte) {
    String ret = "System [";
    for(int i1 = 0; i1 < anzahlStriche; i1++) {
    ret += "|";
    }
    for(int i1 = 0; i1 < anzahlPunkte; i1++) {
    ret += ".";
    }
    ret += "]";
    return ret;
    }
     
    #7
  8. games6471
    Offline

    games6471

    Ist auch klar, da i2 ein Integer ist und die Methode möchte als Parameter einen String.
     
    #8
  9. NepsterGaming
    Offline

    NepsterGaming

    Registriert seit:
    11. März 2013
    Beiträge:
    33
    ok was muss ich also jetzt ändern raffe nix mehr
     
    #9
  10. games6471
    Offline

    games6471

    Code (Text):
    1. Ich kann "Java" nur ich habe mich noch nie mit denn bukkit Scheduler aus Einander Gesetzt das ist noch so meine schwäche in minecraft
    Dann müsstest du doch diesen Teil verstehen, da du laut deiner Aussage Java kannst und du nur Schwächen in Bukkit hast.
     
    #10
  11. NepsterGaming
    Offline

    NepsterGaming

    Registriert seit:
    11. März 2013
    Beiträge:
    33
    ne nur schwächen in dem Scheduler teil
     
    #11
  12. games6471
    Offline

    games6471

    Ok, aber dann müsstest du doch das Problem mit Leichtigkeit lösen.
     
    #12
  13. MrFlieder
    Offline

    MrFlieder

    Registriert seit:
    30. Dezember 2011
    Beiträge:
    333
    Ort:
    Österreich
    Minecraft:
    MrFlieder
    Kann ich verstehen, Strings als Parameter gibt es ja auch nur in Bukkit-Schedulers, die braucht man ja sonst nie!
    IRONIE AUS:
    Schau mal in meinen Code!
    Da muss deine IDE ja schon Alarm schlagen! Erstens ist Methode getProgressBar nicht verwendet, das wird in den meisten IDEs angezeigt - und zweitens muss deine IDE ja irgendeinen Fehler ausgeben, dass du da einen falschen Datentyp versuchst zu übergeben!

    Code (Text):
    1.  
    2. if(cmd.getName().equalsIgnoreCase("System")){
    3. for(int i2 = 0; i2 < 10; i2++) {
    4. System.out.println(delayedMessage(getProgressBar(i2, 9-i2), i2));
    5. }
    6. return true;
    7. }
    8.  
    Bitte lerne doch die Java-Grundlagen, zumindest Englisch solltest du halbwegs können - oder dir wenigstens die Mühe machen, einen Text im Google Translator zu übersetzen-, um Fehlermeldungen der IDE zu interpretieren. Hauptsache du "kannst Java"...
     
    #13