LightingSendToggleCommand class

Пакет: com.hypixel.hytale.server.core.command.commands.utility.lighting

Файл: com/hypixel/hytale/server/core/command/commands/utility/lighting/LightingSendToggleCommand.java

extends: AbstractWorldCommand

Поля (2)

МодификаторыТипИмя
Boolean var4
Boolean var5

Методы (1)

МодификаторыВозвратСигнатура
abstract super super(var1, var2)

Исходный код

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

class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.OptionalArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractWorldCommand;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.Objects;
class="kw">import java.util.function.BooleanSupplier;
class="kw">import java.util.function.Consumer;
class="kw">import javax.annotation.Nonnull;

class="kw">abstract class LightingSendToggleCommand class="kw">extends AbstractWorldCommand {
   @Nonnull
   class="kw">private class="kw">final String statusTranslationKey;
   @Nonnull
   class="kw">private class="kw">final BooleanSupplier getter;
   @Nonnull
   class="kw">private class="kw">final Consumer<Boolean> setter;
   @Nonnull
   class="kw">private class="kw">final OptionalArg<Boolean> enabledArg;

   class="kw">protected LightingSendToggleCommand(
      @Nonnull String var1, @Nonnull String var2, @Nonnull String var3, @Nonnull String var4, @Nonnull BooleanSupplier var5, @Nonnull Consumer<Boolean> var6
   ) {
      super(var1, var2);
      this.statusTranslationKey = var4;
      this.getter = var5;
      this.setter = var6;
      this.enabledArg = this.withOptionalArg("enabled", var3, ArgTypes.BOOLEAN);
   }

   @Override
   class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
      Boolean var4 = this.enabledArg.provided(var1) ? this.enabledArg.get(var1) : null;
      Boolean var5 = Objects.requireNonNullElseGet(var4, () -> !this.getter.getAsBoolean());
      this.setter.accept(var5);
      var1.sendMessage(Message.translation(this.statusTranslationKey).param("enabled", var5.toString()));
   }
}