VoiceMuteCommand class

Пакет: com.hypixel.hytale.server.core.modules.voice.commands

Файл: com/hypixel/hytale/server/core/modules/voice/commands/VoiceCommand.java

extends: AbstractAsyncCommand

Поля (4)

МодификаторыТипИмя
private final RequiredArg<ProfileServiceClient.PublicGameProfile> playerArg
ProfileServiceClient.PublicGameProfile var2
UUID var3
Message var4

Методы (3)

МодификаторыВозвратСигнатура
protected CompletableFuture<Void> executeAsyncprotected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1)
if if(var2 == null)
abstract super super("mute", "server.commands.voice.mute.desc")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.voice.commands;

class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.auth.ProfileServiceClient;
class="kw">import com.hypixel.hytale.server.core.command.system.AbstractCommand;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractAsyncCommand;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractCommandCollection;
class="kw">import com.hypixel.hytale.server.core.modules.voice.VoiceModule;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import java.util.Set;
class="kw">import java.util.UUID;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import java.util.stream.Collectors;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class VoiceCommand class="kw">extends AbstractCommandCollection {
   class="kw">public VoiceCommand() {
      super("voice", "server.commands.voice.desc");
      this.addSubCommand(new VoiceCommand.VoiceEnabledCommand());
      this.addSubCommand(new VoiceCommand.VoiceMaxDistanceCommand());
      this.addSubCommand(new VoiceCommand.VoiceFullVolumeDistanceCommand());
      this.addSubCommand(new VoiceCommand.VoiceMuteCommand());
      this.addSubCommand(new VoiceCommand.VoiceUnmuteCommand());
      this.addSubCommand(new VoiceCommand.VoiceMutedListCommand());
      this.addSubCommand(new VoiceCommand.VoiceStatusCommand());
   }

   class="kw">private class="kw">static class VoiceEnabledCommand class="kw">extends AbstractCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<Boolean> enabledArg = this.withRequiredArg("enabled", "server.commands.voice.enabled.arg.desc", ArgTypes.BOOLEAN);

      class="kw">public VoiceEnabledCommand() {
         super("enabled", "server.commands.voice.enabled.desc");
         this.setPermissionGroups("hytale:Admin");
      }

