> For the complete documentation index, see [llms.txt](https://docs.nursultan.fun/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nursultan.fun/scripting-api-ru/igrovye-dannye/mir-i-bloki.md).

# Мир и блоки

`world` — это текущий мир. Работает, только пока ты в игре, так что оборачивай в `whenInGame` или проверяй `inGame`.

## Что за мир

```kotlin
world.dimension()        // "minecraft:overworld" и т.п.
world.timeTicks()        // сколько мир существует
world.dayTimeTicks()     // время суток, 0..24000
world.raining()
world.thundering()
```

## Блоки

Блок берётся по координатам или по точке:

```kotlin
val under = world.block(player.x().toInt(), player.y().toInt() - 1, player.z().toInt())
val here = world.block(player.position())
```

Что можно про него спросить:

```kotlin
under.id()               // "minecraft:stone"
under.name()             // как называется в игре
under.x()  under.y()  under.z()
under.position()
under.box()              // его коробка в мире

under.air()
under.solid()
under.liquid()
under.opaque()
under.blocksMovement()

under.luminance()        // сколько света излучает
under.hardness()         // как долго ломать
under.blastResistance()
under.slipperiness()     // лёд скользкий
```

Ещё пара полезных вещей про пространство:

```kotlin
world.lightLevel(x, y, z)      // освещённость
world.topY(x, z)               // высота самого верхнего блока
world.collisionsIn(box)        // все коллизии внутри коробки
world.isFree(box)              // пусто ли там
```

## Коробки

`Box` — прямоугольный объём. Он есть у сущностей и блоков, и его можно собрать самому:

```kotlin
val around = Box.around(player.position(), 8.0)

around.center()
around.sizeX()
around.expand(1.0)             // раздуть во все стороны
around.contract(0.5)
around.offset(0.0, 1.0, 0.0)
around.contains(point)
around.intersects(other)
```

## Сущности вокруг

```kotlin
world.entities()                                    // все
world.entities(filters.player())                    // с фильтром
world.entitiesIn(Box.around(player.position(), 8.0))
world.entitiesNear(player.position(), 8.0, filters.attackable())
world.players()
world.entityCount()

world.entityById(id)
world.entityByUuid(uuid)
world.entityByName("Notch")
world.nearestEntity(player.position(), 16.0, filters.monster())
```

Всё, что возвращает одну сущность, может вернуть `null` — значит, не нашлось.

Про фильтры и что можно спросить у сущности — [Сущности и фильтры](/scripting-api-ru/igrovye-dannye/sushnosti-i-filtry.md).

## Звуки и частицы

```kotlin
world.playSound("minecraft:entity.experience_orb.pickup", 1f, 1f)
world.playSound("minecraft:block.anvil.land", position, 1f, 0.8f)

world.spawnParticle("minecraft:flame", position, Vec.ZERO)
```

Без позиции звук играет там, где ты. Громкость и высота тона — обычные значения Minecraft: `1f` это нормально, `2f` выше, `0.5f` ниже.

Всё это видно и слышно **только тебе** — сервер об этом не знает.
