BlackboardSystems class

Пакет: com.hypixel.hytale.server.npc.systems

Файл: com/hypixel/hytale/server/npc/systems/BlackboardSystems.java

Поля (17)

МодификаторыТипИмя
private static final float SYSTEM_INTERVAL
private final Set<Dependency<EntityStore>> dependencies
private final ResourceType<EntityStore, Blackboard> resourceType
private final ResourceType<EntityStore, Blackboard> resourceType
private final ComponentType<EntityStore, BlackboardSubscription> subscriptionComponentType
BlackboardSubscription var5
BlackboardSubscription var5
Blackboard var6
Blackboard var6
BlockTypeView var6
Blackboard var6
Blackboard var6
Ref var7
Ref var7
IntList var7
Ref var7
Ref var7

Методы (28)

МодификаторыВозвратСигнатура
public BreakBlockEventSystempublic BreakBlockEventSystem()
public DamageBlockEventSystempublic DamageBlockEventSystem()
public InitSystempublic InitSystem(@Nonnull ResourceType<EntityStore, Blackboard> var1)
public SubscriptionLifecycleSystempublic SubscriptionLifecycleSystem(@Nonnull ComponentType<EntityStore, BlackboardSubscription> var1)
public TickingSystempublic TickingSystem(@Nonnull ResourceType<EntityStore, Blackboard> var1)
public UseBlockEventSystempublic UseBlockEventSystem()
public UseEntityEventSystempublic UseEntityEventSystem()
public void delayedTickpublic void delayedTick(float var1, int var2, @Nonnull Store<EntityStore> var3)
public Set<Dependency<EntityStore>> getDependenciespublic Set<Dependency<EntityStore>> getDependencies()
public Query<EntityStore> getQuerypublic Query<EntityStore> getQuery()
public Query<EntityStore> getQuerypublic Query<EntityStore> getQuery()
public Query<EntityStore> getQuerypublic Query<EntityStore> getQuery()
public Query<EntityStore> getQuerypublic Query<EntityStore> getQuery()
public Query<EntityStore> getQuerypublic Query<EntityStore> getQuery()
public void handlepublic void handle(int var1, @Nonnull ArchetypeChunk<EntityStore> var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4, @Nonnull BreakBlockEvent var5)
public void handlepublic void handle(int var1, @Nonnull ArchetypeChunk<EntityStore> var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4, @Nonnull DamageBlockEvent var5)
public void handlepublic void handle(int var1, @Nonnull ArchetypeChunk<EntityStore> var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4, @Nonnull UseBlockEvent.Post var5)
public void handlepublic void handle(int var1, @Nonnull ArchetypeChunk<EntityStore> var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4, @Nonnull UseEntityEvent.Post var5)
if if(var6 != null && var7 != null)
public void onEntityAddedpublic void onEntityAdded(@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4)
public void onEntityRemovepublic void onEntityRemove(@Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4)
public void onSystemAddedToStorepublic void onSystemAddedToStore(@Nonnull Store<EntityStore> var1)
public void onSystemRemovedFromStorepublic void onSystemRemovedFromStore(@Nonnull Store<EntityStore> var1)
abstract super super(BreakBlockEvent.class)
abstract super super(DamageBlockEvent.class)
abstract super super(5.0F)
abstract super super(UseBlockEvent.Post.class)
abstract super super(UseEntityEvent.Post.class)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.systems;

class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.Archetype;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.dependency.Dependency;
class="kw">import com.hypixel.hytale.component.dependency.Order;
class="kw">import com.hypixel.hytale.component.dependency.SystemDependency;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.DelayedSystem;
class="kw">import com.hypixel.hytale.component.system.EntityEventSystem;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.component.system.StoreSystem;
class="kw">import com.hypixel.hytale.server.core.event.events.ecs.BreakBlockEvent;
class="kw">import com.hypixel.hytale.server.core.event.events.ecs.DamageBlockEvent;
class="kw">import com.hypixel.hytale.server.core.event.events.ecs.UseBlockEvent;
class="kw">import com.hypixel.hytale.server.core.event.events.ecs.UseEntityEvent;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.npc.blackboard.Blackboard;
class="kw">import com.hypixel.hytale.server.npc.blackboard.BlackboardSubscription;
class="kw">import com.hypixel.hytale.server.npc.blackboard.view.blocktype.BlockTypeView;
class="kw">import it.unimi.dsi.fastutil.ints.IntList;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class BlackboardSystems {
   class="kw">public BlackboardSystems() {
   }

   class="kw">public class="kw">static class BreakBlockEventSystem class="kw">extends EntityEventSystem<EntityStore, BreakBlockEvent> {
      class="kw">public BreakBlockEventSystem() {
         super(BreakBlockEvent.class);
      }

      class="kw">public void handle(
         int var1,
         @Nonnull ArchetypeChunk<EntityStore> var2,
         @Nonnull Store<EntityStore> var3,
         @Nonnull CommandBuffer<EntityStore> var4,
         @Nonnull BreakBlockEvent var5
      ) {
         Blackboard var6 = var3.getResource(Blackboard.getResourceType());
         Ref var7 = var2.getReferenceTo(var1);
         var6.onEntityBreakBlock(var7, var5);
      }

