DamageBlockEventSystem class

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

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

extends: EntityEventSystem<EntityStore, DamageBlockEvent>

Поля (2)

МодификаторыТипИмя
Blackboard var6
Ref var7

Методы (3)

МодификаторыВозвратСигнатура
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 DamageBlockEvent var5)
abstract super super(DamageBlockEvent.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();
      }
   }
}