Ich arbeite gerade an einem Bukkit-Plugin, um benutzerdefinierte Bereiche zu beanspruchen, und ich verwende Rechtecke (und .intersect()), um zu prüfen, ob sich Bereiche überschneiden, bevor ein Anspruch erstellt wird.Überprüfen, ob sich Tausende von Rechtecken überschneiden
Ich versuche einen Weg zu finden, wo ich nicht jeden einzelnen Anspruch (von dem es irgendwann Zehntausende geben wird) überprüfen muss, da dies sicherlich einige Zeit dauern wird. Ich muss auch nach Besitzern von Ansprüchen suchen, wenn Spieler Dinge tun, wie Blöcke aufbrechen oder Blöcke platzieren.
In meinem derzeitigen System (das keine benutzerdefinierten Schadensgrößen zulässt, nur Quadrate) muss ich höchstens etwa 10 Ansprüche prüfen, da ich Ansprüche in der Nähe des Anspruchs erkennen kann (höchstens 64 Blöcke entfernt) der maximale Radius von Ansprüchen in diesem System), aber jetzt können die Anspruchgrößen in der Theorie mit dem neuen System unendlich groß sein.
Wird die Überprüfung aller Rechtecke sehr lange dauern? Bin ich dumm, gibt es eine Möglichkeit, um Rechtecke in der Nähe zu überprüfen, auch wenn die Größe unbegrenzt ist?