InstructionContextHelper class
Пакет: com.hypixel.hytale.server.npc.asset.builder
Файл: com/hypixel/hytale/server/npc/asset/builder/InstructionContextHelper.java
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
InstructionType |
context |
Методы (18)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("Calling validateComponentContext on a InstructionContextHelper that is not part of a component!") |
public |
void |
addComponentContextEvaluatorvoid addComponentContextEvaluator(BiConsumer<InstructionType, ComponentContext> var1) |
public |
boolean |
extraContextMatchesboolean extraContextMatches(@Nullable EnumSet<ComponentContext> var1) |
static |
boolean |
extraContextMatchesboolean extraContextMatches(@Nullable EnumSet<ComponentContext> var0, ComponentContext var1) |
|
|
for for(BiConsumer var4 : this.componentContextEvaluators) |
public |
ComponentContext |
getComponentContextComponentContext getComponentContext() |
public |
InstructionType |
getInstructionContextInstructionType getInstructionContext() |
|
|
if if(this.componentContextEvaluators == null) |
|
|
if if(this.componentContextEvaluators != null) |
public |
boolean |
isComponentboolean isComponent() |
public |
boolean |
isInCorrectInstructionboolean isInCorrectInstruction(@Nonnull EnumSet<InstructionType> var1) |
static |
boolean |
isInCorrectInstructionboolean isInCorrectInstruction(@Nonnull EnumSet<InstructionType> var0, InstructionType var1) |
public |
boolean |
isInForEachboolean isInForEach() |
public |
boolean |
isInUnisolatedForEachboolean isInUnisolatedForEach() |
public |
void |
popForEachvoid popForEach() |
public |
void |
pushForEachvoid pushForEach(boolean var1) |
public |
void |
setComponentContextvoid setComponentContext(ComponentContext var1) |
public |
void |
validateComponentContextvoid validateComponentContext(InstructionType var1, ComponentContext var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.asset.builder;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.ArrayDeque;
class="kw">import java.util.EnumSet;
class="kw">import java.util.List;
class="kw">import java.util.function.BiConsumer;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class InstructionContextHelper {
class="kw">private class="kw">final InstructionType context;
class="kw">private ComponentContext componentContext;
class="kw">private List<BiConsumer<InstructionType, ComponentContext>> componentContextEvaluators;
class="kw">private class="kw">final ArrayDeque<Boolean> forEachIsolateStack = new ArrayDeque<>();
class="kw">public InstructionContextHelper(InstructionType var1) {
this.context = var1;
}
class="kw">public boolean isComponent() {
class="kw">return this.context == InstructionType.Component;
}
class="kw">public void setComponentContext(ComponentContext var1) {
this.componentContext = var1;
}
class="kw">public boolean isInCorrectInstruction(@Nonnull EnumSet<InstructionType> var1) {
class="kw">return var1.contains(this.context);
}
class="kw">public class="kw">static boolean isInCorrectInstruction(@Nonnull EnumSet<InstructionType> var0, InstructionType var1) {
class="kw">return var0.contains(var1);
}
class="kw">public boolean extraContextMatches(@Nullable EnumSet<ComponentContext> var1) {
class="kw">return var1 == null || var1.contains(this.componentContext);
}
class="kw">public class="kw">static boolean extraContextMatches(@Nullable EnumSet<ComponentContext> var0, ComponentContext var1) {
class="kw">return var0 == null || var0.contains(var1);
}
class="kw">public void addComponentContextEvaluator(BiConsumer<InstructionType, ComponentContext> var1) {
if (this.componentContextEvaluators == null) {
this.componentContextEvaluators = new ObjectArrayList();
}
this.componentContextEvaluators.add(var1);
}
class="kw">public void validateComponentContext(InstructionType var1, ComponentContext var2) {
if (!this.isComponent()) {
throw new IllegalStateException("Calling validateComponentContext on a InstructionContextHelper that is not part of a component!");
}
if (this.componentContextEvaluators != null) {
for (BiConsumer var4 : this.componentContextEvaluators) {
var4.accept(var1, var2);
}
}
}
class="kw">public InstructionType getInstructionContext() {
class="kw">return this.context;
}
class="kw">public ComponentContext getComponentContext() {
class="kw">return this.componentContext;
}
class="kw">public void pushForEach(boolean var1) {
this.forEachIsolateStack.push(var1);
}
class="kw">public void popForEach() {
this.forEachIsolateStack.pop();
}
class="kw">public boolean isInForEach() {
class="kw">return !this.forEachIsolateStack.isEmpty();
}
class="kw">public boolean isInUnisolatedForEach() {
class="kw">return !this.forEachIsolateStack.isEmpty() && !this.forEachIsolateStack.peek();
}
}