DebugBrushOperation class

Пакет: com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.global

Файл: com/hypixel/hytale/builtin/buildertools/scriptedbrushes/operations/global/DebugBrushOperation.java

extends: GlobalBrushOperation

Поля (1)

МодификаторыТипИмя
final BuilderCodec<DebugBrushOperation> CODEC

Методы (1)

МодификаторыВозвратСигнатура
abstract super super("Debug Step-Through", "Debug options for scripted brushes")

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.global;

class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.BrushConfig;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.BrushConfigCommandExecutor;
class="kw">import com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.system.GlobalBrushOperation;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;

class="kw">public class DebugBrushOperation class="kw">extends GlobalBrushOperation {
   class="kw">public class="kw">static class="kw">final BuilderCodec<DebugBrushOperation> CODEC = BuilderCodec.builder(DebugBrushOperation.class, DebugBrushOperation::new)
      .append(new KeyedCodec<>("PrintOperations", Codec.BOOLEAN), (var0, var1) -> var0.printOperations = var1, var0 -> var0.printOperations)
      .documentation("Prints the index and name of each operation as it executes")
      .add()
      .<Boolean>append(new KeyedCodec<>("StepThrough", Codec.BOOLEAN), (var0, var1) -> var0.stepThrough = var1, var0 -> var0.stepThrough)
      .documentation("Enables manual step-through mode (pause after each operation)")
      .add()
      .<Boolean>append(new KeyedCodec<>("EnableBreakpoints", Codec.BOOLEAN), (var0, var1) -> var0.enableBreakpoints = var1, var0 -> var0.enableBreakpoints)
      .documentation("Master toggle for breakpoint operations")
      .add()
      .<BrushConfigCommandExecutor.DebugOutputTarget>append(
         new KeyedCodec<>("OutputTarget", new EnumCodec<>(BrushConfigCommandExecutor.DebugOutputTarget.class)),
         (var0, var1) -> var0.outputTarget = var1,
         var0 -> var0.outputTarget
      )
      .documentation("Where debug messages are sent (Chat, Console, or Both)")
      .add()
      .<Boolean>append(new KeyedCodec<>("BreakOnError", Codec.BOOLEAN), (var0, var1) -> var0.breakOnError = var1, var0 -> var0.breakOnError)
      .documentation("Pause on error instead of terminating execution")
      .add()
      .documentation("Debug options for scripted brushes")
      .build();
   @Nonnull
   class="kw">private Boolean printOperations = false;
   @Nonnull
   class="kw">private Boolean stepThrough = false;
   @Nonnull
   class="kw">private Boolean enableBreakpoints = false;
   @Nonnull
   class="kw">private BrushConfigCommandExecutor.DebugOutputTarget outputTarget = BrushConfigCommandExecutor.DebugOutputTarget.Chat;
   @Nonnull
   class="kw">private Boolean breakOnError = false;

   class="kw">public DebugBrushOperation() {
      super("Debug Step-Through", "Debug options for scripted brushes");
   }

   @Override
   class="kw">public void modifyBrushConfig(
      @Nonnull Ref<EntityStore> var1, @Nonnull BrushConfig var2, @Nonnull BrushConfigCommandExecutor var3, @Nonnull ComponentAccessor<EntityStore> var4
   ) {
      var3.setInDebugSteppingMode(this.stepThrough);
      var3.setPrintOperations(this.printOperations);
      var3.setEnableBreakpoints(this.enableBreakpoints);
      var3.setDebugOutputTarget(this.outputTarget);
      var3.setBreakOnError(this.breakOnError);
   }
}