LightCalculationType enum

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

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

Поля (1)

МодификаторыТипИмя
FLOOD, FULLBRIGHT

Исходный код

Показать/скрыть
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.FlagArg;
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.AbstractWorldCommand;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.lighting.ChunkLightingManager;
class="kw">import com.hypixel.hytale.server.core.universe.world.lighting.FloodLightCalculation;
class="kw">import com.hypixel.hytale.server.core.universe.world.lighting.FullBrightLightCalculation;
class="kw">import com.hypixel.hytale.server.core.universe.world.lighting.LightCalculation;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;

class="kw">public class LightingCalculationCommand class="kw">extends AbstractWorldCommand {
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_INVALIDATE_LIGHTING = Message.translation("server.commands.invalidatedlighting");
   @Nonnull
   class="kw">private class="kw">static class="kw">final Message MESSAGE_COMMANDS_LIGHTING_CALCULATION_ALREADY_FULLBRIGHT = Message.translation(
      "server.commands.lightingcalculation.alreadyFullBright"
   );
   @Nonnull
   class="kw">private class="kw">final RequiredArg<LightingCalculationCommand.LightCalculationType> calculationTypeArg = this.withRequiredArg(
      "light-calculation",
      "server.commands.lightingcalculation.calculation.desc",
      ArgTypes.forEnum("server.commands.parsing.argtype.enum.name", LightingCalculationCommand.LightCalculationType.class)
   );
   @Nonnull
   class="kw">private class="kw">final FlagArg invalidateFlag = this.withFlagArg("invalidate", "server.commands.lightingcalculation.invalidate.desc");

   class="kw">public LightingCalculationCommand() {
      super("calculation", "server.commands.lightingcalculation.desc");
   }

   @Override
   class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
      LightingCalculationCommand.LightCalculationType var4 = this.calculationTypeArg.get(var1);
      ChunkLightingManager var5 = var2.getChunkLighting();
      class="kw">switch (var4) {
         case FLOOD:
            var5.setLightCalculation(new FloodLightCalculation(var5));
            var1.sendMessage(Message.translation("server.commands.lightingcalculation.setCalculation").param("calculation", "Flood"));
            break;
         case FULLBRIGHT:
            LightCalculation var6 = var5.getLightCalculation();
            if (var6 class="kw">instanceof FullBrightLightCalculation) {
               var1.sendMessage(MESSAGE_COMMANDS_LIGHTING_CALCULATION_ALREADY_FULLBRIGHT);
               class="kw">return;
            }

            var5.setLightCalculation(new FullBrightLightCalculation(var5, var6));
            var1.sendMessage(
               Message.translation("server.commands.lightcalculation.setCalculationWithDelegate").param("delegate", var6.getClass().getSimpleName())
            );
      }

      if (this.invalidateFlag.get(var1)) {
         var5.invalidateLoadedChunks();
         var1.sendMessage(MESSAGE_COMMANDS_INVALIDATE_LIGHTING);
      }
   }

   class="kw">private enum LightCalculationType {
      FLOOD,
      FULLBRIGHT;

      LightCalculationType() {
      }
   }
}