SteamWar/BungeeCore
Archiviert
13
2

Ignore-System initial push #93

Manuell gemergt
Lixfel hat 10 Commits von IgnoreSystem nach master 2020-08-29 11:08:44 +02:00 zusammengeführt
Mitwirkender

Closes #58

Closes #58
Lixfel hat 2020-06-16 10:51:46 +02:00 Änderungen angefragt
@ -52,2 +52,4 @@
setInstance(this);
loadConfig();
IgnoreSystem.folder = new File(getDataFolder() + "/ignoreSystem/"); //folder where the playerdata from the "/ignore" system is saved
Besitzer

Nein, das kommt in die Datenbank (das skaliert schließlich)

Nein, das kommt in die Datenbank (das skaliert schließlich)
@ -0,0 +23,4 @@
return ignorers.get(ignorer).isIgnoring(ignored);
}
public static void load(UUID id) {
Besitzer

Muss diese Funktion public sein?

Besser fände ich, wenn es eine private-Methode IgnoreSystem get(UUID) gibt, die ein IgnoreSystem für die UUID zurückgibt, unabhängig davon, ob sie schon gecached ist, oder ob sie noch aus der Datenbank geladen werden muss. Diese funktion kann dann in isIgnored, ignore und unIgnore verwendet werden.

Muss diese Funktion public sein? Besser fände ich, wenn es eine private-Methode IgnoreSystem get(UUID) gibt, die ein IgnoreSystem für die UUID zurückgibt, unabhängig davon, ob sie schon gecached ist, oder ob sie noch aus der Datenbank geladen werden muss. Diese funktion kann dann in isIgnored, ignore und unIgnore verwendet werden.
@ -0,0 +44,4 @@
ignorers.remove(id);
}
public static void ignore(ProxiedPlayer victim, ProxiedPlayer offender) {
Besitzer

Lieber über UUIDs als ProxiedPlayer

Lieber über UUIDs als ProxiedPlayer
@ -0,0 +45,4 @@
}
public static void ignore(ProxiedPlayer victim, ProxiedPlayer offender) {
if (victim==null || offender==null) return;
Besitzer

Warum sollte null hier überhaupt ankommen?

Warum sollte null hier überhaupt ankommen?
@ -0,0 +51,4 @@
ignorers.get(victim.getUniqueId()).ignore(offender.getUniqueId());
}
public static void unIgnore(ProxiedPlayer victim, ProxiedPlayer offender) {
Besitzer

Auch hier lieber UUIDs

Auch hier lieber UUIDs
@ -0,0 +52,4 @@
}
public static void unIgnore(ProxiedPlayer victim, ProxiedPlayer offender) {
if (victim==null || offender==null) return;
Besitzer

Warum sollte hier überhaupt null ankommen?

Warum sollte hier überhaupt null ankommen?
@ -0,0 +63,4 @@
/**
* List of Ignored Players
*/
private ArrayList<UUID> ignored;
Besitzer

Bitte keine ArrayList, sondern ein Set (Performance + keine Dopplungen möglich)

Bitte keine ArrayList, sondern ein Set (Performance + keine Dopplungen möglich)
@ -0,0 +79,4 @@
*/
public IgnoreSystem(UUID id) {
ignored = new ArrayList<UUID>();
File f = new File(folder+id.toString()+".cfg");
Besitzer

Wie bereits geschrieben: Eine Datenbank-Tabelle ist da die sauberere Lösung

Wie bereits geschrieben: Eine Datenbank-Tabelle ist da die sauberere Lösung
@ -0,0 +108,4 @@
*/
public void ignore(UUID id) {
if (!ignored.contains(id))
ignored.add(id);
Besitzer

Bei Set ist Überprüfung unnötig

Bei Set ist Überprüfung unnötig
Besitzer

Bei einer Datenbank: Hier mit Datenbank synchronisieren, nicht wenn der Spieler disconnected

Bei einer Datenbank: Hier mit Datenbank synchronisieren, nicht wenn der Spieler disconnected
@ -0,0 +117,4 @@
*/
public void unIgnore(UUID id) {
if (ignored.contains(id))
ignored.remove(id);
Besitzer

Bei Set ist Überprüfung unnötig

Bei Set ist Überprüfung unnötig
Besitzer

Bei einer Datenbank: Hier mit Datenbank synchronisieren, nicht wenn der Spieler disconnected

Bei einer Datenbank: Hier mit Datenbank synchronisieren, nicht wenn der Spieler disconnected
@ -24,1 +24,4 @@
}
if (!(sender instanceof ProxiedPlayer)) {
BungeeCore.send(sender, BungeeCore.CHAT_PREFIX + "You cant run this from the Console..");
Besitzer

Deutsch bitte.

Deutsch bitte.
Besitzer

Bzw. kannst du die Nachricht auch komplett weglassen

Bzw. kannst du die Nachricht auch komplett weglassen
@ -25,0 +25,4 @@
if (!(sender instanceof ProxiedPlayer)) {
BungeeCore.send(sender, BungeeCore.CHAT_PREFIX + "You cant run this from the Console..");
return;
Besitzer

Tab-spacing verhauen

Tab-spacing verhauen
@ -0,0 +9,4 @@
public class IgnoreCommand extends BasicCommand {
public IgnoreCommand() {
super("ignore", "steamwar.ignore");
Besitzer

Berechtigung null

Berechtigung null
@ -0,0 +18,4 @@
ProxiedPlayer p = (ProxiedPlayer) s;
ProxiedPlayer target = ProxyServer.getInstance().getPlayer(args[0]);
if(target == null){
BungeeCore.send(p, BungeeCore.CHAT_PREFIX + "§cDieser Spieler ist derzeit nicht online!");
Besitzer

Sollte auch funktionieren, wenn das target nicht online ist. Nutze daher den SteamwarUser statt ProxiedPlayer

Sollte auch funktionieren, wenn das target nicht online ist. Nutze daher den SteamwarUser statt ProxiedPlayer
@ -0,0 +21,4 @@
BungeeCore.send(p, BungeeCore.CHAT_PREFIX + "§cDieser Spieler ist derzeit nicht online!");
return;
}else if(target.equals(p)){
BungeeCore.send(p, BungeeCore.CHAT_PREFIX + "§cWie willst du dich selber Ignorieren?");
Besitzer

ignorieren kleingeschrieben.

ignorieren kleingeschrieben.
@ -0,0 +26,4 @@
}else {
IgnoreSystem.ignore(p, target);
BungeeCore.send(p, BungeeCore.CHAT_PREFIX + "§7Du ignorierst nun " + target.getDisplayName() + ".");
}
Besitzer

Was ist nur mit deinem Tab-Spacing los?

Was ist nur mit deinem Tab-Spacing los?
@ -39,1 +40,4 @@
return;
}else if (IgnoreSystem.isIgnored(target.getUniqueId(), player.getUniqueId())) {
BungeeCore.send(player, BungeeCore.CHAT_PREFIX + "§cDieser Spieler hat dich geblockt!");
return;
Besitzer

Ich weiß nicht, ob auch bei /r diese Zeilen aufgerufen werden (bitte nochmal überprüfen)

Ich weiß nicht, ob auch bei /r diese Zeilen aufgerufen werden (bitte nochmal überprüfen)
Autor
Mitwirkender

die Zeile if (args.length < 2) { BungeeCore.send(player, BungeeCore.CHAT_PREFIX + "/msg [Benutzer] [Nachricht]"); return; }lässt mich vermuten, dass es nicht für /r gültig ist

die Zeile ```if (args.length < 2) { BungeeCore.send(player, BungeeCore.CHAT_PREFIX + "/msg [Benutzer] [Nachricht]"); return; }```lässt mich vermuten, dass es nicht für /r gültig ist
Besitzer

Nein, ich meine, ob das Blocken auch /r Nachrichten blockiert!

Nein, ich meine, ob das Blocken auch /r Nachrichten blockiert!
@ -0,0 +9,4 @@
public class UnIgnoreCommand extends BasicCommand {
public UnIgnoreCommand() {
super("unignore", "steamwar.ignore");
Besitzer

Auch hier: Berechtigung null

Auch hier: Berechtigung null
@ -0,0 +17,4 @@
if (!(s instanceof ProxiedPlayer)) return;
ProxiedPlayer p = (ProxiedPlayer) s;
ProxiedPlayer target = ProxyServer.getInstance().getPlayer(args[0]);
if(target == null){
Besitzer

Tab-Spacing

Tab-Spacing
Autor
Mitwirkender

bei mir stimmt das Tab-Spacing überall - villeicht zeigt git es anders an oder ist meine tab-breite im verhältniss zur leerzeichenbreite anders als deine

bei mir stimmt das Tab-Spacing überall - villeicht zeigt git es anders an oder ist meine tab-breite im verhältniss zur leerzeichenbreite anders als deine
@ -0,0 +18,4 @@
ProxiedPlayer p = (ProxiedPlayer) s;
ProxiedPlayer target = ProxyServer.getInstance().getPlayer(args[0]);
if(target == null){
BungeeCore.send(p, BungeeCore.CHAT_PREFIX + "§cDieser Spieler ist derzeit nicht online!");
Besitzer

Auch hier: Bitte mit SteamwarUser

Auch hier: Bitte mit SteamwarUser
Autor
Mitwirkender

diese nachricht wird an den command-sender geschickt -> er ist garantiert online, sonst hätte er den Befehl ja nicht senden können

diese nachricht wird an den command-sender geschickt -> er ist garantiert online, sonst hätte er den Befehl ja nicht senden können
Besitzer

Ich meine target.

Ich meine target.
Besitzer

Man kann keinen Spieler blocken, der derzeit offline ist. Das muss geändert werden.

Man kann keinen Spieler blocken, der derzeit offline ist. Das muss geändert werden.
@ -127,3 +129,4 @@
@EventHandler
public void onServerDisconnect(ServerDisconnectEvent e){
IgnoreSystem.onStop(); //save all
Besitzer

Dieses Event wird getriggert, wenn der Subserver beendet wird, nicht wenn der Server runterfährt! Bei Umsetzung in Datenbank sollte das sowieso nicht mehr nötig sein.

Dieses Event wird getriggert, wenn der Subserver beendet wird, nicht wenn der Server runterfährt! Bei Umsetzung in Datenbank sollte das sowieso nicht mehr nötig sein.
Autor
Mitwirkender

gibt es noch irgendein problem hiermit? würde gerne das hier aus den pr raushaben..

gibt es noch irgendein problem hiermit? würde gerne das hier aus den pr raushaben..
Lixfel hat 2020-08-15 17:08:21 +02:00 Änderungen angefragt
Lixfel hat einen Kommentar hinterlassen
Besitzer

Bitte das Tab-Spacing überall fixen!

Bitte das Tab-Spacing überall fixen!
Lixfel hat die Änderungen 2020-08-29 11:08:39 +02:00 genehmigt
Lixfel hat diesen Pull-Request 2020-08-29 11:08:44 +02:00 geschlossen
Lixfel löschte die Branch IgnoreSystem 2020-08-29 11:09:04 +02:00
Dieses Repo ist archiviert. Du kannst Pull-Requests nicht kommentieren.
Keine Beschreibung angegeben.