BrushConfigIntegerComparison class
Пакет: com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.sequential.flowcontrol
Файл: com/hypixel/hytale/builtin/buildertools/scriptedbrushes/operations/sequential/flowcontrol/JumpIfCompareOperation.java
implements: Function<BrushConfig, Boolean>
Поля (4)
| Модификаторы | Тип | Имя |
|---|---|---|
|
public static final BuilderCodec<JumpIfCompareOperation.BrushConfigIntegerComparison> |
CODEC |
|
private BrushConfig.DataGettingFlags |
dataGettingFlag |
|
private ArgTypes.IntegerComparisonOperator |
integerComparisonOperator |
|
private int |
valueToCompareTo |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public Boolean |
applypublic Boolean apply(BrushConfig var1) |
|
public String |
toStringpublic String toString() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.scriptedbrushes.operations.sequential.flowcontrol;
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.codec.codecs.EnumCodec;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.Arrays;
class="kw">import java.util.List;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;
class="kw">public class JumpIfCompareOperation class="kw">extends SequenceBrushOperation {
class="kw">public class="kw">static class="kw">final BuilderCodec<JumpIfCompareOperation> CODEC = BuilderCodec.builder(JumpIfCompareOperation.class, JumpIfCompareOperation::new)
.append(
new KeyedCodec<>(
"Comparisons",
new ArrayCodec<>(JumpIfCompareOperation.BrushConfigIntegerComparison.CODEC, JumpIfCompareOperation.BrushConfigIntegerComparison[]::new)
),
(var0, var1) -> var0.comparisonsArg = var1 != null ? Arrays.asList(var1) : List.of(),
var0 -> var0.comparisonsArg.toArray(new JumpIfCompareOperation.BrushConfigIntegerComparison[0])
)
.documentation("The comparison(s) that will be executed using AND between them to see if you should jump or not")
.add()
.<String>append(new KeyedCodec<>("StoredIndexName", Codec.STRING), (var0, var1) -> var0.indexVariableNameArg = var1, var0 -> var0.indexVariableNameArg)
.documentation("The labeled index to jump to, previous or future")
.add()
.documentation("Jump stack execution to a stored index operation based on a specified conditional using the brush config data")
.build();
@Nonnull
class="kw">public List<JumpIfCompareOperation.BrushConfigIntegerComparison> comparisonsArg = List.of();
@Nonnull
class="kw">public String indexVariableNameArg = "Undefined";
class="kw">public JumpIfCompareOperation() {
super("Jump If Int Comparison", "Jump stack execution to a stored index operation based on a specified conditional using the brush config data", false);
}
@Override
class="kw">public void modifyBrushConfig(
@Nonnull Ref<EntityStore> var1, @Nonnull BrushConfig var2, @Nonnull BrushConfigCommandExecutor var3, @Nonnull ComponentAccessor<EntityStore> var4
) {
boolean var5 = true;
for (JumpIfCompareOperation.BrushConfigIntegerComparison var7 : this.comparisonsArg) {
boolean var8 = var7.apply(var2);
if (!var8) {
var5 = false;
}
}
if (var5) {
var3.loadOperatingIndex(this.indexVariableNameArg);
}
}
class="kw">public class="kw">static class BrushConfigIntegerComparison class="kw">implements Function<BrushConfig, Boolean> {
class="kw">public class="kw">static class="kw">final BuilderCodec<JumpIfCompareOperation.BrushConfigIntegerComparison> CODEC = BuilderCodec.builder(
JumpIfCompareOperation.BrushConfigIntegerComparison.class, JumpIfCompareOperation.BrushConfigIntegerComparison::new
)
.append(
new KeyedCodec<>("DataGettingFlag", new EnumCodec<>(BrushConfig.DataGettingFlags.class)),
(var0, var1) -> var0.dataGettingFlag = var1,
var0 -> var0.dataGettingFlag
)
.add()
.append(
new KeyedCodec<>("IntegerComparisonOperator", new EnumCodec<>(ArgTypes.IntegerComparisonOperator.class)),
(var0, var1) -> var0.integerComparisonOperator = var1,
var0 -> var0.integerComparisonOperator
)
.add()
.append(new KeyedCodec<>("ValueToCompareTo", Codec.INTEGER), (var0, var1) -> var0.valueToCompareTo = var1, var0 -> var0.valueToCompareTo)
.add()
.build();
class="kw">private BrushConfig.DataGettingFlags dataGettingFlag;
class="kw">private ArgTypes.IntegerComparisonOperator integerComparisonOperator;
class="kw">private int valueToCompareTo;
class="kw">public BrushConfigIntegerComparison() {
}
class="kw">public BrushConfigIntegerComparison(BrushConfig.DataGettingFlags var1, ArgTypes.IntegerComparisonOperator var2, int var3) {
this.dataGettingFlag = var1;
this.integerComparisonOperator = var2;
this.valueToCompareTo = var3;
}
@Nonnull
class="kw">public Boolean apply(BrushConfig var1) {
class="kw">return this.integerComparisonOperator.compare(this.dataGettingFlag.getValue(var1), this.valueToCompareTo);
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return this.dataGettingFlag.name() + " " + this.integerComparisonOperator.getStringRepresentation() + " " + this.valueToCompareTo;
}
}
}