ich habe ein Problem an meinem Plugin, ich würde gerne mal ein
Minigame Programmieren, aber ich habe echt keinen plan, wie ich
so einen Teleport erstelle, wo 24 Spieler auf verschiedene Plätze
Teleportiert werden. z.B Survival Games | Trouble in Mineville | One in the Chamber.
Könnte mir da vielleicht jemand einen Tipp / Code zeigen?
Speichere die Orte z.b. in der config.yml ab.
Anschließend wird einfach aus gelesen und hingeportet.
z.b.
beim Command:
Code:
Location loc = player.getLocation();
int x = loc.getBlockX();
int y = loc.getBlockY();
int z = loc.getBlockZ();
//Evtl noch YAW und PITCH
String welt = loc.getWorld().getName();
Die Variablen speicherst dann in der config
Beim teleportieren, liest du diese dann wieder aus.
Code:
Location loc = new Location(Bukkit.getWorld(welt), x, y, z);
player.teleport(loc);
Du speicherst einfach 24 Orte ab.
Die config.yml könnte dann z.b. so aussehen am ende:
Code:
1:
X: 1
Y: 1
Z: 1
Welt: world
2:
X: 2
Y: 1
Z: 4
Welt: world
usw. bis 24
Danach lädst du beim Start alle in eine Liste (schon als Location)
Anschließend nimmst du die 24 Spieler und teleportierst sie zu einer zufälligen Position (benötigt: Math.random() und die größe der Liste von Locations, damit erhälst dann die Zahl X, sodass du dann einfach das X. Element aus der Liste nimmst (damit hast dann die Location, zu die der Spieler geportet werden soll))
Nach dem ein Spieler teleportiert wurde, entfernst du die Location wieder aus der Liste (damit Spieler 2 nicht zufällig bei Spieler 1 landet)
Ja sry, das ich mich bischen falsch ausgedrückt habe. Das mit der Liste ist mein Problem, wie mache ich da alles rein und teleportiere die leute dann auch
for (Player p: Bukkit.getOnlinePlayers()) {
//teleport player (wird für jeden ausgeführt)
}
Und wie gesagt wurde die variablen läds du aus einer Config.
Such einfach mal nach Bukkit Confi Tutorial und benutz dein Hirn ein wenig, ansonsten lern erstmal Java richtig bzw schreib leichtere Plugins vorerst
public class MeineKlasse extends JavaPlugin {
private List<Location> locList = new ArrayList<Location>();
//Weitere Code wie onEnable, onDisable etc.
private void loadList()
{
if(locList.size() != 0) locList.clear();
for(int i = 1; i < 25; i++)
{
locList.add(new Location(Bukkit.getWorld(getConfig().getString(i + ".Welt")), getConfig().getInt(i + ".X"), ....));
}
}
private void teleportPlayer(Player player)
{
int random = Zufallszahl zw. 0 und 23 (sind 24 Elemente)
Location loc = locList.get(random);
player.teleport(loc);
locList.remove(random);
}
}
Edit: und ich muss .ƒaℓsє. Recht geben, vllt solltest du vorher erstmal ein wenig Java lernen, bevor du dich an Plugins wie Minigames ranmachst. Ansonsten wirst du immer wieder auf Probleme stoßen
[Bukkit][Programmieren] Gefängnis 10/25/2013 - Minecraft - 14 Replies Hallo,
Ich bin derzeit an einem Bukkit Plugin. Der Knackpunkt ist, wenn ein Spieler stirbt soll er in ein Gefängnis teleportiert werden, und wenn dann der Spieler stirbt, der den Spieler im knast getötet hat, dann soll er in den knast, und der andere wieder freigelassen werden. So ähnlich wie dass Spiel Zombieball, wer dass aus dem Sportunterricht kennt. Ich weiß, dass ich dass ihrgendwie mit einer HashMap machen muss. Bitte gebt mir ein code beospiel.
Bukkit Plugins programmieren 09/23/2013 - General Coding - 2 Replies Hi,
ich bin grade dabei das Programmieren von Bukkit Plugins zu lernen, kann auch schon ein wenig, jedoch mussich mir immer 2457564886561235889763132679864 Tutorials zusammensuchen und anschauen, was ich ziemlich nervig finde. Ich denke hier im Forum gibt es ein paar, die Bukkit programmieren können und mir sagen können wie sie das gelernt haben (Vllt. Links zu (eigenen) Tutorial(s) oder so).
Entschuldigt, falls das hier im falschen Bereich gelandet ist, ich bin neu hier :)
[Bukkit] Programmieren Tab 02/15/2013 - Minecraft - 1 Replies man kann ja mit
p.setPlayerListName("§6"+ p.getName());
den Tab Namen und Farbe ändern.
Wenn jetzt aber ein Spieler mit 15 Satzzeiche Joint und dazu die 2 Zeichen vom Farbcode, sind es insgesamt 17. Aber es darf ja nur 16 haben und deshalb kommt ne Fehlermeldung in der Konsole.
Wie kann ich, wenn es mehr als 16 Zeichen hat es so verkürzen, dass es nur noch 16 hat.
Freue mich über schnelle Antworten.
[Bukkit] Programmieren Event 01/12/2013 - Minecraft - 1 Replies Gibt es bei Bukkit ein Event, das was macht, sobald ein Spieler einen anderen Spieler schlägt (pvp).
danke schonmal im vorraus:D
Minecraft Bukkit Programmieren 08/11/2011 - Technical Support - 5 Replies HeyHo,
kann mir
jmd. zeigen wie ich am besten ein Plugin erstelle,
das für Bukkit server
orientieren möchte ich mich, das ich ein Remote Redstone Plugin erstelle
Mfg
.NoThx
Nachtrag: