LoadMaterialFromToolArgOperation class

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

Файл: com/hypixel/hytale/builtin/buildertools/scriptedbrushes/operations/sequential/LoadMaterialFromToolArgOperation.java

extends: SequenceBrushOperation

Поля (6)

МодификаторыТипИмя
final BuilderCodec<LoadMaterialFromToolArgOperation> CODEC
BuilderTool var5
ItemStack var6
BuilderTool.ArgData var7
Map var8
Object var9

Методы (4)

МодификаторыВозвратСигнатура
if if(var5 == null)
if if(var6 == null)
if if(var9 instanceof BlockPattern var10)
abstract super super("Load Material", "Load material pattern from a Block tool arg", false)

Исходный код

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

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.SequenceBrushOperation;
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.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.asset.type.buildertool.config.BuilderTool;
class="kw">import com.hypixel.hytale.server.core.inventory.InventoryComponent;
class="kw">import com.hypixel.hytale.server.core.inventory.ItemStack;
class="kw">import com.hypixel.hytale.server.core.prefab.selection.mask.BlockPattern;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.Map;
class="kw">import javax.annotation.Nonnull;

class="kw">public class LoadMaterialFromToolArgOperation class="kw">extends SequenceBrushOperation {
   class="kw">public class="kw">static class="kw">final BuilderCodec<LoadMaterialFromToolArgOperation> CODEC = BuilderCodec.builder(
         LoadMaterialFromToolArgOperation.class, LoadMaterialFromToolArgOperation::new
      )
      .append(new KeyedCodec<>("ArgName", Codec.STRING), (var0, var1) -> var0.argNameArg = var1, var0 -> var0.argNameArg)
      .documentation("The name of the Block tool arg to load the material pattern from")
      .add()
      .documentation("Load a block pattern from a Block tool arg and set it as the brush material")
      .build();
   @Nonnull
   class="kw">public String argNameArg = "";

   class="kw">public LoadMaterialFromToolArgOperation() {
      super("Load Material", "Load material pattern from a Block tool arg", false);
   }

   @Override
   class="kw">public void modifyBrushConfig(
      @Nonnull Ref<EntityStore> var1, @Nonnull BrushConfig var2, @Nonnull BrushConfigCommandExecutor var3, @Nonnull ComponentAccessor<EntityStore> var4
   ) {
      BuilderTool var5 = BuilderTool.getActiveBuilderTool(var1, var4);
      if (var5 == null) {
         var2.setErrorFlag("LoadMaterial: No active builder tool");
      } else {
         ItemStack var6 = InventoryComponent.getItemInHand(var4, var1);
         if (var6 == null) {
            var2.setErrorFlag("LoadMaterial: No item in hand");
         } else {
            BuilderTool.ArgData var7 = var5.getItemArgData(var6);
            Map var8 = var7.tool();
            if (var8 != null && var8.containsKey(this.argNameArg)) {
               Object var9 = var8.get(this.argNameArg);
               if (var9 class="kw">instanceof BlockPattern var10) {
                  var2.setPattern(var10);
               } else {
                  var2.setErrorFlag("LoadMaterial: Tool arg '" + this.argNameArg + "' is not a Block type (found " + var9.getClass().getSimpleName() + ")");
               }
            } else {
               var2.setErrorFlag("LoadMaterial: Tool arg '" + this.argNameArg + "' not found");
            }
         }
      }
   }
}