      @Nullable
      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return Archetype.empty();
      }
   }

   class="kw">public class="kw">static class DamageBlockEventSystem class="kw">extends EntityEventSystem<EntityStore, DamageBlockEvent> {
      class="kw">public DamageBlockEventSystem() {
         super(DamageBlockEvent.class);
      }

      class="kw">public void handle(
         int var1,
         @Nonnull ArchetypeChunk<EntityStore> var2,
         @Nonnull Store<EntityStore> var3,
         @Nonnull CommandBuffer<EntityStore> var4,
         @Nonnull DamageBlockEvent var5
      ) {
         Blackboard var6 = var3.getResource(Blackboard.getResourceType());
         Ref var7 = var2.getReferenceTo(var1);
         var6.onEntityDamageBlock(var7, var5);
      }

      @Nullable
      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return Archetype.empty();
      }
   }

   class="kw">public class="kw">static class InitSystem class="kw">extends StoreSystem<EntityStore> {
      @Nonnull
      class="kw">private class="kw">final ResourceType<EntityStore, Blackboard> resourceType;

      class="kw">public InitSystem(@Nonnull ResourceType<EntityStore, Blackboard> var1) {
         this.resourceType = var1;
      }

      @Override
      class="kw">public void onSystemAddedToStore(@Nonnull Store<EntityStore> var1) {
         var1.getResource(this.resourceType).init(var1.getExternalData().getWorld());
      }

      @Override
      class="kw">public void onSystemRemovedFromStore(@Nonnull Store<EntityStore> var1) {
         var1.getResource(this.resourceType).onWorldRemoved();
      }
   }

   class="kw">public class="kw">static class SubscriptionLifecycleSystem class="kw">extends RefSystem<EntityStore> {
      @Nonnull
      class="kw">private class="kw">final ComponentType<EntityStore, BlackboardSubscription> subscriptionComponentType;
      @Nonnull
      class="kw">private class="kw">final Set<Dependency<EntityStore>> dependencies;

      class="kw">public SubscriptionLifecycleSystem(@Nonnull ComponentType<EntityStore, BlackboardSubscription> var1) {
         this.subscriptionComponentType = var1;
         this.dependencies = Set.of(new SystemDependency<>(Order.AFTER, RoleSystems.RoleActivateSystem.class));
      }

      @Nonnull
      @Override
      class="kw">public Set<Dependency<EntityStore>> getDependencies() {
         class="kw">return this.dependencies;
      }

      @Override
      class="kw">public void onEntityAdded(
         @Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
      ) {
         BlackboardSubscription var5 = var4.getComponent(var1, this.subscriptionComponentType);
         assert var5 != null;
         var5.initEventViews(var1, var4);
      }

      @Override
      class="kw">public void onEntityRemove(
         @Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
      ) {
         BlackboardSubscription var5 = var3.getComponent(var1, this.subscriptionComponentType);
         assert var5 != null;
         BlockTypeView var6 = var5.removeBlockTypeBlackboardView();
         IntList var7 = var5.getBlockTypeSets();
         if (var6 != null && var7 != null) {
            var6.removeSearchedBlockSets(var1, var7);
         }
      }

      @Nonnull
      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return this.subscriptionComponentType;
      }
   }

   class="kw">public class="kw">static class TickingSystem class="kw">extends DelayedSystem<EntityStore> {
      class="kw">private class="kw">static class="kw">final float SYSTEM_INTERVAL = 5.0F;
      @Nonnull
      class="kw">private class="kw">final ResourceType<EntityStore, Blackboard> resourceType;

      class="kw">public TickingSystem(@Nonnull ResourceType<EntityStore, Blackboard> var1) {
         super(5.0F);
         this.resourceType = var1;
      }

      @Override
      class="kw">public void delayedTick(float var1, int var2, @Nonnull Store<EntityStore> var3) {
         var3.getResource(this.resourceType).cleanupViews();
      }
   }

   class="kw">public class="kw">static class UseBlockEventSystem class="kw">extends EntityEventSystem<EntityStore, UseBlockEvent.Post> {
      class="kw">public UseBlockEventSystem() {
         super(UseBlockEvent.Post.class);
      }

      class="kw">public void handle(
         int var1,
         @Nonnull ArchetypeChunk<EntityStore> var2,
         @Nonnull Store<EntityStore> var3,
         @Nonnull CommandBuffer<EntityStore> var4,
         @Nonnull UseBlockEvent.Post var5
      ) {
         Blackboard var6 = var3.getResource(Blackboard.getResourceType());
         Ref var7 = var2.getReferenceTo(var1);
         var6.onEntityUseBlock(var7, var5);
      }

      @Nullable
      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return Archetype.empty();
      }
   }

   class="kw">public class="kw">static class UseEntityEventSystem class="kw">extends EntityEventSystem<EntityStore, UseEntityEvent.Post> {
      class="kw">public UseEntityEventSystem() {
         super(UseEntityEvent.Post.class);
      }

      class="kw">public void handle(
         int var1,
         @Nonnull ArchetypeChunk<EntityStore> var2,
         @Nonnull Store<EntityStore> var3,
         @Nonnull CommandBuffer<EntityStore> var4,
         @Nonnull UseEntityEvent.Post var5
      ) {
         Blackboard var6 = var3.getResource(Blackboard.getResourceType());
         Ref var7 = var2.getReferenceTo(var1);
         var6.onEntityUseEntity(var7, var5);
      }

      @Nullable
      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return Archetype.empty();
      }
   }
}