Wie kann man beim Minecraft Plugin programmieren einen Code erstellen, wo alle Spieler auf dem Server fliegen können?
Wie kann man beim Minecraft Plugin programmieren einen Code erstellen, wo alle Spieler auf dem Server fliegen können?
7 Antworten
if (cmd.getName().equalsIgnoreCase("fly")) {
if (p.hasPermission("fly.execute")) {
Player p = (Player) sender;
if (args.length == 1) {
Player pl = Bukkit.getPlayer(args[0]);
if (pl != null) {
if (pl.getAllowFlight()) {
pl.setAllowFlight(false);
p.sendMessage(pl.getName() + " kann jetzt nicht mehr fliegen.");
pl.sendMessage("Du kannst jetzt nicht mehr fliegen.");
}
else {
pl.setAllowFlight(true);
p.sendMessage("pl.getName() + "kann jetzt fliegen.");
pl.sendMessage("Du kannst jetzt fliegen.");
}
}
else {
p.sendMessage("Dieser Spieler ist nicht online!");
}
}
else {
if (p.getAllowFlight()) {
p.setAllowFlight(false);
p.sendMessage("Du kannst jetzt nicht mehr fliegen.");
}
else {
p.setAllowFlight(true);
p.sendMessage("Du kannst jetzt fliegen.");
}
}
}
else {
p.sendMessage("Keine Berechtigung);
}
(Ich habe den Code nicht getestet)
Mit dem Befehl "/fly" kann man sich selbst fliegen lassen bzw, es wieder deaktivieren. Wenn man "/fly <Spieler>" eingibt, kann man einem anderen Spieler das Fliegen aktivieren bzw deaktivieren.
Benötigt wird dafür das Recht "fly.execute".
Du musst aber noch daran denken, dass du beim PlayerQuitEvent die beiden Zeilen
e.getPlayer().setFlying(false);
e.getPlayer().setAllowFlight(false);
einträgst, sonst können die Spieler auch nach einem rejoin immer noch fliegen.
hab ich doch schon geschrieben in den Kommentaren. Ist mir also bereits aufgefallen. Ich hab den code halt eben schnell runtergeschrieben, ohne ihn nochmal durchzulesen. Da kommt sowas halt vor.
Es fehlt auch eine geschweifte Klammer am Ende und ein Anführungszeichen oben bei der letzten Ausgabe.
Wie wäre es, wenn man vorher erst mal abfragt wer diesen Befehl ausführt ob es die Console oder ein Spieler ist um unnötige Fehler zu vermeiden?
Jep, das wäre gar nicht so verkehrt.
Außerdem war es total dumm von mir erst die Permission von "p" abzufragen, und DANN erst p zu definieren... Ist noch früh am Morgen^^
Und ein Anführungszeichen oben fehlt auch noch bei der letzten Ausgabe "Keine Berechtigung".. Ist dem Fragesteller aber bestimmt selbst aufgefallen ^^
Vielleicht hätte ich den Code erstmal ganz durchlesen sollen, bevor ich ihn abschicke :D
..... eine geschweifte Klammer zu wenig am Ende ..... ich glaub ich leg mich wieder hin.. bin noch nicht wach :D
Danke, Danke, vielen Dank! Endlich konnte mal jemand meine Frage richtig beantworten!
Und wie kann man es machen wenn man /booster fly eingibt, dass dann für alle auf dem Server fliegen an ist? Vielen Dank im Vorheraus!
ganz einfach:
statt
p.setAllowFlight(true);
musst du
for (Player all : Bukkit.getOnlinePlayers()) {
all.setAllowFlight(true);
}
eingeben. Und beim deaktivieren eben dasselbe mit "setAllowFlight(false);"
Übrigens: Falls die Spieler direkt fliegen sollen (und nicht erst nach einem Doppelsprung), kannst du dazu noch
p.setFlying(true);
eingeben.
Also... Wenn du so etwas simples nicht hinbekommst würde ich lieber einen Dev dafür anheuern. Es gibt im übrigen sogar welche, die es kostenlos machen.
Wenn du es unbedingt selbst machen willst würde ich dir raten zuerst die Grundkenntnisse von Java zu lernen und sich dann mit Plugins auseinandersetzen.
Die for-Schleife gehört nämlich zu den Grundkenntnissen und Bukkit.getOnlinePlayers() und setAllowflight() bzw. setFlying() sollte man auch schon ziemlich schnell kennen
Kleiner Tipp: Google danach
Wie schon die anderen geantwortet haben, machst du dich mit dieser Frage eher lächerlich, du willst etwas Programmieren, aber den fertigen Code bekommen? Noch dazu bei so etwas sehr simplen wie /fly... wenn das jeder machen darf, musst du noch nichtmal rechte etc. einfügen...
Suche nach einem Tutorial zu Mc Plugins Programmieren. Da wird es in den ersten Folgen als erstes erklärt. Das schafft jeder ohne Hilfe...
Wie gesagt, denke nicht das du hier eine Person findest, der sich damit auskennt und dir den fertigen Code gibt...
Ach herrje.. jz kommt mein Wissen über die 7 Jahren in Minecraft an :)
Also.. du hast einen MC-Server vermute ich mal aber willst dass alle Spieler auf dem Server fliegen können. Da gibts einen File namens server.properties oder config.yml oder so ist standartmäßig schon da.
Irgendwo sollte "allow-flight=false" oder true stehen. Oder auch fly= blabla
Stellst dann auf true. Jetzt kann jeder Spieler fliegen.
Du kannst auch wenn da es nicht zu finden ist, es auch in den config einfügen.
Da musst du nix grobes machen. :)
Ich will aber wissen, was der Code in Eclipse ist damit alle Spieler auf dem Server fliegen können. Trotzdem danke für deine Antwort!
So funktioniert das nicht - kannst du nicht lesen?
Du willst Code? Dann bezahl einen Entwickler dafür, ansonsten lerne es über viele Jahre hinweg selbständig.
99% all jener, die solche Fragen stellen, wie dieser Kandidat, sind unbelehrbar. Sie wollen Minecraft-Plugins, Discord-Bots und Sonstiges "entwickeln", aber lernen kommt für sie nicht in Frage. Dabei ist es egal, auf welche Art und Weise man versucht, es ihnen zu erklären, es kommt entweder gar nicht an, oder geht direkt durch das Hohle im Kopf.
Ja, ich will ein PLUGIN programmieren mit dem man zb. /booster fly on macht und dann ist fliegen auf dem Server an und wenn man /booster fly off macht ist er aus
Ich will, ich will, ich will.. na dann fang mal an zu lernen. In meiner FA habe ich dir eindeutig erklärt, wie das mit dem Programmieren funktioniert, du musst sie nur noch lesen (Annahme nicht notwendig).
Kannst du nicht auch per command Block für alle Spieler den game Mode ändern?
Ja, aber es ist gefährlich auf einen Server wie Griefergames einen Command block hinzusetzen, weil wenn ein Hacker daraufkommt und den Command block findet sind wir am Ende. Deswegen will ich ein Plugin dafür programmieren. Trotzdem Danke!
Wenn du auf einem Fremdserver spielst wirst du auch kein Plugin installieren können ohne den PC des Besitzers zu hacken, auf einem Privatserver kannst dz auch einfach jedem Spieler Creative geben.
Schon mal dran gedacht, dass die Videos von Typen wie Abgegrieft oder SkyGuy fake sind und ein Spieler ohne Kreativmodus und Operatorrechten nichts mit denen anfangen kann, auch wenn es ein "Hacker" ist.
Davor gehört eine Abfrage ob der CommandSender überhaupt ein Spieler ist