BuilderValueToParameterMapping class
Пакет: com.hypixel.hytale.server.npc.corecomponents.utility.builders
Файл: com/hypixel/hytale/server/npc/corecomponents/utility/builders/BuilderValueToParameterMapping.java
extends: BuilderBase<BuilderValueToParameterMapping.ValueToParameterMapping>
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private int |
fromValueSlot |
|
private int |
toParameterSlot |
|
private String |
toParameterSlotName |
protected |
ValueStore.Type |
type |
|
private final ValueStore.Type |
type |
Методы (10)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
private |
ValueToParameterMappingprivate ValueToParameterMapping(@Nonnull BuilderValueToParameterMapping var1, @Nullable BuilderSupport var2) |
public |
int |
getFromSlotint getFromSlot(BuilderSupport var1) |
|
public int |
getFromValueSlotpublic int getFromValueSlot() |
public |
String |
getToParameterString getToParameter() |
|
public int |
getToParameterSlotpublic int getToParameterSlot() |
|
public String |
getToParameterSlotNamepublic String getToParameterSlotName() |
public |
ValueStore.Type |
getTypeValueStore.Type getType() |
|
public ValueStore.Type |
getTypepublic ValueStore.Type getType() |
|
|
if if(this.builderDescriptor == null) |
|
|
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;
}
}
}