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));
}
}