使い方と制約

読み込み済みチャンク内だけを照会します。それ以外は未検出とし、Crafting画面を開くために遠隔工場のチャンクを強制読み込みしません。

LoadedBlockAccess

LoadedBlockAccess
package dev.nebulastorage.api.platform

import net.minecraft.core.BlockPos
import net.minecraft.server.level.ServerLevel
import net.minecraft.world.level.block.entity.BlockEntity
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.chunk.LevelChunk

/** Server-thread reads that neither load a chunk nor renew Minecraft's implicit UNKNOWN ticket. */
object LoadedBlockAccess {
    fun chunk(level: ServerLevel, position: BlockPos): LevelChunk? {
        check(level.server.isSameThread) { "Loaded block access requires the server thread" }
        return level.chunkSource.getChunkNow(position.x shr 4, position.z shr 4)
    }

    fun entity(level: ServerLevel, position: BlockPos): BlockEntity? = chunk(level, position)?.getBlockEntity(position)
    fun state(level: ServerLevel, position: BlockPos): BlockState? = chunk(level, position)?.getBlockState(position)
}
ソース

src/main/kotlin/dev/nebulastorage/api/platform/LoadedBlockAccess.kt; editorial/ja.json

43b4d12d69e6033c24fa8c39dac383ef2429b446