VoiceCommand class

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

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

extends: AbstractCommandCollection

Поля (20)

МодификаторыТипИмя
private final RequiredArg<Float> distanceArg
private final RequiredArg<Float> distanceArg
private final RequiredArg<Boolean> enabledArg
private final RequiredArg<ProfileServiceClient.PublicGameProfile> playerArg
private final RequiredArg<ProfileServiceClient.PublicGameProfile> playerArg
boolean var2
float var2
float var2
ProfileServiceClient.PublicGameProfile var2
Set var2
VoiceModule var2
ProfileServiceClient.PublicGameProfile var2
String var3
UUID var3
String var3
int var3
UUID var3
Message var4
String var4
Message var4

Методы (26)

МодификаторыВозвратСигнатура
public VoiceEnabledCommandpublic VoiceEnabledCommand()
public VoiceFullVolumeDistanceCommandpublic VoiceFullVolumeDistanceCommand()
public VoiceMaxDistanceCommandpublic VoiceMaxDistanceCommand()
public VoiceMuteCommandpublic VoiceMuteCommand()
public VoiceMutedListCommandpublic VoiceMutedListCommand()
public VoiceStatusCommandpublic VoiceStatusCommand()
public VoiceUnmuteCommandpublic VoiceUnmuteCommand()
protected CompletableFuture<Void> executeprotected CompletableFuture<Void> execute(@Nonnull CommandContext var1)
protected CompletableFuture<Void> executeprotected CompletableFuture<Void> execute(@Nonnull CommandContext var1)
protected CompletableFuture<Void> executeprotected CompletableFuture<Void> execute(@Nonnull CommandContext var1)
protected CompletableFuture<Void> executeprotected CompletableFuture<Void> execute(@Nonnull CommandContext var1)
protected CompletableFuture<Void> executeprotected CompletableFuture<Void> execute(@Nonnull CommandContext var1)
protected CompletableFuture<Void> executeAsyncprotected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1)
protected CompletableFuture<Void> executeAsyncprotected CompletableFuture<Void> executeAsync(@Nonnull CommandContext var1)
if if(var2 <= 0.0F)
if if(var2 <= 0.0F)
if if(var2 == null)
if if(var2 == null)
abstract super super("voice", "server.commands.voice.desc")
abstract super super("enabled", "server.commands.voice.enabled.desc")
abstract super super("fullvolumedistance", "server.commands.voice.fullvolumedistance.desc")
abstract super super("maxdistance", "server.commands.voice.maxdistance.desc")
abstract super super("mute", "server.commands.voice.mute.desc")
abstract super super("muted", "server.commands.voice.muted.desc")
abstract super super("status", "server.commands.voice.status.desc")
abstract super super("unmute", "server.commands.voice.unmute.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);
            }
         }
      }
   }
}