Wie kann in Minecraft das folgende Plugin (/Spielmodus) programmieren?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Lösungsmöglichkeiten:

a) Eine Methode prüft die Anzahl an Spielern im Feld ab, sowie, ob eine bestimmte Zeit vergangen ist. Im gegebenen Fall dekrementiert sie den Wert des Counters. Die Methode wird in der event-loop des Spiels ausgeführt.

b) Du brauchst einen Scheduler (https://blog.ajduke.in/2014/03/31/java-how-to-schedule-a-task-to-run-in-an-interval/) für den Countdown und Events, welche ermitteln, ob ein Spieler in das Feld gekommen oder aus dem Feld herausgegangen ist. Dabei solltest du dir die Anzahl an Spielern merken, die sich momentan im Feld befinden.

Betritt ein Spieler das Feld, wird der Scheduler gestartet (wenn er nicht bereits läuft). Verlässt ein Spieler das Feld, wird die aktuelle Anzahl an Spielern im Feld aktualisiert und überprüft. Sind keine Spieler mehr dort, muss der Scheduler stoppen. Der Task, der vom Scheduler je Intervall aufgerufen wird, muss selbst überprüfen, ob der Wert von 1 unterschritten wird oder nicht. Auch in diesem Fall muss der Scheduler beendet werden.

Ich habe jetzt keine Ahnung wie das in minecraft funst aber so würde ich es auf bauen (Syntax ist ähnlich wie Java die ich verwende ...)

Int i = 100;

If(player in field)
{
I --;
}

Und dann kannst du ja ein Event bei i == 0 einrichten welches irgendetwas macht. Das ganze funktioniert natürlich auch mit ner Schleife ... Falls es zu schnell zählt entweder i erhöhen, einen timer ein bauen oder eine sinnlose Schleife mit einarbeiten welche Zeit verbraucht ^^

Ich hoffe ich konnte helfen,

MFG Hiajen

PS.: ich gehe jetzt nicht von commandblocks aus :o


regex9  10.04.2016, 21:06

Bei einem einmaligen Check, ob sich der Spieler im Feld befindet, wird der Counter nur einmal um 1 heruntergezählt.

Der Counter sollte praktischerweise über einen Timer laufen, sinnlose Schleifen sollte man vermeiden.

0
Hiajen  11.04.2016, 11:52

sorry mein Fehler ... war noch in Processing (hier wird der draw/Main wiederholt) dann Regel das doch über ein event ...

0

Das ganze durch das PlayerMoveEvent triggern und eine Zone mit der WorldEdit API erstellen, damit kann man testen ob ein Spieler im Bereich ist, das mit dem Scheduler solltest du hinbekommen.