PortalTrackerSystems class

Пакет: com.hypixel.hytale.builtin.portals.systems

Файл: com/hypixel/hytale/builtin/portals/systems/PortalTrackerSystems.java

Поля (13)

МодификаторыТипИмя
Instant var10
PlayerRef var11
UpdatePortal var12
PortalWorld var5
PortalWorld var5
World var6
PlayerRef var6
PortalWorld var6
PlayerRef var7
World var7
UpdatePortal var8
Store var8
InstanceDataResource var9

Методы (9)

МодификаторыВозвратСигнатура
public TrackerSystempublic TrackerSystem()
public UiTickingSystempublic UiTickingSystem()
public Query<EntityStore> getQuerypublic Query<EntityStore> getQuery()
public Query<EntityStore> getQuerypublic Query<EntityStore> getQuery()
if if(var10 != 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)
abstract super super(1.0F)
public void tickpublic void tick(float var1, int var2, @Nonnull ArchetypeChunk<EntityStore> var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.instances.removal.InstanceDataResource;
class="kw">import com.hypixel.hytale.builtin.portals.resources.PortalWorld;
class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.component.system.tick.DelayedEntitySystem;
class="kw">import com.hypixel.hytale.protocol.packets.interface_.UpdatePortal;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.time.Instant;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class="kw">final class PortalTrackerSystems {
   class="kw">private PortalTrackerSystems() {
   }

   class="kw">public class="kw">static class TrackerSystem class="kw">extends RefSystem<EntityStore> {
      class="kw">public TrackerSystem() {
      }

      @Override
      class="kw">public void onEntityAdded(
         @Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
      ) {
         PortalWorld var5 = var3.getResource(PortalWorld.getResourceType());
         if (var5.exists()) {
            World var6 = var3.getExternalData().getWorld();
            PlayerRef var7 = var4.getComponent(var1, PlayerRef.getComponentType());
            if (var5.getSeesUi().add(var7.getUuid())) {
               UpdatePortal var8 = var5.createFullPacket(var6);
               var7.getPacketHandler().write(var8);
            }
         }
      }

      @Override
      class="kw">public void onEntityRemove(
         @Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
      ) {
         PortalWorld var5 = var3.getResource(PortalWorld.getResourceType());
         if (var5.exists()) {
            PlayerRef var6 = var4.getComponent(var1, PlayerRef.getComponentType());
            var6.getPacketHandler().write(new UpdatePortal(null, null));
            var5.getSeesUi().remove(var6.getUuid());
         }
      }

      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return Query.and(Player.getComponentType(), PlayerRef.getComponentType());
      }
   }

   class="kw">public class="kw">static class UiTickingSystem class="kw">extends DelayedEntitySystem<EntityStore> {
      class="kw">public UiTickingSystem() {
         super(1.0F);
      }

      @Override
      class="kw">public void tick(
         float var1, int var2, @Nonnull ArchetypeChunk<EntityStore> var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5
      ) {
         PortalWorld var6 = var4.getResource(PortalWorld.getResourceType());
         if (var6.exists()) {
            World var7 = var4.getExternalData().getWorld();
            Store var8 = var7.getChunkStore().getStore();
            InstanceDataResource var9 = var8.getResource(InstanceDataResource.getResourceType());
            Instant var10 = var9.getTimeoutTimer();
            if (var10 != null) {
               PlayerRef var11 = var3.getComponent(var2, PlayerRef.getComponentType());
               UpdatePortal var12 = var6.getSeesUi().add(var11.getUuid()) ? var6.createFullPacket(var7) : var6.createUpdatePacket(var7);
               var11.getPacketHandler().write(var12);
            }
         }
      }

      @Nullable
      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return Query.and(Player.getComponentType(), PlayerRef.getComponentType());
      }
   }
}