Closed resi23 closed 4 years ago
Gute Idee :) mach doch mal bitte einen PullRequest auf, der Code ist leider grottig formatiert.
Das mit den 3-4 Blöcken kann ich nicht nachvollziehen, das sollte natürlich nicht so sein. Ich seh mir das später mal an, arbeite gerade noch an einem ChestSort-Update
Für den "Radius per Group" wird es ein yaml-File geben, so dass jeder die Gruppen beliebig anpassen kann.
Mit PullRequesthab ich es nicht so abe hier sind meine Änderungen im Hastebin zusammengefasst. https://hastebin.com/yufofaxuqi.cs
P.s Ich habe hier nur den Besitzer des Plots die Erlaubnis gegeben das könnte man natürlich auf TrustedMember ausweiten theoretisch.
Werde ich beides einbauen und erweitern, Update sollte heute fertig werden.
Plotsquared hat kein maven Repo, oder? Hast du das selbst kompiliert bzw. nutzt du Gradle, oder einfach die .jar in den BuildPath aufgenommen?
Ich seh grad, die haben ein maven Repo, also alles gut.
Benutzt ihr noch PlotSquared 4? In der API von Version 5 sehe ich nichts von BukkitUtil.
Ja wir nutzen aktuell noch die v4 und ja wir haben es selbst kompiliert. Die v5 habe ich mir noch nicht angesehen. Aber man sollte sich das auch selbst zusammensetzten (https://hastebin.com/idazivosel.cs bevor ich vom Bukkitutil wusste) können bzw ich denke das es in der V5 etwas ähnliches geben müsste.
Müsste jetzt beides eingebaut sein. Bitte probier es mal mit dieser Version: http://repo.jeff-media.de/maven2/de/jeff_media/InvUnload/4.1.0/InvUnload-4.1.0.jar
Gibt auch neue config-Optionen bzgl. PlotSquared sowie eine neue Datei groups.yml (bzw groups.example.yml die man dann umbenennen muss wenn man sie nutzen möchte).
Bitte sag mir ob das mit PlotSquared klappt (habe das Plugin nicht). Das mit den Gruppen sollte jedenfalls klappen :)
Nach Rückmeldung lad ich die neue Version dann ofiiziell hoch.
Das mit den Trusted-Leuten hab ich grad erst gesehen, wird auch noch eingebaut. Aber sollte nicht standardmäßig jeder Kisten außerhalb von Plots nutzen dürfen? Habe PlotSquared noch nie benutzt, aber ich denke, als Standard-Einstellung sollte man eigentlich nur dann keinen Zugriff haben, wenn man
Das mit den Trusted-Leuten hab ich grad erst gesehen, wird auch noch eingebaut. Aber sollte nicht standardmäßig jeder Kisten außerhalb von Plots nutzen dürfen? Habe PlotSquared noch nie benutzt, aber ich denke, als Standard-Einstellung sollte man eigentlich nur dann keinen Zugriff haben, wenn man
- in einem Plot ist
- weder Trusted noch Owner ist oder?
Ja das ist soweit richtig. Ich werde die Version oben mal testen weis aber nicht ob ich das heute noch schaffe. Ich melde mich morgen spätestens mit Ergebnissen zurück.
Moment, ich hab sofort eine neue Version fertig^^
Neue Config Optionen:
##### PlotSquared #####
# When enabled, InvUnload will check if you are using PlotSquared.
# Players will then only be able to unload into chests that are
# in their own plots and in plots that match the settings below
use-plotsquared: true
# Allows players to unload into chests that are in foreign Plots if
# the players is a trusted member of that plot
plotsquared-allow-when-trusted: true
# Allows players to unload into chests that do not belong to any Plot
plotsquared-allow-outside-plots: true
Servus, leider bekomme ich eine Fehlermeldung beim ausführen des Befehls. https://hastebin.com/ojuxetecic.rb vermute mal das dass daran liegt das wir noch v4 haben. Ich kann aber nicht ohne weiteres auf v5 gehen weil noch mehr Plugins erstmal geupdatet werden müssen.
Ich guck mir das morgen mal an, die v4 ist ja kostenlos.
Wie lautet der vollständige Klassenname von BukkitUtil, bzw. welches Package hast du importiert?
Gibt nirgendswo mehr Infos über die API von v4 ...
com.github.intellectualsites.plotsquared.bukkit.util.BukkitUtil?
com.github.intellectualsites.plotsquared.bukkit.util.BukkitUtil?
genau die war das
Ich glaub da haut auch etwas mit den radius nicht hin.
groups.yml
# You can define custom default-radius and max-radius values for certain groups.
# Players will need the invunload.group.[groupname] permission.
# Note: You MUST rename this file to groups.yml if you wish to use it.
inhaber:
default-chest-radius: 5
max-chest-radius: 50
lord:
default-chest-radius: 5
max-chest-radius: 30
legende:
default-chest-radius: 5
max-chest-radius: 25
magier:
default-chest-radius: 5
max-chest-radius: 20
ultra:
default-chest-radius: 5
max-chest-radius: 15
vip:
default-chest-radius: 5
max-chest-radius: 10
premium:
default-chest-radius: 5
max-chest-radius: 5
07aa2239449a3d94f1419fec5625747165ab0000 Bitte hiermit nochmal probieren: http://repo.jeff-media.de/maven2/de/jeff_media/InvUnload/4.1.0-SNAPSHOT2/InvUnload-4.1.0-SNAPSHOT2.jar
Das mit den Gruppen schau ich mir gleich an
Das mit den Gruppen kann ich bestätigen, es kommt 0 raus wenn man in gar keiner Gruppe ist. Das liegt daran dass die config-value max-chest-radius heißt und nicht max-radius... wird sofort behoben
3ada00f94b6f6018df5ceafa5121f0a97a355d53 Sollte mit PlotSquared 4 funktionieren und die Gruppen sind gefixt.
Ob das auch mit PlotSquared 5 klappt kann ich nicht testen, sollte aber eigentlich keinen Unterschied machen.
zwecks Plotsquared scheint es jetzt zu funktionieren. Bei den Gruppen habe ich gerade noch das Problem das der Spieler eigentlich einen max-chest-radius von 30 haben müsste. Im Chat steht aber nur 20.
Das angesprochene Problem mit der Reichweite habe ich unten skizziert. in die Shulker mit dem rote gekritzle sollten die Items rein gehen tun sie auch wenn ich 2 Blöcke entfernt stehe. stehe ich ein paar mehr Blöcke weg dann nicht und das sind weder 20 noch 30 Blöcke entfernung
Mit der Reichweite liegt vermutlich in der GroupUtils in Zeile 39 ind 52
if(!p.hasPermission("invunload.groups."+group)) continue;
Das müsste doch invunload.group."+group statt invunload.groups."+group heißen so steht es zumindest in der groups.example.yml
Ja das stimmt natürlich, ist gefixt.
Dass mit der Shulkerbox kann ich dennoch nicht nachvollziehen. Bei mir klappt das jedes mal perfekt. Bist du sicher dass es an der Entfernung liegt?
Ich wüsste wirklich nicht, was da das Problem sein könnte. Die Methode die Kisten/Blöcke im Radius sucht, kann eigentlich nicht fehlerhaft sein: https://github.com/JEFF-Media-GbR/Spigot-InvUnloadPlus/blob/master/src/main/java/de/jeff_media/InvUnload/BlockUtils.java#L29
Ist es immer die selbe Shulkerbox die nicht geht, oder hast du das auch wo anders beobachten können?
Radius und Gruppen funktionieren nun wie gewollt. Auf meinem Testserver habe ich auch keine Probleme mit der Entfernung. Dann muss das ja irgendwo bei mir liegen. Was mir nur noch aufgefallen ist. Er packt zwar keine Items in die Kisten auf fremden Plots sortiert sie aber wenn ich /chestsort aktiviert habe. Gehört hier eventuell nicht hin fand ich aber erwähnenswert.
Jetzt habe ich das Problem auch auf meinem Testserver wenn zuviel Container im spiel sind habe ich das Gefühl. Hier mit ca 10 Blöcke Abstand
Hier mit ca 5 Blöcke Abstand
Hier fast direkt vor dem Container
Kannst du mir die Testwelt mal schicken/hochladen?
Lass mich raten: du hast ein Anti-Cheat-Plugin, dass das InventoryOpenEvent cancelled wenn der Spieler zu weit weg ist?
Wenn ja kann ich das wahrscheinlich problemlos fixen.
Ich glaube des Rätsel Lösung ist mein Anticheat. Ich habs jetzt mal auf dem testserver rausgenommen und jetzt geht es auch auf mehr Entfernung. Das Problem hatte ich mit der V2.0.2 nicht dort kam aber glaube ich auch noch eine andere Methode bei canPlayerUseChest zum Einsatz
Ha, habs vor 20 Sekunden erraten =D
welches Plugin benutzt du denn? Ich kann im Event die Location einfach auf die Location der Kiste setzen, das sollte das dann umgehen
Ups, das kostet ja. Ich lad dir in 5 Minuten eine neue Testversion hoch, bitte damit nochmal testen
Alles klar
Fuck. Das PlayerInteractEvent hat keine eigene Location. Dann bleibt mir nur übrig mal zu sehen was die Spartan API so hergibt.
Ok, ich glaub ich kann das Abbrechen des Events durch Spartan abbrechen. 10 Minuten
Verdammt, muss ja dann erst wieder checken ob Spartan überhaupt installiert ist und ob die Klasse überhaupt existiert^^
812e0f03cabe9ba15647942046c60d98baa71c33 Bitte testen: http://repo.jeff-media.de/maven2/de/jeff_media/InvUnload/4.1.0-SNAPSHOT5/InvUnload-4.1.0-SNAPSHOT5.jar
Jetzt bekomme ich die Meldung Konnte nichts abladen sogar wenn ich direkt auf dem Container stehe. Keine Fehlermeldungen in der Console.
Wtf... Ich kann das leider nicht testen, da ich ja Spartan nicht gekauft hab, aber ich seh mir das nochmal an, moment
Ich glaube die von Spartan haben einfach ihre API Methode falsch benannt. Laut dieser "Dokumentation" https://pastebin.com/raw/PH63gHRg (mehr als das haben die als API Docs für die Klasse nicht), sollte ich mit e.setCancelled(true) ja das Abbrechen durch Spartan abbrechen können. Offenbar ist es aber genau anders herum... habe jetzt einfach mal true durch false ersetzt.
Bitte hiermit probieren: http://repo.jeff-media.de/maven2/de/jeff_media/InvUnload/4.1.0-SNAPSHOT6/InvUnload-4.1.0-SNAPSHOT6.jar
Übrigens sorry dass wir so viele Versuche brauchen, aber es ist echt ne Qual fremde APIs zu nutzen ohne die Plugins selbst zu haben. Wären alle Plugins open source (so wie sich das gehört^^) dann gäbe es das Problem nicht...
Falls du Discord hast, adde mich mal bitte: mfnalex#1908
Anfrage ist raus
Wie der Titel sschon sagt wollte ich fragen ob du den Max Radius per Gruppe konfigurierbar machen kannst natürlich am besten über eine config.yml was ich in meinem speziellem Fall nicht berücksichtigt habe.
PlayerUtils:
Desweiteren wäre es cool wenn du Plotsquared unterstützen könntest das man nicht in Kisten auf Nachbarplots entleert.
canPlayerUseChest:
Mit dem Source der V2.0.2 Hat es bei mir gut funktioniert.Mit 3.0.0 hab ich teilweise Probleme das ich 3-4 Blocke vor dem Container stehen muss obwohl der Radius höher steht.