forked from SteamWar/SteamWar
Improve StreamingCommand
This commit is contained in:
@@ -25,10 +25,7 @@ import com.velocitypowered.proxy.protocol.packet.UpsertPlayerInfoPacket;
|
||||
import lombok.experimental.UtilityClass;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.*;
|
||||
|
||||
@UtilityClass
|
||||
public class Storage {
|
||||
@@ -49,4 +46,6 @@ public class Storage {
|
||||
public static final Map<Integer, ServerInfo> teamServers = new HashMap<>(); // TeamID -> ServerInfo map
|
||||
|
||||
public static final Map<Player, Map<UUID, UpsertPlayerInfoPacket.Entry>> directTabItems = new HashMap<>();
|
||||
|
||||
public static final Set<Integer> streamingPlayers = new HashSet<>(); // SteamwarUser ID
|
||||
}
|
||||
|
||||
@@ -589,6 +589,7 @@ CHECK_CHECKING=§cYou are checking a Schematic!
|
||||
JOIN_ARENA=§7Click §ehere§7 to join §e{0}
|
||||
JOIN_ARENA_HOVER=§eJoin Arena
|
||||
JOIN_FIRST=§7Please greet §e{0}§7 on the server§8!
|
||||
JOIN_STREAMING=§5Streaming Mode§7 is still active§8.§7 Keep in mind that you will not receive TeamChat nor ServerTeamChat messages§8.
|
||||
|
||||
#EventModeListener
|
||||
EVENTMODE_KICK=§cYou are not an event participant.
|
||||
|
||||
@@ -563,6 +563,7 @@ CHECK_CHECKING=§cDu prüfst gerade eine Schematic!
|
||||
JOIN_ARENA=§7Klicke §ehier§7, um §e{0} §7beizutreten
|
||||
JOIN_ARENA_HOVER=§eArena beitreten
|
||||
JOIN_FIRST=§7Begrüßt alle mal §e{0} §7auf dem Server§8!
|
||||
JOIN_STREAMING=§5Streaming-Modus§7 ist weiterhin aktiv§8.§7 Beachten Sie, dass Sie keine TeamChat- oder ServerTeamChat-Nachrichten erhalten§8.
|
||||
|
||||
#EventModeListener
|
||||
EVENTMODE_KICK=§cDu bist kein Eventteilnehmer.
|
||||
|
||||
@@ -21,22 +21,18 @@ package de.steamwar.velocitycore.commands;
|
||||
|
||||
import de.steamwar.command.SWCommand;
|
||||
import de.steamwar.messages.Chatter;
|
||||
import de.steamwar.persistent.Storage;
|
||||
import de.steamwar.sql.SteamwarUser;
|
||||
import de.steamwar.sql.UserPerm;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class StreamingCommand extends SWCommand {
|
||||
|
||||
private static final Set<Integer> streaming = new HashSet<>();
|
||||
|
||||
public static boolean isNotStreaming(Chatter sender) {
|
||||
return isNotStreaming(sender.user());
|
||||
}
|
||||
|
||||
public static boolean isNotStreaming(SteamwarUser user) {
|
||||
return !streaming.contains(user.getId());
|
||||
return !Storage.streamingPlayers.contains(user.getId());
|
||||
}
|
||||
|
||||
public StreamingCommand() {
|
||||
@@ -46,11 +42,11 @@ public class StreamingCommand extends SWCommand {
|
||||
@Register
|
||||
public void toggleStreamingMode(Chatter sender) {
|
||||
int userId = sender.user().getId();
|
||||
if (streaming.contains(userId)) {
|
||||
streaming.remove(userId);
|
||||
if (Storage.streamingPlayers.contains(userId)) {
|
||||
Storage.streamingPlayers.remove(userId);
|
||||
sender.system("STREAMING_DISABLE");
|
||||
} else {
|
||||
streaming.add(userId);
|
||||
Storage.streamingPlayers.add(userId);
|
||||
sender.system("STREAMING_ENABLE");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,9 +316,10 @@ public class TeamCommand extends SWCommand {
|
||||
StringBuilder st = new StringBuilder();
|
||||
if (VelocityCore.getProxy().getPlayer(user.getUUID()).isPresent()) {
|
||||
if (!StreamingCommand.isNotStreaming(user)) {
|
||||
st.append("§5● ");
|
||||
st.append("§5");
|
||||
} else {
|
||||
st.append("§a");
|
||||
}
|
||||
st.append("§a");
|
||||
} else {
|
||||
st.append("§e");
|
||||
}
|
||||
|
||||
@@ -34,7 +34,6 @@ import de.steamwar.sql.CheckedSchematic;
|
||||
import de.steamwar.sql.SchematicType;
|
||||
import de.steamwar.sql.SteamwarUser;
|
||||
import de.steamwar.sql.UserPerm;
|
||||
import de.steamwar.velocitycore.EventStarter;
|
||||
import de.steamwar.velocitycore.commands.*;
|
||||
import de.steamwar.velocitycore.discord.DiscordBot;
|
||||
import de.steamwar.velocitycore.discord.util.DiscordRanks;
|
||||
@@ -45,7 +44,6 @@ import net.kyori.adventure.text.event.ClickEvent;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
public class ConnectionListener extends BasicListener {
|
||||
|
||||
@@ -105,6 +103,10 @@ public class ConnectionListener extends BasicListener {
|
||||
newPlayers.remove(player.getUniqueId());
|
||||
}
|
||||
|
||||
if (!StreamingCommand.isNotStreaming(user)) {
|
||||
chatter.system("JOIN_STREAMING");
|
||||
}
|
||||
|
||||
DiscordBot.withBot(bot -> DiscordRanks.update(user));
|
||||
|
||||
if (player.getProtocolVersion().noLessThan(ProtocolVersion.MINECRAFT_1_20_5)) {
|
||||
|
||||
Reference in New Issue
Block a user