WildernessTrackerSystems class

Пакет: com.hypixel.hytale.builtin.adventure.wilderness.system

Файл: com/hypixel/hytale/builtin/adventure/wilderness/system/WildernessTrackerSystems.java

Поля (35)

МодификаторыТипИмя
final ComponentType<ChunkStore, ChunkSection> CHUNK_SECTION_COMPONENT_TYPE
Store var1
boolean var10
ChunkSection var10
int var11
int var12
int var13
WildernessConfig var2
WildernessTracker var3
WildernessTracker var3
WildernessTracker var3
BlockModule.BlockStateInfo var4
BlockModule.BlockStateInfo var4
BlockModule.BlockStateInfo var4
RespawnBlock var5
ChunkSection var5
ChunkSection var5
RespawnBlock var5
RespawnBlock var5
ChunkSection var6
WildernessTracker var6
int var6
int var6
int var7
boolean var7
int var7
int var7
int var8
boolean var8
int var8
int var8
int var9
BlockModule.BlockStateInfo var9
boolean var9
boolean var9

Методы (21)

МодификаторыВозвратСигнатура
public ComponentAddRemovepublic ComponentAddRemove()
public EntityAddRemovepublic EntityAddRemove()
public ComponentType<ChunkStore, RespawnBlock> componentTypepublic ComponentType<ChunkStore, RespawnBlock> componentType()
public Query<ChunkStore> getQuerypublic Query<ChunkStore> getQuery()
public Query<ChunkStore> getQuerypublic Query<ChunkStore> getQuery()
if if(var2 == null)
if if(var7 != var8)
if if(var10 != null)
if if(var5 != null)
if if(var5 != null)
protected static void onAddprotected static void onAdd(@Nonnull Ref<ChunkStore> var0, @Nonnull RespawnBlock var1, @Nonnull CommandBuffer<ChunkStore> var2)
abstract onAdd onAdd(var1, var2, var4)
abstract onAdd onAdd(var1, var3, var5)
public void onComponentAddedpublic void onComponentAdded(@Nonnull Ref<ChunkStore> var1, @Nonnull RespawnBlock var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4)
public void onComponentRemovedpublic void onComponentRemoved(@Nonnull Ref<ChunkStore> var1, @Nonnull RespawnBlock var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4)
public void onComponentSetpublic void onComponentSet(@Nonnull Ref<ChunkStore> var1, @Nullable RespawnBlock var2, @Nonnull RespawnBlock var3, @Nonnull Store<ChunkStore> var4, @Nonnull CommandBuffer<ChunkStore> var5)
public void onEntityAddedpublic void onEntityAdded(@Nonnull Ref<ChunkStore> var1, @Nonnull AddReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4)
public void onEntityRemovepublic void onEntityRemove(@Nonnull Ref<ChunkStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4)
protected static void onRemoveprotected static void onRemove(@Nonnull Ref<ChunkStore> var0, @Nonnull RespawnBlock var1, @Nonnull CommandBuffer<ChunkStore> var2)
abstract onRemove onRemove(var1, var2, var4)
static WildernessTracker reloadWildernessTracker reload(@Nonnull World var0)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.WildernessConfig;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.resource.WildernessTracker;
class="kw">import com.hypixel.hytale.builtin.adventure.wilderness.resource.WildernessVisitor;
class="kw">import com.hypixel.hytale.component.AddReason;
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.Store;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.RefChangeSystem;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.server.core.modules.block.BlockModule;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.section.ChunkSection;
class="kw">import com.hypixel.hytale.server.core.universe.world.meta.state.RespawnBlock;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class WildernessTrackerSystems {
   class="kw">protected class="kw">static class="kw">final ComponentType<ChunkStore, ChunkSection> CHUNK_SECTION_COMPONENT_TYPE = ChunkSection.getComponentType();
   class="kw">protected class="kw">static class="kw">final ComponentType<ChunkStore, RespawnBlock> SPAWN_BLOCK_COMPONENT_TYPE = RespawnBlock.getComponentType();
   class="kw">protected class="kw">static class="kw">final ComponentType<ChunkStore, BlockModule.BlockStateInfo> BLOCK_STATE_COMPONENT_TYPE = BlockModule.BlockStateInfo.getComponentType();
   class="kw">protected class="kw">static class="kw">final Query<ChunkStore> SPAWN_BLOCKSTATE_QUERY = Query.and(BLOCK_STATE_COMPONENT_TYPE, SPAWN_BLOCK_COMPONENT_TYPE);

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

   class="kw">public class="kw">static WildernessTracker reload(@Nonnull World var0) {
      Store var1 = var0.getChunkStore().getStore();
      var1.assertThread();
      WildernessConfig var2 = WildernessConfig.getOrDefault(var0);
      WildernessTracker var3 = new WildernessTracker(var2);
      if (var3.isEnabled()) {
         try (WildernessVisitor.ChunkVisitor var4 = var1.getResource(WildernessVisitor.getChunkResourceType())) {
            var1.forEachEntityParallel(SPAWN_BLOCKSTATE_QUERY, var4.setup(var3, (var0x, var1x, var2x, var3x) -> {
               BlockModule.BlockStateInfo var4 = var1x.getComponent(var0x, BLOCK_STATE_COMPONENT_TYPE);
               assert var4 != null;
               RespawnBlock var5 = var1x.getComponent(var0x, SPAWN_BLOCK_COMPONENT_TYPE);
               assert var5 != null;
               ChunkSection var6 = var2x.getComponent(var4.getSectionRef(), CHUNK_SECTION_COMPONENT_TYPE);
               assert var6 != null;
               int var7 = var6.getX();
               int var8 = var6.getZ();
               int var9 = var6.getY();
               boolean var10 = var5.getOwnerUUID() != null;
               var3x.addHomeChunk(var7, var9, var8, var10);
            }));
         }
      }

      var1.replaceResource(WildernessTracker.getResourceType(), var3);
      class="kw">return var3;
   }

   class="kw">public class="kw">static class ComponentAddRemove class="kw">extends RefChangeSystem<ChunkStore, RespawnBlock> {
      class="kw">public ComponentAddRemove() {
      }

      @Nonnull
      @Override
      class="kw">public Query<ChunkStore> getQuery() {
         class="kw">return WildernessTrackerSystems.SPAWN_BLOCKSTATE_QUERY;
      }

      @Nonnull
      @Override
      class="kw">public ComponentType<ChunkStore, RespawnBlock> componentType() {
         class="kw">return WildernessTrackerSystems.SPAWN_BLOCK_COMPONENT_TYPE;
      }

      class="kw">public void onComponentAdded(
         @Nonnull Ref<ChunkStore> var1, @Nonnull RespawnBlock var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4
      ) {
         onAdd(var1, var2, var4);
      }

      class="kw">public void onComponentRemoved(
         @Nonnull Ref<ChunkStore> var1, @Nonnull RespawnBlock var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4
      ) {
         onRemove(var1, var2, var4);
      }

      class="kw">public void onComponentSet(
         @Nonnull Ref<ChunkStore> var1,
         @Nullable RespawnBlock var2,
         @Nonnull RespawnBlock var3,
         @Nonnull Store<ChunkStore> var4,
         @Nonnull CommandBuffer<ChunkStore> var5
      ) {
         WildernessTracker var6 = var5.getResource(WildernessTracker.getResourceType());
         if (!var6.isDisabled()) {
            if (var2 == null) {
               onAdd(var1, var3, var5);
            } else {
               boolean var7 = var3.getOwnerUUID() != null;
               boolean var8 = var2.getOwnerUUID() != null;
               if (var7 != var8) {
                  BlockModule.BlockStateInfo var9 = var5.getComponent(var1, WildernessTrackerSystems.BLOCK_STATE_COMPONENT_TYPE);
                  assert var9 != null : "System query matched an entity that does not have component: BlockModule.BlockStateInfo";
                  ChunkSection var10 = var5.getComponent(var9.getSectionRef(), WildernessTrackerSystems.CHUNK_SECTION_COMPONENT_TYPE);
                  if (var10 != null) {
                     int var11 = var10.getX();
                     int var12 = var10.getZ();
                     int var13 = var10.getY();
                     var6.removeHomeChunk(var11, var13, var12, var8);
                     var6.addHomeChunk(var11, var13, var12, var7);
                  }
               }
            }
         }
      }

      class="kw">protected class="kw">static void onAdd(@Nonnull Ref<ChunkStore> var0, @Nonnull RespawnBlock var1, @Nonnull CommandBuffer<ChunkStore> var2) {
         WildernessTracker var3 = var2.getResource(WildernessTracker.getResourceType());
         if (!var3.isDisabled()) {
            BlockModule.BlockStateInfo var4 = var2.getComponent(var0, WildernessTrackerSystems.BLOCK_STATE_COMPONENT_TYPE);
            assert var4 != null : "System query matched an entity that does not have component: BlockModule.BlockStateInfo";
            ChunkSection var5 = var2.getComponent(var4.getSectionRef(), WildernessTrackerSystems.CHUNK_SECTION_COMPONENT_TYPE);
            if (var5 != null) {
               int var6 = var5.getX();
               int var7 = var5.getZ();
               int var8 = var5.getY();
               boolean var9 = var1.getOwnerUUID() != null;
               var3.addHomeChunk(var6, var8, var7, var9);
            }
         }
      }

      class="kw">protected class="kw">static void onRemove(@Nonnull Ref<ChunkStore> var0, @Nonnull RespawnBlock var1, @Nonnull CommandBuffer<ChunkStore> var2) {
         WildernessTracker var3 = var2.getResource(WildernessTracker.getResourceType());
         if (!var3.isDisabled()) {
            BlockModule.BlockStateInfo var4 = var2.getComponent(var0, WildernessTrackerSystems.BLOCK_STATE_COMPONENT_TYPE);
            assert var4 != null : "System query matched an entity that does not have component: BlockModule.BlockStateInfo";
            ChunkSection var5 = var2.getComponent(var4.getSectionRef(), WildernessTrackerSystems.CHUNK_SECTION_COMPONENT_TYPE);
            if (var5 != null) {
               int var6 = var5.getX();
               int var7 = var5.getZ();
               int var8 = var5.getY();
               boolean var9 = var1.getOwnerUUID() != null;
               var3.removeHomeChunk(var6, var8, var7, var9);
            }
         }
      }
   }

   class="kw">public class="kw">static class EntityAddRemove class="kw">extends RefSystem<ChunkStore> {
      class="kw">public EntityAddRemove() {
      }

      @Nonnull
      @Override
      class="kw">public Query<ChunkStore> getQuery() {
         class="kw">return WildernessTrackerSystems.SPAWN_BLOCKSTATE_QUERY;
      }

      @Override
      class="kw">public void onEntityAdded(
         @Nonnull Ref<ChunkStore> var1, @Nonnull AddReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4
      ) {
         RespawnBlock var5 = var4.getComponent(var1, WildernessTrackerSystems.SPAWN_BLOCK_COMPONENT_TYPE);
         assert var5 != null : "System query matched an entity that does not have component: RespawnBlock";
         WildernessTrackerSystems.ComponentAddRemove.onAdd(var1, var5, var4);
      }

      @Override
      class="kw">public void onEntityRemove(
         @Nonnull Ref<ChunkStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<ChunkStore> var3, @Nonnull CommandBuffer<ChunkStore> var4
      ) {
         RespawnBlock var5 = var4.getComponent(var1, WildernessTrackerSystems.SPAWN_BLOCK_COMPONENT_TYPE);
         assert var5 != null : "System query matched an entity that does not have component: RespawnBlock";
         WildernessTrackerSystems.ComponentAddRemove.onRemove(var1, var5, var4);
      }
   }
}