      @Nullable
      @Override
      class="kw">protected CompletableFuture<Void> execute(@Nonnull CommandContext var1) {
         boolean var2 = this.enabledArg.get(var1);
         VoiceModule.get().setVoiceEnabled(var2);
         String var3 = var2 ? "server.commands.voice.status.enabled" : "server.commands.voice.status.disabled";
         var1.sendMessage(Message.translation(var3));
         class="kw">return null;
      }
   }

   class="kw">private class="kw">static class VoiceFullVolumeDistanceCommand class="kw">extends AbstractCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<Float> distanceArg = this.withRequiredArg("blocks", "server.commands.voice.fullvolumedistance.arg.desc", ArgTypes.FLOAT);

      class="kw">public VoiceFullVolumeDistanceCommand() {
         super("fullvolumedistance", "server.commands.voice.fullvolumedistance.desc");
         this.setPermissionGroups("hytale:Admin");
      }

      @Nullable
      @Override
      class="kw">protected CompletableFuture<Void> execute(@Nonnull CommandContext var1) {
         float var2 = this.distanceArg.get(var1);
         if (var2 <= 0.0F) {
            var1.sendMessage(Message.translation("server.commands.voice.fullvolumedistance.invalid"));
            class="kw">return null;
         } else {
            VoiceModule.get().setReferenceDistance(var2);
            var1.sendMessage(Message.translation("server.commands.voice.fullvolumedistance.set").param("distance", var2));
            class="kw">return null;
         }
      }
   }

   class="kw">private class="kw">static class VoiceMaxDistanceCommand class="kw">extends AbstractCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<Float> distanceArg = this.withRequiredArg("blocks", "server.commands.voice.maxdistance.arg.desc", ArgTypes.FLOAT);

      class="kw">public VoiceMaxDistanceCommand() {
         super("maxdistance", "server.commands.voice.maxdistance.desc");
         this.setPermissionGroups("hytale:Admin");
      }

      @Nullable
      @Override
      class="kw">protected CompletableFuture<Void> execute(@Nonnull CommandContext var1) {
         float var2 = this.distanceArg.get(var1);
         if (var2 <= 0.0F) {
            var1.sendMessage(Message.translation("server.commands.voice.maxdistance.invalid"));
            class="kw">return null;
         } else {
            VoiceModule.get().setMaxHearingDistance(var2);
            var1.sendMessage(Message.translation("server.commands.voice.maxdistance.set").param("distance", var2));
            class="kw">return null;
         }
      }
   }

   class="kw">private class="kw">static class VoiceMuteCommand class="kw">extends AbstractAsyncCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<ProfileServiceClient.PublicGameProfile> playerArg = this.withRequiredArg(
         "player", "server.commands.voice.mute.arg.desc", ArgTypes.GAME_PROFILE_LOOKUP
      );

      class="kw">public VoiceMuteCommand() {
         super("mute", "server.commands.voice.mute.desc");
         this.setPermissionGroups("hytale:Admin");
      }

      @Nonnull
      @Override
      class="kw">protected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1) {
         ProfileServiceClient.PublicGameProfile var2 = this.playerArg.get(var1);
         if (var2 == null) {
            class="kw">return CompletableFuture.completedFuture(null);
         } else {
            UUID var3 = var2.getUuid();
            Message var4 = Message.raw(var2.getUsername()).bold(true);
            if (VoiceModule.get().isPlayerMuted(var3)) {
               var1.sendMessage(Message.translation("server.commands.voice.mute.already").param("player", var4));
               class="kw">return CompletableFuture.completedFuture(null);
            } else {
               VoiceModule.get().mutePlayer(var3);
               var1.sendMessage(Message.translation("server.commands.voice.mute.success").param("player", var4));
               class="kw">return CompletableFuture.completedFuture(null);
            }
         }
      }
   }

   class="kw">private class="kw">static class VoiceMutedListCommand class="kw">extends AbstractCommand {
      class="kw">public VoiceMutedListCommand() {
         super("muted", "server.commands.voice.muted.desc");
         this.setPermissionGroups("hytale:Admin");
      }

      @Nullable
      @Override
      class="kw">protected CompletableFuture<Void> execute(@Nonnull CommandContext var1) {
         Set var2 = VoiceModule.get().getGloballyMutedPlayers();
         if (var2.isEmpty()) {
            var1.sendMessage(Message.translation("server.commands.voice.muted.empty"));
            class="kw">return null;
         } else {
            String var3 = var2.stream().map(var0 -> {
               PlayerRef var1 = Universe.get().getPlayer(var0);
               class="kw">return var1 != null ? var1.getUsername() + " (" + var0 + ")" : var0.toString();
            }).collect(Collectors.joining(", "));
            var1.sendMessage(Message.translation("server.commands.voice.muted.list").param("count", var2.size()).param("players", var3));
            class="kw">return null;
         }
      }
   }

   class="kw">private class="kw">static class VoiceStatusCommand class="kw">extends AbstractCommand {
      class="kw">public VoiceStatusCommand() {
         super("status", "server.commands.voice.status.desc");
         this.setPermissionGroups("hytale:Admin");
      }

      @Nullable
      @Override
      class="kw">protected CompletableFuture<Void> execute(@Nonnull CommandContext var1) {
         VoiceModule var2 = VoiceModule.get();
         int var3 = var2.getGloballyMutedPlayers().size();
         String var4 = var2.isVoiceEnabled() ? "server.commands.voice.status.enabledInfo" : "server.commands.voice.status.disabledInfo";
         var1.sendMessage(
            Message.translation(var4)
               .param("maxDistance", var2.getMaxHearingDistance())
               .param("fullVolumeDistance", var2.getReferenceDistance())
               .param("mutedCount", var3)
         );
         class="kw">return null;
      }
   }

   class="kw">private class="kw">static class VoiceUnmuteCommand class="kw">extends AbstractAsyncCommand {
      @Nonnull
      class="kw">private class="kw">final RequiredArg<ProfileServiceClient.PublicGameProfile> playerArg = this.withRequiredArg(
         "player", "server.commands.voice.unmute.arg.desc", ArgTypes.GAME_PROFILE_LOOKUP
      );

      class="kw">public VoiceUnmuteCommand() {
         super("unmute", "server.commands.voice.unmute.desc");
         this.setPermissionGroups("hytale:Admin");
      }

      @Nonnull
      @Override
      class="kw">protected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1) {
         ProfileServiceClient.PublicGameProfile var2 = this.playerArg.get(var1);
         if (var2 == null) {
            class="kw">return CompletableFuture.completedFuture(null);
         } else {
            UUID var3 = var2.getUuid();
            Message var4 = Message.raw(var2.getUsername()).bold(true);
            if (!VoiceModule.get().isPlayerMuted(var3)) {
               var1.sendMessage(Message.translation("server.commands.voice.unmute.notmuted").param("player", var4));
               class="kw">return CompletableFuture.completedFuture(null);
            } else {
               VoiceModule.get().unmutePlayer(var3);
               var1.sendMessage(Message.translation("server.commands.voice.unmute.success").param("player", var4));
               class="kw">return CompletableFuture.completedFuture(null);
            }
         }
      }
   }
}