SteamWar/BungeeCore
Archiviert
13
2

Arena Merging 2.0 #329

Zusammengeführt
Lixfel hat 12 Commits von arena_merging_2.0 nach master 2022-05-01 22:45:03 +02:00 zusammengeführt
2 geänderte Dateien mit 45 neuen und 0 gelöschten Zeilen
Nur Änderungen aus Commit ef8e5a3a0d werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -20,6 +20,8 @@
package de.steamwar.bungeecore.commands;
import de.steamwar.bungeecore.*;
import de.steamwar.bungeecore.inventory.SWInventory;
import de.steamwar.bungeecore.inventory.SWItem;
import de.steamwar.bungeecore.listeners.mods.ModLoaderBlocker;
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.CommandSender;
@ -161,6 +163,42 @@ public class FightCommand extends BasicCommand {
callback.run(player, mode, map);
Chaoscaot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

So zu filtern ist definitiv unschön, bitte anders lösen. (ggf. mit Methodenargument)

So zu filtern ist definitiv unschön, bitte anders lösen. (ggf. mit Methodenargument)
}
Veraltet
Review

else if-Block ist der gleiche wie der if block => Verodern!

else if-Block ist der gleiche wie der if block => Verodern!
public static boolean suggestMerging(ProxiedPlayer player, ArenaMode mode, String map, FightCallback declineMerge) {
Arenaserver mergable = null;
for (Subserver subserver : Subserver.getServerList()) {
if(subserver instanceof Arenaserver) {
Arenaserver arenaserver = (Arenaserver) subserver;
if(mode.getDisplayName().equals(arenaserver.getMode()) && map.equals(arenaserver.getMap()) && arenaserver.isAllowMerge() && arenaserver.getServer().getPlayers().size() == 1) {
mergable = arenaserver;
Chaoscaot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Bitte mal an andere Stellen schauen, aber ich glaube, hier fehlt ein synchronized

Bitte mal an andere Stellen schauen, aber ich glaube, hier fehlt ein synchronized
break;
}
}
}
if(mergable != null) {
SWInventory inventory = new SWInventory(player, 9, Message.parse("FIGHT_MERGE_TITLE", player));
inventory.addItem(0, new SWItem(Message.parse("FIGHT_MERGE_DECLINE", player), 1), click -> {
inventory.close();
declineMerge.run(player, mode, map);
});
Arenaserver finalMergable = mergable;
Veraltet
Review

Hier evtl. stattdessen if mergable == null return true machen? Macht den Rest einfacher lesbar.

Hier evtl. stattdessen if mergable == null return true machen? Macht den Rest einfacher lesbar.
SWItem item = new SWItem("§e" + ArenaMode.getByInternal(finalMergable.getMode()).getDisplayName() + "§7: §e" + finalMergable.getMap().toUpperCase(), 11);
item.addLore(Message.parse("FIGHT_MERGE_INFO_LORE_1", player, finalMergable.getServer().getPlayers().stream().map(ProxiedPlayer::getDisplayName).reduce((player1, player2) -> player1 + ", " + player2).orElse("Error?")));
inventory.addItem(4, item, click -> {});
inventory.addItem(8, new SWItem(Message.parse("FIGHT_MERGE_ACCEPT", player), 10), click -> {
if(BungeeCore.get().getProxy().getServerInfo(finalMergable.getServer().getName()) != null) {
Chaoscaot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Bitte durchgängig Message-System verwenden. Hier verwendest du übrigens den internalMode (nicht nötig, du hast ja schon mode. Bitte nicht die Map zu Uppercase casten.

Bitte durchgängig Message-System verwenden. Hier verwendest du übrigens den internalMode (nicht nötig, du hast ja schon mode. Bitte nicht die Map zu Uppercase casten.
finalMergable.sendPlayer(player);
} else {
Veraltet
Review

Mir gefällt es nicht ganz, dass die Methode sowohl durch den Returnwert als auch über declineMerge das gleiche mache n kann (wobei die Booleanrichtung auch durch den Methodennamen unklar ist). (Würde ich auch so akzeptieren, aber schöner wäre es anders).

Evtl. die createArena-Methode sofort eine Arena starten lassen, wenn merging nicht allowed ist (und returnen) und dann die suggestMerging-Methode am Ende der Methode ausführen.

Mir gefällt es nicht ganz, dass die Methode sowohl durch den Returnwert als auch über declineMerge das gleiche mache n kann (wobei die Booleanrichtung auch durch den Methodennamen unklar ist). (Würde ich auch so akzeptieren, aber schöner wäre es anders). Evtl. die createArena-Methode sofort eine Arena starten lassen, wenn merging nicht allowed ist (und returnen) und dann die suggestMerging-Methode am Ende der Methode ausführen.
Message.send("FIGHT_MERGE_OFFLINE", player);
Lixfel markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Error? Hackts? Dann werf wenn schon einen richtigen Fehler!

Error? Hackts? Dann werf wenn schon einen richtigen Fehler!
declineMerge.run(player, mode, map);
Chaoscaot markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Das wirkt mir nach einem sehr merkwürdigen Check, ob der Server noch online ist. Entweder wir haben dafür eine Funktion im Subserver oder du machst das über Spieler == 0

Das wirkt mir nach einem sehr merkwürdigen Check, ob der Server noch online ist. Entweder wir haben dafür eine Funktion im Subserver oder du machst das über Spieler == 0
}
});
inventory.open();
return false;
}
return true;
}
@Override
public void execute(CommandSender sender, String[] args) {
createArena(sender, "/fight ", args, 0, false, (player, mode, map) -> {

Datei anzeigen

@ -588,3 +588,10 @@ RANK_NEEDED_FIGHTS_LEFT={0} §8(§7noch §e{1}§7 Kämpfe nötig§8)
MODIFICATION_BAN_MESSAGE=Du hast probiert den FabricModSender zu umgehen / zu modifizieren!
MODIFICATION_BAN_LOG={0} hat probiert den Fabric Mod Sender zu editieren / umzugehen!
MODIFICATION_CHECK_SUCCESS=§eDeine Mods wurden geprüft und du darfst nun auf Arenen joinen!
#Arena Merging
FIGHT_MERGE_TITLE=Gleicher Fight gefunden!
FIGHT_MERGE_DECLINE=Neue Arena starten
Veraltet
Review

Kampf

Kampf
FIGHT_MERGE_ACCEPT=Fight beitreten
FIGHT_MERGE_INFO_LORE_1=§7Von: §e{0}
Veraltet
Review

Kampf

Kampf
FIGHT_MERGE_OFFLINE=Der Server dem du beitreten wolltest ist nicht mehr online
Veraltet
Review

§8:

§8: