Add Missing Commits

This commit is contained in:
2024-08-16 18:04:02 +02:00
parent 8e1b2dea57
commit 765a0ef1f3
7 changed files with 32 additions and 14 deletions
@@ -130,6 +130,7 @@ USAGE_ALERT=§8/§7alert §8[§emessage§8]
USAGE_IGNORE=§8/§7ignore §8[§eplayer§8]
#ModListener
CLIENT_DISALLOWED=Attempted use of client {0}
MOD_RED_SING=Attempted use of mod {0}
MOD_RED_PLUR=Attempted use of mods:\n{0}
MOD_YELLOW_SING=§7Deactivate the mod §e{0}§7 to continue playing on §eSteam§8War§7.
@@ -292,7 +293,7 @@ FIGHT_UNKNOWN_GAMEMODE=§cUnknown gamemode: {0}
FIGHT_UNKNOWN_ARENA=§cThe desired arena does not exist.
FIGHT_IN_ARENA=§cYou are already in an arena.
FIGHT_BROADCAST=§7Click §ehere§7 to fight §e{0} §7against §e{1}!
FIGHT_BROADCAST_HOVER=§aFight §eagainst §7{1}
FIGHT_BROADCAST_HOVER=§aFight §eagainst §7{0}
#CheckCommand
CHECK_REMINDER=§7There are §e{0} §7schematics left for review§8!
@@ -115,6 +115,7 @@ USAGE_ALERT=§8/§7alert §8[§eNachricht§8]
USAGE_IGNORE=§8/§7ignore §8[§eSpieler§8]
#ModListener
CLIENT_DISALLOWED=Versuchte Benutzung des Clients {0}
MOD_RED_SING=Versuchte Benutzung des Mods {0}
MOD_RED_PLUR=Versuchte Benutzung der Mods:\n{0}
MOD_YELLOW_SING=§7Deaktiviere den Mod §e{0}§7, um weiter auf §eSteam§8War §7spielen zu können.
@@ -275,7 +276,7 @@ FIGHT_UNKNOWN_GAMEMODE=§cUnbekannter Spielmodus: {0}
FIGHT_UNKNOWN_ARENA=§cDie gewünschte Arena gibt es nicht.
FIGHT_IN_ARENA=§cDu befindest dich bereits in einer Arena.
FIGHT_BROADCAST=§7Klicke §ehier§7, um §e{0} §7gegen §e{1} §7zu §7kämpfen!
FIGHT_BROADCAST_HOVER=§aGegen §7{1} §ekämpfen
FIGHT_BROADCAST_HOVER=§aGegen §7{0} §ekämpfen
#CheckCommand
CHECK_REMINDER=§7Es sind §e{0} §7Schematics zu prüfen§8!
@@ -642,7 +643,6 @@ RANK_PLAYER_FOUND=§eRang §7von §e{0}
RANK_HEADER={0} §e{1} {2}
RANK_UNPLACED=§7unplatziert
RANK_PLACED=§e{0}§8. §7mit §e{1} §7Elo§8.
RANK_EMBLEM=§7Emblem§8: {0}
#Fabric Mod Sender
MODIFICATION_BAN_MESSAGE=Du hast probiert den FabricModSender zu umgehen / zu modifizieren!
@@ -20,6 +20,7 @@
package de.steamwar.velocitycore;
import de.steamwar.messages.Chatter;
import de.steamwar.messages.Message;
import de.steamwar.persistent.Subserver;
import de.steamwar.sql.EventFight;
import de.steamwar.sql.Team;
@@ -43,7 +44,7 @@ public class EventStarter {
public EventStarter() {
EventFight.loadAllComingFights();
VelocityCore.schedule(this::run).delay(10, TimeUnit.SECONDS).schedule();
VelocityCore.schedule(this::run).repeat(10, TimeUnit.SECONDS).schedule();
}
public static Map<Integer, Subserver> getEventServer() {
@@ -73,7 +74,7 @@ public class EventStarter {
} else {
command = "/" + spectatePorts.get(next.getSpectatePort());
}
Chatter.broadcast().system("EVENT_FIGHT_BROADCAST", "EVENT_FIGHT_BROADCAST_HOVER", ClickEvent.runCommand(command), blue.getTeamColor(), blue.getTeamName(), red.getTeamColor(), red.getTeamName());
Chatter.broadcast().system("EVENT_FIGHT_BROADCAST", new Message("EVENT_FIGHT_BROADCAST_HOVER"), ClickEvent.runCommand(command), blue.getTeamColor(), blue.getTeamName(), red.getTeamColor(), red.getTeamName());
}
}
@@ -130,7 +130,7 @@ public class FightCommand extends SWCommand {
public void fight(@Validator("arenaPlayer") PlayerChatter sender, @Mapper("nonHistoricArenaMode") @OptionalValue("") @AllowNull ArenaMode arenaMode, @Mapper("arenaMap") @OptionalValue("") @AllowNull String map) {
createArena(sender, "/fight ", true, arenaMode, map, false,
(p, mode, m) -> new ServerStarter().arena(mode, m).blueLeader(p.getPlayer()).callback(
arena -> Chatter.broadcast().system("FIGHT_BROADCAST", new Message("FIGHT_BROADCAST_HOVER"), ClickEvent.runCommand("/arena " + arena.getServer().getName()), mode.getGameName(), p.getPlayer().getUsername())
arena -> Chatter.broadcast().system("FIGHT_BROADCAST", new Message("FIGHT_BROADCAST_HOVER", p.getPlayer().getUsername()), ClickEvent.runCommand("/arena " + arena.getServer().getName()), mode.getGameName(), p.getPlayer().getUsername())
).start()
);
}
@@ -22,6 +22,7 @@ package de.steamwar.velocitycore.mods;
import com.google.gson.JsonObject;
import com.velocitypowered.api.proxy.Player;
import com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier;
import de.steamwar.messages.Chatter;
public class Badlion {
// https://github.com/BadlionClient/BadlionClientModAPI
@@ -50,6 +51,10 @@ public class Badlion {
}
public void sendRestrictions(Player player) {
// TODO: Remove when Badlion is fixed, or we fixed the Badlion packet
Chatter sender = Chatter.of(player);
player.disconnect(sender.parse("CLIENT_DISALLOWED", "Badlion"));
player.sendPluginMessage(MinecraftChannelIdentifier.from("badlion:mods"), packet);
}
}
@@ -20,13 +20,13 @@
package de.steamwar.velocitycore.network.handlers;
import com.velocitypowered.api.proxy.Player;
import de.steamwar.velocitycore.ArenaMode;
import de.steamwar.velocitycore.VelocityCore;
import de.steamwar.network.packets.PacketHandler;
import de.steamwar.network.packets.common.FightEndsPacket;
import de.steamwar.sql.SchematicType;
import de.steamwar.sql.SteamwarUser;
import de.steamwar.sql.UserElo;
import de.steamwar.velocitycore.ArenaMode;
import de.steamwar.velocitycore.VelocityCore;
import lombok.RequiredArgsConstructor;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
@@ -52,8 +52,15 @@ public class EloPlayerHandler extends PacketHandler {
*/
@Handler
public void handle(FightEndsPacket fightEndsPacket) {
if (!ArenaMode.getBySchemType(SchematicType.fromDB(fightEndsPacket.getGameMode())).isRanked())
return;
SchematicType schematicType = SchematicType.fromDB(fightEndsPacket.getGameMode());
ArenaMode arenaMode;
if (schematicType == null) {
arenaMode = ArenaMode.getByInternal(fightEndsPacket.getGameMode());
} else {
arenaMode = ArenaMode.getBySchemType(schematicType);
}
if (arenaMode == null) return;
if (!arenaMode.isRanked()) return;
if (EloSchemHandler.publicVsPrivate(fightEndsPacket))
return;
@@ -19,18 +19,21 @@
package de.steamwar.velocitycore.network.handlers;
import de.steamwar.velocitycore.ArenaMode;
import de.steamwar.network.packets.PacketHandler;
import de.steamwar.network.packets.common.FightEndsPacket;
import de.steamwar.sql.SchemElo;
import de.steamwar.sql.SchematicNode;
import de.steamwar.sql.SchematicType;
import de.steamwar.velocitycore.ArenaMode;
public class EloSchemHandler extends PacketHandler {
private static final int K = 20;
public static boolean publicVsPrivate(FightEndsPacket packet) {
if (packet.getRedSchem() == -1 && packet.getBlueSchem() == -1) {
return false;
}
SchematicNode blueSchem = SchematicNode.getSchematicNode(packet.getBlueSchem());
SchematicNode redSchem = SchematicNode.getSchematicNode(packet.getRedSchem());
return (blueSchem.getOwner() == 0) != (redSchem.getOwner() == 0);
@@ -38,9 +41,10 @@ public class EloSchemHandler extends PacketHandler {
@Handler
public void handle(FightEndsPacket fightEndsPacket) {
if (!ArenaMode.getBySchemType(SchematicType.fromDB(fightEndsPacket.getGameMode())).isRanked()) {
return;
}
SchematicType type = SchematicType.fromDB(fightEndsPacket.getGameMode());
if (type == null) return;
ArenaMode arenaMode = ArenaMode.getBySchemType(type);
if (!arenaMode.isRanked()) return;
if (publicVsPrivate(fightEndsPacket))
return;