Onioning APIСкачатьСкачать
ВЕРСИИ (2)
beta
Onioning API 1.0.4-beta
1.0.4-beta1 окт. 2026 г.41Minecraft: 1.21.1neoforge
Что нового
# Changelog
## 🆕 New pointers
- **`eget{point_name}`** — extracts a UUID from a saved variable. Works like `get`, but returns a UUID instead of coordinates. Used as a text selector for `kill`, `tp`, etc.
## ✏️ Changes to existing pointers
- **`elook{@s}[nick]`** — added the `[nick]` modifier. Without it, behavior is unchanged (returns the UUID of the first entity hit); with it, returns the player's nickname if a player was hit, otherwise the UUID of a non-player entity.
## 🧮 New math functions
**Vector arithmetic:**
- `add{a}{b}` — component-wise sum
- `sub{a}{b}` — subtraction
- `mul{a}{b}` — component-wise multiplication
- `div{a}{b}` — component-wise division (zero divisor → 0)
**Angles:**
- `face{a}{b}` → `yaw pitch` from A to B
- `yaw{a}{b}` → yaw only
- `pitch{a}{b}` → pitch only
**Random vectors:**
- `rUnit[scale]` — random unit vector on the sphere (uniform), multiplied by `scale`
- `rCone{axis}[angle]` — random vector inside a cone (cosine-weighted by solid angle)
- `rRing{center}[radius]` — random point on a horizontal ring
**Offsets:**
- `bodyOffset{base}{dir}[right up forward]` — offset in a horizontal frame
- `localOffset{base}{dir}[right up forward]` — offset in a full 3D frame relative to `dir`
**World functions:**
- `under{base}` — same XZ, but Y = surface height (Heightmap MOTION_BLOCKING)
- `hit{a}{b}` — raycast between two points, returns the hit point (block or entity — whichever is closer)
## 🔁 New parser features
**Loops:**
- `[N]` — repeat N times with no delay
- `[N:delay]` — repeat N times with delay between iterations
**Loop variables:**
- `t{}` — progress 0.0..1.0
- `i{}` — current index
- `n{}` — total iterations
- `t{1}`, `i{1}`, `n{1}` — access the outer loop for nested constructs
## ⚠️ Error handling
- **`nothing`** — the miss marker. If any function returns `nothing`, the whole expression collapses to `nothing`, and the command is not executed (if the final string contains a `nothing` token). This lets you write safe chains that don't break on missing targets.
---
# Список изменений
## 🆕 Новые указатели
- **`eget{имя_точки}`** — достаёт UUID из сохранённой переменной. Работает как `get`, но возвращает UUID вместо координат. Используется как текстовый селектор для `kill`, `tp` и т.д.
## ✏️ Изменения в существующих указателях
- **`elook{@s}[nick]`** — добавлен модификатор `[nick]`. Без него поведение прежнее (возвращает UUID первой попавшейся сущности), с ним — ник игрока, если попали в игрока, иначе UUID не-игрока.
## 🧮 Новые математические функции
**Арифметика векторов:**
- `add{a}{b}` — покомпонентное сложение
- `sub{a}{b}` — вычитание
- `mul{a}{b}` — покомпонентное умножение
- `div{a}{b}` — покомпонентное деление (делитель 0 → 0)
**Углы:**
- `face{a}{b}` → `yaw pitch` от A к B
- `yaw{a}{b}` → только yaw
- `pitch{a}{b}` → только pitch
**Случайные вектора:**
- `rUnit[scale]` — случайный единичный вектор на сфере (равномерное распределение), умноженный на `scale`
- `rCone{ось}[угол]` — случайный вектор внутри конуса (косинусное распределение по телесному углу)
- `rRing{центр}[радиус]` — случайная точка на горизонтальном кольце
**Смещения:**
- `bodyOffset{база}{направление}[right up forward]` — смещение в горизонтальной системе координат
- `localOffset{база}{направление}[right up forward]` — смещение в полной 3D-системе относительно направления
**Мировые функции:**
- `under{база}` — та же XZ, но Y = высота поверхности (Heightmap MOTION_BLOCKING)
- `hit{a}{b}` — рейкаст между двумя точками, возвращает точку попадания (в блок или сущность — что ближе)
## 🔁 Новые возможности парсера
**Циклы:**
- `[N]` — повторить N раз без задержки
- `[N:delay]` — повторить N раз с задержкой между итерациями
**Переменные цикла:**
- `t{}` — прогресс 0.0..1.0
- `i{}` — текущий индекс
- `n{}` — всего итераций
- `t{1}`, `i{1}`, `n{1}` — обращение к внешнему циклу для вложенных конструкций
## ⚠️ Обработка ошибок
- **`nothing`** — маркер промаха. Если любая функция вернула `nothing`, всё выражение сворачивается в `nothing`, а команда не выполняется (если в итоговой строке есть токен `nothing`). Это позволяет писать безопасные цепочки без обрыва на несуществующих целях.
alpha
Onioning API 1.0.0
1.0.028 авг. 2026 г.35Minecraft: 1.21.1neoforge