• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

CountUP mit Ziffern

NepsterGaming

Redstoneengineer
Registriert
11 März 2013
Beiträge
33
Diamanten
0
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 [||||||]
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
Ist ganz einfach:
Code:
public class test {

    public static void main(String[] args) {
        for(int i = 0; i < 10; i++) {
            System.out.println(getProgressBar(i, 9-i));
        }
    }
    
    private static String getProgressBar(int anzahlStriche, int anzahlPunkte) {
        String ret = "System [";
        for(int i = 0; i < anzahlStriche; i++) {
            ret += "|";
        }
        for(int i = 0; i < anzahlPunkte; i++) {
            ret += ".";
        }
        ret += "]";
        return ret;
    }
    
}

Sieht dann so aus:
Code:
System [.........]

System [|........]

System [||.......]

System [|||......]

System [||||.....]

System [|||||....]

System [||||||...]

System [|||||||..]

System [||||||||.]

System [|||||||||]

Jetzt musst du den code nurnoch an dein Plugin anpassen :p
 
Zuletzt bearbeitet:

NepsterGaming

Redstoneengineer
Registriert
11 März 2013
Beiträge
33
Diamanten
0
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;
}
 
Zuletzt bearbeitet:

Selfmade

Minecrafter
Registriert
3 Februar 2013
Beiträge
11
Diamanten
0
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;
}

*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;
}
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
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

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.
 

MrFlieder

Braumeister
Registriert
30 Dezember 2011
Beiträge
332
Diamanten
0
Minecraft
MrFlieder
Java(-grundlagen) lernen...

Scheduler
Code:
public void delayedMessage(final String progressBar, final int time)
{
	Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable()
	{
		public void run()
		{
		    Bukkit.broadcastMessage(progressBar);
		}
	},time * 20);
}
onCommand-Methode
Code:
for(int i = 0; i < 10; i++) 
{
    delayedMessage(getPrograssBar(i, 9-i),i);
}
 

NepsterGaming

Redstoneengineer
Registriert
11 März 2013
Beiträge
33
Diamanten
0
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;
}
 

MrFlieder

Braumeister
Registriert
30 Dezember 2011
Beiträge
332
Diamanten
0
Minecraft
MrFlieder
ne nur schwächen in dem Scheduler teil
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:
if(cmd.getName().equalsIgnoreCase("System")){
for(int i2 = 0; i2 < 10; i2++) {
System.out.println(delayedMessage(getProgressBar(i2, 9-i2), i2));
}
return true;
}

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"...
 
Zuletzt bearbeitet:
Oben