SelectorBlockScan class

Пакет: com.hypixel.hytale.server.core.modules.interaction.interaction.config.selector

Файл: com/hypixel/hytale/server/core/modules/interaction/interaction/config/selector/SelectorBlockScan.java

Поля (5)

МодификаторыТипИмя
final AbstractCachedAccessor.Registry REGISTRY
int var11
int var12
BlockSection var5
int var6

Методы (2)

МодификаторыВозвратСигнатура
static void acceptvoid accept(@Nonnull CachedAccessor var0, int var1, int var2, int var3, @Nonnull Selector.BlockConsumer var4)
abstract return accessorAtreturn accessorAt(var0, var1, var3, var5, var7, var7)

Исходный код

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

class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.AbstractCachedAccessor;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.CachedAccessor;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.section.BlockSection;
class="kw">import com.hypixel.hytale.server.core.util.FillerBlockUtil;
class="kw">import javax.annotation.Nonnull;

class="kw">final class SelectorBlockScan {
   class="kw">static class="kw">final AbstractCachedAccessor.Registry REGISTRY = new AbstractCachedAccessor.Registry();
   class="kw">static class="kw">final AbstractCachedAccessor.Key<BlockSection> BLOCK_SECTION = REGISTRY.forSection(BlockSection::getComponentType);
   class="kw">static class="kw">final AbstractCachedAccessor.InitFunction ACCESSOR = REGISTRY.threadLocal();

   class="kw">private SelectorBlockScan() {
   }

   @Nonnull
   class="kw">static CachedAccessor accessorAt(@Nonnull World var0, double var1, double var3, double var5, double var7) {
      class="kw">return accessorAt(var0, var1, var3, var5, var7, var7);
   }

   @Nonnull
   class="kw">static CachedAccessor accessorAt(@Nonnull World var0, double var1, double var3, double var5, double var7, double var9) {
      int var11 = ChunkUtil.chunkCoordinate(MathUtil.ceil(var7)) + 1;
      int var12 = ChunkUtil.chunkCoordinate(MathUtil.ceil(var9)) + 1;
      class="kw">return ACCESSOR.getAtBlock(var0.getChunkStore().getStore(), MathUtil.floor(var1), MathUtil.floor(var3), MathUtil.floor(var5), var11, var12, var11);
   }

   class="kw">static void accept(@Nonnull CachedAccessor var0, int var1, int var2, int var3, @Nonnull Selector.BlockConsumer var4) {
      BlockSection var5 = var0.getComponentSectionAtBlock(var1, var2, var3, BLOCK_SECTION);
      int var6 = var5 == null ? 0 : var5.getFiller(var1, var2, var3);
      var4.accept(var1, var2, var3, var1 - FillerBlockUtil.unpackX(var6), var2 - FillerBlockUtil.unpackY(var6), var3 - FillerBlockUtil.unpackZ(var6));
   }
}