Update EloPlayerHandler and EloSchemHandler to handle non schem FightEndsPackets
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
Alle Prüfungen waren erfolgreich
SteamWarCI Build successful
Dieser Commit ist enthalten in:
Ursprung
a5e4646e0a
Commit
8538a09a86
@ -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;
|
||||||
|
@ -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;
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren