ValueToParameterMapping class

Пакет: com.hypixel.hytale.server.npc.corecomponents.utility.builders

Файл: com/hypixel/hytale/server/npc/corecomponents/utility/builders/BuilderValueToParameterMapping.java

Поля (4)

МодификаторыТипИмя
private int fromValueSlot
private int toParameterSlot
private String toParameterSlotName
private final ValueStore.Type type

Методы (5)

МодификаторыВозвратСигнатура
public int getFromValueSlotpublic int getFromValueSlot()
public int getToParameterSlotpublic int getToParameterSlot()
public String getToParameterSlotNamepublic String getToParameterSlotName()
public ValueStore.Type getTypepublic ValueStore.Type getType()
if if(var2 != null)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.corecomponents.utility.builders;

class="kw">import com.google.gson.JsonElement;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.Builder;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderBase;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderDescriptorState;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.BuilderSupport;
class="kw">import com.hypixel.hytale.server.npc.asset.builder.validators.StringNotEmptyValidator;
class="kw">import com.hypixel.hytale.server.npc.util.expression.ExecutionContext;
class="kw">import com.hypixel.hytale.server.npc.valuestore.ValueStore;
class="kw">import com.hypixel.hytale.server.npc.valuestore.ValueStoreValidator;
class="kw">import java.util.function.ToIntFunction;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BuilderValueToParameterMapping class="kw">extends BuilderBase<BuilderValueToParameterMapping.ValueToParameterMapping> {
   class="kw">protected ValueStore.Type type;
   class="kw">protected String fromValue;
   class="kw">protected ToIntFunction<BuilderSupport> fromSlot;
   class="kw">protected String toParameter;

   class="kw">public BuilderValueToParameterMapping() {
   }

   @Nonnull
   @Override
   class="kw">public String getShortDescription() {
      class="kw">return "An entry containing a list of actions to execute when moving from one state to another";
   }

   @Nonnull
   @Override
   class="kw">public String getLongDescription() {
      class="kw">return this.getShortDescription();
   }

   @Nonnull
   class="kw">public BuilderValueToParameterMapping.ValueToParameterMapping build(BuilderSupport var1) {
      class="kw">return new BuilderValueToParameterMapping.ValueToParameterMapping(this, var1);
   }

   @Nonnull
   @Override
   class="kw">public Class<BuilderValueToParameterMapping.ValueToParameterMapping> category() {
      class="kw">return BuilderValueToParameterMapping.ValueToParameterMapping.class;
   }

   @Nonnull
   @Override
   class="kw">public BuilderDescriptorState getBuilderDescriptorState() {
      class="kw">return BuilderDescriptorState.Stable;
   }

   @Override
   class="kw">public boolean isEnabled(ExecutionContext var1) {
      class="kw">return true;
   }

   @Nonnull
   @Override
   class="kw">public Builder<BuilderValueToParameterMapping.ValueToParameterMapping> readConfig(@Nonnull JsonElement var1) {
      this.requireEnum(
         var1, "ValueType", var1x -> this.type = var1x, ValueStore.Type.class, BuilderDescriptorState.Stable, "The type of the value being mapped", null
      );
      this.requireString(
         var1,
         "FromValue",
         var1x -> this.fromValue = var1x,
         StringNotEmptyValidator.get(),
         BuilderDescriptorState.Stable,
         "The value to read from the value store",
         null
      );
      if (this.builderDescriptor == null) {
         this.fromSlot = class="kw">switch (this.type) {
            case String -> this.requireStringValueStoreParameter(this.fromValue, ValueStoreValidator.UseType.READ);
            case Int -> this.requireIntValueStoreParameter(this.fromValue, ValueStoreValidator.UseType.READ);
            case Double -> this.requireDoubleValueStoreParameter(this.fromValue, ValueStoreValidator.UseType.READ);
         };
      }

      this.requireString(
         var1,
         "ToParameter",
         var1x -> this.toParameter = var1x,
         StringNotEmptyValidator.get(),
         BuilderDescriptorState.Stable,
         "The parameter name to override",
         null
      );
      class="kw">return this;
   }

   class="kw">public ValueStore.Type getType() {
      class="kw">return this.type;
   }

   class="kw">public int getFromSlot(BuilderSupport var1) {
      class="kw">return this.fromSlot.applyAsInt(var1);
   }

   class="kw">public String getToParameter() {
      class="kw">return this.toParameter;
   }

   class="kw">public class="kw">static class ValueToParameterMapping {
      class="kw">private class="kw">final ValueStore.Type type;
      class="kw">private int fromValueSlot;
      class="kw">private int toParameterSlot;
      class="kw">private String toParameterSlotName;

      class="kw">private ValueToParameterMapping(@Nonnull BuilderValueToParameterMapping var1, @Nullable BuilderSupport var2) {
         this.type = var1.getType();
         if (var2 != null) {
            this.fromValueSlot = var1.getFromSlot(var2);
            this.toParameterSlot = var2.getParameterSlot(var1.getToParameter());
         } else {
            this.toParameterSlotName = var1.getToParameter();
         }
      }

      class="kw">public ValueStore.Type getType() {
         class="kw">return this.type;
      }

      class="kw">public int getFromValueSlot() {
         class="kw">return this.fromValueSlot;
      }

      class="kw">public int getToParameterSlot() {
         class="kw">return this.toParameterSlot;
      }

      class="kw">public String getToParameterSlotName() {
         class="kw">return this.toParameterSlotName;
      }
   }
}