OperationsBuilder class
Пакет: com.hypixel.hytale.server.core.modules.interaction.interaction.operation
Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/operation/OperationsBuilder.java
Методы (13)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Label already resolved") |
abstract |
return new |
Labelreturn new Label(Integer.MIN_VALUE) |
public |
void |
addOperationvoid addOperation(@Nonnull Operation var1) |
public |
void |
addOperationvoid addOperation(@Nonnull Operation var1, Label... var2) |
|
public InteractionRules |
getRulespublic InteractionRules getRules() |
|
public WaitForDataFrom |
getWaitForDataFrompublic WaitForDataFrom getWaitForDataFrom() |
|
public void |
handlepublic void handle(@Nonnull Ref<EntityStore> var1, boolean var2, float var3, @Nonnull InteractionType var4, @Nonnull InteractionContext var5) |
|
|
if if(var1.index != Integer.MIN_VALUE) |
public |
void |
jumpvoid jump(@Nonnull Label var1) |
public |
void |
resolveLabelvoid resolveLabel(@Nonnull Label var1) |
|
public void |
simulateTickpublic void simulateTick(@Nonnull Ref<EntityStore> var1,
boolean var2,
float var3,
@Nonnull InteractionType var4,
@Nonnull InteractionContext var5,
@Nonnull CooldownHandler var6) |
|
public void |
tickpublic void tick(@Nonnull Ref<EntityStore> var1,
boolean var2,
float var3,
@Nonnull InteractionType var4,
@Nonnull InteractionContext var5,
@Nonnull CooldownHandler var6) |
|
public String |
toStringpublic String toString() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.interaction.interaction.operation;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.protocol.WaitForDataFrom;
class="kw">import com.hypixel.hytale.server.core.entity.InteractionContext;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.CooldownHandler;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.interaction.config.InteractionRules;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.Arrays;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">public class OperationsBuilder {
@Nonnull
class="kw">private class="kw">final List<Operation> operationList = new ObjectArrayList();
class="kw">public OperationsBuilder() {
}
@Nonnull
class="kw">public Label createLabel() {
class="kw">return new Label(this.operationList.size());
}
@Nonnull
class="kw">public Label createUnresolvedLabel() {
class="kw">return new Label(Integer.MIN_VALUE);
}
class="kw">public void resolveLabel(@Nonnull Label var1) {
if (var1.index != Integer.MIN_VALUE) {
throw new IllegalArgumentException("Label already resolved");
}
var1.index = this.operationList.size();
}
class="kw">public void jump(@Nonnull Label var1) {
this.operationList.add(new JumpOperation(var1));
}
class="kw">public void addOperation(@Nonnull Operation var1) {
this.operationList.add(var1);
}
class="kw">public void addOperation(@Nonnull Operation var1, Label... var2) {
this.operationList.add(new OperationsBuilder.LabelOperation(var1, var2));
}
@Nonnull
class="kw">public Operation[] build() {
class="kw">return this.operationList.toArray(Operation[]::new);
}
class="kw">private record LabelOperation(Operation inner, Label[] labels) class="kw">implements Operation, Operation.NestedOperation {
class="kw">private LabelOperation {
}
@Override
class="kw">public void tick(
@Nonnull Ref<EntityStore> var1,
boolean var2,
float var3,
@Nonnull InteractionType var4,
@Nonnull InteractionContext var5,
@Nonnull CooldownHandler var6
) {
var5.setLabels(this.labels);
this.inner.tick(var1, var2, var3, var4, var5, var6);
}
@Override
class="kw">public void simulateTick(
@Nonnull Ref<EntityStore> var1,
boolean var2,
float var3,
@Nonnull InteractionType var4,
@Nonnull InteractionContext var5,
@Nonnull CooldownHandler var6
) {
var5.setLabels(this.labels);
this.inner.simulateTick(var1, var2, var3, var4, var5, var6);
}
@Override
class="kw">public void handle(@Nonnull Ref<EntityStore> var1, boolean var2, float var3, @Nonnull InteractionType var4, @Nonnull InteractionContext var5) {
var5.setLabels(this.labels);
this.inner.handle(var1, var2, var3, var4, var5);
}
@Override
class="kw">public WaitForDataFrom getWaitForDataFrom() {
class="kw">return this.inner.getWaitForDataFrom();
}
@Override
class="kw">public InteractionRules getRules() {
class="kw">return this.inner.getRules();
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "LabelOperation{inner=" + this.inner + ", labels=" + Arrays.toString(this.labels) + "}";
}
}
}