NetworkTickSystem class

Пакет: com.hypixel.hytale.server.core.modules.entity.player

Файл: com/hypixel/hytale/server/core/modules/entity/player/NetworkTickSystem.java

extends: ArchetypeTickingSystem<EntityStore>

implements: RunWhenPausedSystem<EntityStore>

Поля (4)

МодификаторыТипИмя
int var5
int var6
NetworkTick var7
PlayerRef var9

Методы (1)

МодификаторыВозвратСигнатура
abstract for for(int var8 = 0; var8 < var2.size()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.entity.player;

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.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.SystemGroupDependency;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.tick.ArchetypeTickingSystem;
class="kw">import com.hypixel.hytale.component.system.tick.RunWhenPausedSystem;
class="kw">import com.hypixel.hytale.protocol.packets.connection.NetworkTick;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;

class="kw">public class NetworkTickSystem class="kw">extends ArchetypeTickingSystem<EntityStore> class="kw">implements RunWhenPausedSystem<EntityStore> {
   @Nonnull
   class="kw">public class="kw">static class="kw">final Set<Dependency<EntityStore>> DEPENDENCIES = Set.of(new SystemGroupDependency<>(Order.BEFORE, EntityStore.SEND_PACKET_GROUP));
   @Nonnull
   class="kw">private class="kw">static class="kw">final ComponentType<EntityStore, PlayerRef> PLAYER_REF_COMPONENT_TYPE = PlayerRef.getComponentType();
   @Nonnull
   class="kw">private class="kw">final ResourceType<EntityStore, NetworkTickResource> networkTickResourceType;

   class="kw">public NetworkTickSystem(@Nonnull ResourceType<EntityStore, NetworkTickResource> var1) {
      this.networkTickResourceType = var1;
   }

   @Override
   class="kw">public void tick(float var1, int var2, @Nonnull Store<EntityStore> var3) {
      var3.getResource(this.networkTickResourceType).updateTickDuration();
      super.tick(var1, var2, var3);
   }

   @Override
   class="kw">public void tick(float var1, @Nonnull ArchetypeChunk<EntityStore> var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4) {
      int var5 = (int)var3.getExternalData().getWorld().getTick();
      int var6 = var3.getResource(this.networkTickResourceType).getTickDurationMicros();
      NetworkTick var7 = new NetworkTick(var6, var5);

      for (int var8 = 0; var8 < var2.size(); var8++) {
         PlayerRef var9 = var2.getComponent(var8, PLAYER_REF_COMPONENT_TYPE);
         assert var9 != null;
         var9.getPacketHandler().writeNoCache(var7);
      }
   }

   @Override
   class="kw">public Query<EntityStore> getQuery() {
      class="kw">return PLAYER_REF_COMPONENT_TYPE;
   }

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