• 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!

PlugIn Alle Koordinaten zwischen zwei Punkten speichern und protecten

SteuerungZ

Minecrafter
Registriert
17 April 2020
Beiträge
3
Diamanten
300
Hallo zusammen,
Ich bin noch relativ neu in der Programmierung und wollt nun ein Plugin entwickeln, dass eine bestimmte Region Protectet und so verhindern, dass andere Spieler dort abbauen können. Gibt es die Möglichkeit nach dem der Spieler die beiden Eckpunkte per command oder Item gesetzt hat(das sollte nicht unbedingt das Problem sein) dazwischen alle Koordinaten einfach zu speichern und dem Spieler zuzuweisen? Dadurch soll es im Prinzip möglich sein, dass z.b beim BreakBlockEvent abgefragt wird, ob der Bereich bzw. die Koordinaten,wo sich der aktuelle Block befindet , dem Spieler gehört und wen dem nicht so ist dieses Event zu canceln.

Wäre cool, wenn mir hier jemand den , mit dem ich das umsetzen könnte liefern kann:)
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Ich geh einfach mal anhand der "beiden Eckpunkte" davon aus, dass du damit ein zu den Achsen paralleles Rechteck als Region haben möchtest.

Das praktische daran ist, dass du wirklich nicht mehr als diese zwei Punkte brauchst. Du musst sogar nicht mal verstehen, was dann mit diesen Punkten passiert, wenn du zum Beispiel die Klasse BoundingBox, die Bukkit schon von sich aus mitbringt, verwendest. Diese Klasse ist sogar auf 3D ausgelegt, wenn deine Region also von ganz unten bis ganz oben gehen soll, musst du diese Werte dementsprechend im Konstruktor angeben. Mit den contains-Methoden kannst du jetzt also ganz einfach rausfinden, ob der Block an der entsprechenden Position dem Spieler gehört oder nicht.

Ein kleiner Hinweis noch zum Speichern: Wenn du die Regionen in einer YAML-Config speichern möchtest, kannst du einfach direkt diese BoundingBox abspeichern, denn die ist ConfigurationSerializable. Wie man das dann anwendet, kannst du in meinem Tutorial dazu nachlesen.

Edit: Falls du wissen möchtest, wie die Klasse das anstellt (und das ist vermutlich sinnvoll), kannst du dir den Quellcode dazu mal anschauen.
 
Zuletzt bearbeitet:

SteuerungZ

Minecrafter
Registriert
17 April 2020
Beiträge
3
Diamanten
300
Ich geh einfach mal anhand der "beiden Eckpunkte" davon aus, dass du damit ein zu den Achsen paralleles Rechteck als Region haben möchtest.

Das praktische daran ist, dass du wirklich nicht mehr als diese zwei Punkte brauchst. Du musst sogar nicht mal verstehen, was dann mit diesen Punkten passiert, wenn du zum Beispiel die Klasse BoundingBox, die Bukkit schon von sich aus mitbringt, verwendest. Diese Klasse ist sogar auf 3D ausgelegt, wenn deine Region also von ganz unten bis ganz oben gehen soll, musst du diese Werte dementsprechend im Konstruktor angeben. Mit den contains-Methoden kannst du jetzt also ganz einfach rausfinden, ob der Block an der entsprechenden Position dem Spieler gehört oder nicht.

Ein kleiner Hinweis noch zum Speichern: Wenn du die Regionen in einer YAML-Config speichern möchtest, kannst du einfach direkt diese BoundingBox abspeichern, denn die ist ConfigurationSerializable. Wie man das dann anwendet, kannst du in meinem Tutorial dazu nachlesen.

Edit: Falls du wissen möchtest, wie die Klasse das anstellt (und das ist vermutlich sinnvoll), kannst du dir den Quellcode dazu mal anschauen.

Das ist natürlich sehr praktisch, dass es dafür direkt eine Klasse gibt. Ich werde mir diese dann Mal bei der nächsten Gelegenheit näher anschauen und ein wenig damit herum probieren.
Vielen Dank für deine schnelle und ausführliche Hilfe.
 
Oben