Config interface

Пакет: com.hypixel.hytale.builtin.adventure.worldevents.condition

Файл: com/hypixel/hytale/builtin/adventure/worldevents/condition/EventCondition.java

Поля (3)

МодификаторыТипИмя
ArrayCodec<EventCondition.Config> ARRAY_CODEC
EventCondition.Config[] EMPTY_ARRAY
CodecMapCodec<EventCondition.Config> TYPE_CODEC

Методы (2)

МодификаторыВозвратСигнатура
abstract EventCondition createEventCondition create()
default void validatedefault void validate(@Nonnull Validator var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.adventure.worldevents.condition;

class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.component.TrackedComponent;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.event.Validator;
class="kw">import com.hypixel.hytale.builtin.adventure.worldevents.event.WorldEvent;
class="kw">import com.hypixel.hytale.codec.codecs.array.ArrayCodec;
class="kw">import com.hypixel.hytale.codec.lookup.CodecMapCodec;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.system.EcsEvent;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">interface EventCondition {
   CodecMapCodec<EventCondition> TYPE_CODEC = new CodecMapCodec<>("Type", true);
   ArrayCodec<EventCondition> ARRAY_CODEC = new ArrayCodec<>(TYPE_CODEC, EventCondition[]::new);
   EventCondition[] EMPTY_ARRAY = new EventCondition[0];

   boolean test();

   void reset();

   class="kw">default boolean onStart(@Nonnull WorldEvent var1) {
      class="kw">return true;
   }

   class="kw">default boolean onComplete(@Nonnull WorldEvent var1) {
      class="kw">return true;
   }

   class="kw">default void onCancel(@Nonnull WorldEvent var1) {
   }

   class="kw">default void merge(@Nonnull EventCondition var1) {
   }

   class="kw">interface Config {
      CodecMapCodec<EventCondition.Config> TYPE_CODEC = new CodecMapCodec<>("Type", true);
      ArrayCodec<EventCondition.Config> ARRAY_CODEC = new ArrayCodec<>(TYPE_CODEC, EventCondition.Config[]::new);
      EventCondition.Config[] EMPTY_ARRAY = new EventCondition.Config[0];

      @Nonnull
      EventCondition create();

      class="kw">default void validate(@Nonnull Validator var1) {
      }
   }

   class="kw">interface Event<T class="kw">extends EcsEvent> class="kw">extends EventCondition {
      Class<T> eventType();

      void handle(@Nonnull World var1, @Nonnull T var2);
   }

   class="kw">interface Ticking class="kw">extends EventCondition {
      void tick(float var1, @Nonnull Store<EntityStore> var2);
   }

   class="kw">interface TrackedEvent<T class="kw">extends EcsEvent> class="kw">extends EventCondition {
      Class<T> eventType();

      void handle(@Nonnull World var1, @Nonnull T var2, @Nonnull TrackedComponent var3);
   }

   record Type(@Nonnull String id, float tickIntervalSeconds) {
      class="kw">public Type {
      }

      class="kw">public class="kw">static EventCondition.Type nonTicking(@Nonnull String var0) {
         class="kw">return new EventCondition.Type(var0, 0.0F);
      }
   }
}