SteamWar/BungeeCore
Archiviert
13
2

Update EloPlayerHandler and EloSchemHandler to handle non schem FightEndsPackets
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful

Dieser Commit ist enthalten in:
yoyosource 2024-08-03 13:15:28 +02:00
Ursprung a5e4646e0a
Commit 8538a09a86
2 geänderte Dateien mit 19 neuen und 6 gelöschten Zeilen

Datei anzeigen

@ -32,6 +32,7 @@ import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import net.kyori.adventure.title.Title; import net.kyori.adventure.title.Title;
import javax.xml.validation.Schema;
import java.time.Duration; import java.time.Duration;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -52,8 +53,15 @@ public class EloPlayerHandler extends PacketHandler {
*/ */
@Handler @Handler
public void handle(FightEndsPacket fightEndsPacket) { public void handle(FightEndsPacket fightEndsPacket) {
if (!ArenaMode.getBySchemType(SchematicType.fromDB(fightEndsPacket.getGameMode())).isRanked()) SchematicType schematicType = SchematicType.fromDB(fightEndsPacket.getGameMode());
return; ArenaMode arenaMode;
if (schematicType == null) {
arenaMode = ArenaMode.getByChat(fightEndsPacket.getGameMode());
} else {
arenaMode = ArenaMode.getBySchemType(schematicType);
}
if (arenaMode == null) return;
if (!arenaMode.isRanked()) return;
if (EloSchemHandler.publicVsPrivate(fightEndsPacket)) if (EloSchemHandler.publicVsPrivate(fightEndsPacket))
return; return;

Datei anzeigen

@ -19,18 +19,21 @@
package de.steamwar.velocitycore.network.handlers; package de.steamwar.velocitycore.network.handlers;
import de.steamwar.velocitycore.ArenaMode;
import de.steamwar.network.packets.PacketHandler; import de.steamwar.network.packets.PacketHandler;
import de.steamwar.network.packets.common.FightEndsPacket; import de.steamwar.network.packets.common.FightEndsPacket;
import de.steamwar.sql.SchemElo; import de.steamwar.sql.SchemElo;
import de.steamwar.sql.SchematicNode; import de.steamwar.sql.SchematicNode;
import de.steamwar.sql.SchematicType; import de.steamwar.sql.SchematicType;
import de.steamwar.velocitycore.ArenaMode;
public class EloSchemHandler extends PacketHandler { public class EloSchemHandler extends PacketHandler {
private static final int K = 20; private static final int K = 20;
public static boolean publicVsPrivate(FightEndsPacket packet) { public static boolean publicVsPrivate(FightEndsPacket packet) {
if (packet.getRedSchem() == -1 && packet.getBlueSchem() == -1) {
return false;
}
SchematicNode blueSchem = SchematicNode.getSchematicNode(packet.getBlueSchem()); SchematicNode blueSchem = SchematicNode.getSchematicNode(packet.getBlueSchem());
SchematicNode redSchem = SchematicNode.getSchematicNode(packet.getRedSchem()); SchematicNode redSchem = SchematicNode.getSchematicNode(packet.getRedSchem());
return (blueSchem.getOwner() == 0) != (redSchem.getOwner() == 0); return (blueSchem.getOwner() == 0) != (redSchem.getOwner() == 0);
@ -38,9 +41,11 @@ public class EloSchemHandler extends PacketHandler {
@Handler @Handler
public void handle(FightEndsPacket fightEndsPacket) { public void handle(FightEndsPacket fightEndsPacket) {
if (!ArenaMode.getBySchemType(SchematicType.fromDB(fightEndsPacket.getGameMode())).isRanked()) { SchematicType type = SchematicType.fromDB(fightEndsPacket.getGameMode());
return; if (type == null) return;
} ArenaMode arenaMode = ArenaMode.getBySchemType(type);
if (arenaMode == null) return;
if (!arenaMode.isRanked()) return;
if (publicVsPrivate(fightEndsPacket)) if (publicVsPrivate(fightEndsPacket))
return; return;