COWMODSКаталог модов

Onioning API

Onioning API — A revolutionary command-scripting engine for NeoForge. Pack complex, nested multi-layered expressions inside items, bind targets, cache positions to JSON configs, and cast advanced RPG spells.

Автор: CrinZonVortX_760обновлён 1 окт. 2026 г.
БиблиотекиУтилиты

Описание

🧅 Onioning API (1.21.1 / NeoForge)

Onioning API is an advanced command-scripting engine that transforms standard Minecraft commands into a powerful, multi-layered visual programming language for magic, automation, and server administration.

By utilizing a nested "onion-skin" syntax, this utility allows developers, mapmakers, and server admins to nest functions inside one another, cache persistent coordinates to disk, and deploy fully standalone RPG spells directly inside item NBT data.

Галерея

mod icon

Последние версии

Все версии →
beta

Onioning API 1.0.4-beta

1.0.4-beta
1 окт. 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.0
28 авг. 2026 г.35Minecraft: 1.21.1neoforge
Скачать