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 lombok.experimental.UtilityClass;
|
||||||
|
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
@UtilityClass
|
@UtilityClass
|
||||||
public class Storage {
|
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<Integer, ServerInfo> teamServers = new HashMap<>(); // TeamID -> ServerInfo map
|
||||||
|
|
||||||
public static final Map<Player, Map<UUID, UpsertPlayerInfoPacket.Entry>> directTabItems = new HashMap<>();
|
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=§7Click §ehere§7 to join §e{0}
|
||||||
JOIN_ARENA_HOVER=§eJoin Arena
|
JOIN_ARENA_HOVER=§eJoin Arena
|
||||||
JOIN_FIRST=§7Please greet §e{0}§7 on the server§8!
|
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
|
#EventModeListener
|
||||||
EVENTMODE_KICK=§cYou are not an event participant.
|
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=§7Klicke §ehier§7, um §e{0} §7beizutreten
|
||||||
JOIN_ARENA_HOVER=§eArena beitreten
|
JOIN_ARENA_HOVER=§eArena beitreten
|
||||||
JOIN_FIRST=§7Begrüßt alle mal §e{0} §7auf dem Server§8!
|
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
|
#EventModeListener
|
||||||
EVENTMODE_KICK=§cDu bist kein Eventteilnehmer.
|
EVENTMODE_KICK=§cDu bist kein Eventteilnehmer.
|
||||||
|
|||||||
@@ -21,22 +21,18 @@ package de.steamwar.velocitycore.commands;
|
|||||||
|
|
||||||
import de.steamwar.command.SWCommand;
|
import de.steamwar.command.SWCommand;
|
||||||
import de.steamwar.messages.Chatter;
|
import de.steamwar.messages.Chatter;
|
||||||
|
import de.steamwar.persistent.Storage;
|
||||||
import de.steamwar.sql.SteamwarUser;
|
import de.steamwar.sql.SteamwarUser;
|
||||||
import de.steamwar.sql.UserPerm;
|
import de.steamwar.sql.UserPerm;
|
||||||
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class StreamingCommand extends SWCommand {
|
public class StreamingCommand extends SWCommand {
|
||||||
|
|
||||||
private static final Set<Integer> streaming = new HashSet<>();
|
|
||||||
|
|
||||||
public static boolean isNotStreaming(Chatter sender) {
|
public static boolean isNotStreaming(Chatter sender) {
|
||||||
return isNotStreaming(sender.user());
|
return isNotStreaming(sender.user());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isNotStreaming(SteamwarUser user) {
|
public static boolean isNotStreaming(SteamwarUser user) {
|
||||||
return !streaming.contains(user.getId());
|
return !Storage.streamingPlayers.contains(user.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
public StreamingCommand() {
|
public StreamingCommand() {
|
||||||
@@ -46,11 +42,11 @@ public class StreamingCommand extends SWCommand {
|
|||||||
@Register
|
@Register
|
||||||
public void toggleStreamingMode(Chatter sender) {
|
public void toggleStreamingMode(Chatter sender) {
|
||||||
int userId = sender.user().getId();
|
int userId = sender.user().getId();
|
||||||
if (streaming.contains(userId)) {
|
if (Storage.streamingPlayers.contains(userId)) {
|
||||||
streaming.remove(userId);
|
Storage.streamingPlayers.remove(userId);
|
||||||
sender.system("STREAMING_DISABLE");
|
sender.system("STREAMING_DISABLE");
|
||||||
} else {
|
} else {
|
||||||
streaming.add(userId);
|
Storage.streamingPlayers.add(userId);
|
||||||
sender.system("STREAMING_ENABLE");
|
sender.system("STREAMING_ENABLE");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -316,9 +316,10 @@ public class TeamCommand extends SWCommand {
|
|||||||
StringBuilder st = new StringBuilder();
|
StringBuilder st = new StringBuilder();
|
||||||
if (VelocityCore.getProxy().getPlayer(user.getUUID()).isPresent()) {
|
if (VelocityCore.getProxy().getPlayer(user.getUUID()).isPresent()) {
|
||||||
if (!StreamingCommand.isNotStreaming(user)) {
|
if (!StreamingCommand.isNotStreaming(user)) {
|
||||||
st.append("§5● ");
|
st.append("§5");
|
||||||
|
} else {
|
||||||
|
st.append("§a");
|
||||||
}
|
}
|
||||||
st.append("§a");
|
|
||||||
} else {
|
} else {
|
||||||
st.append("§e");
|
st.append("§e");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ import de.steamwar.sql.CheckedSchematic;
|
|||||||
import de.steamwar.sql.SchematicType;
|
import de.steamwar.sql.SchematicType;
|
||||||
import de.steamwar.sql.SteamwarUser;
|
import de.steamwar.sql.SteamwarUser;
|
||||||
import de.steamwar.sql.UserPerm;
|
import de.steamwar.sql.UserPerm;
|
||||||
import de.steamwar.velocitycore.EventStarter;
|
|
||||||
import de.steamwar.velocitycore.commands.*;
|
import de.steamwar.velocitycore.commands.*;
|
||||||
import de.steamwar.velocitycore.discord.DiscordBot;
|
import de.steamwar.velocitycore.discord.DiscordBot;
|
||||||
import de.steamwar.velocitycore.discord.util.DiscordRanks;
|
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.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.BiConsumer;
|
|
||||||
|
|
||||||
public class ConnectionListener extends BasicListener {
|
public class ConnectionListener extends BasicListener {
|
||||||
|
|
||||||
@@ -105,6 +103,10 @@ public class ConnectionListener extends BasicListener {
|
|||||||
newPlayers.remove(player.getUniqueId());
|
newPlayers.remove(player.getUniqueId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!StreamingCommand.isNotStreaming(user)) {
|
||||||
|
chatter.system("JOIN_STREAMING");
|
||||||
|
}
|
||||||
|
|
||||||
DiscordBot.withBot(bot -> DiscordRanks.update(user));
|
DiscordBot.withBot(bot -> DiscordRanks.update(user));
|
||||||
|
|
||||||
if (player.getProtocolVersion().noLessThan(ProtocolVersion.MINECRAFT_1_20_5)) {
|
if (player.getProtocolVersion().noLessThan(ProtocolVersion.MINECRAFT_1_20_5)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user