▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Overgrown's Apoli
Overgrown's Apoli

Overgrown's Apoli

A data-driven power system that's build for custom abilities, mechanics, and entire origin systems from JSON alone.

Оцените первым
826
4
Все версииApoli (1.6.0)

Apoli (1.6.0)

Beta26.07.2026

Список изменений

1.6.0

Added

Power engine

  • Data-driven engine with 90+ built-in power types and full coverage of entity, bi-entity, block, item, damage, and biome conditions and actions, backed by a large data-type library (Expression, Attribute Modifier, Space, Vector, Nbt, ItemStack, Ingredient, Hand, Text Component, Particle Effect, Shape, Model Part Transformation, Stat, and more).
  • apoli:multiple power expansion (sub-powers, *:* wildcard) and per-type / per-field aliasing so legacy ids and field names (amountvalue, modify_damage_dealt/_taken, self_action_on_hit, …) resolve automatically.
  • Universal inverted: true on every condition wrapper, plus the apoli:invert bi-entity meta (actor/target swap).

Resources, attributes & expressions

  • apoli:resource / apoli:cooldown power types with values that persist across restarts, HUD bars, and apoli:modify_resource / apoli:trigger_cooldown actions; an apoli:resource entity condition; and a /apoli:resource command.
  • apoli:attribute power with per-tick expression re-evaluation, condition gating, and correct max-health / heart syncing.
  • In-house Expression engine (compile-once, allocation-free) replacing mXparser. Variables include position, rotation, velocity, health, armor, air, fall distance, saturation, moon phase, and a damage variable bound during hit actions, plus a full math / logic function set. Expressions are accepted by chance, status-effect duration / amplifier, velocity, and damage / heal / feed / xp amounts. Invalid expressions now fail at pack load instead of silently defaulting.

Combat & interaction

  • apoli:modify_damage (dealt / taken), apoli:action_on_hit / apoli:action_when_hit, apoli:action_on_kill, and damage conditions (amount / type / tag / attacker / projectile / name).
  • The full action_on_* family (use, item use, land, death, callback, block break / place / use, item pickup, wake up, …) wired to real runtime hooks.
  • apoli:fire_projectile with a custom textured projectile entity (texture_location) and per-tick projectile actions.

Movement & body

  • Rope / grappling subsystem — ropes anchored to entities or blocks, verlet-simulated rendering, reeling, and omnidirectional air control.
  • apoli:grab / apoli:release_grab — hold a target in front of the camera with collision-aware movement and axis locks.
  • apoli:pose (per-hand posing), phasing (see-through + client-side block removal), climbing hold, elytra flight, apoli:modify_falling, and the flag / state powers (invulnerability, freeze, shaking, effect_immunity, keep_inventory, starting_equipment, grounded, restrict_armor, disable_regen, …).

Appearance

  • apoli:entity_texture_overlay, apoli:modify_model_parts, per-part apoli:model_color (including first person), and the apoli:disguise system (disguise_as / remove_disguise / disguised) — which also overrides name-tag, chat, and tab-list names.
  • apoli:modify_player_model — addon models and Figura avatars.
  • apoli:custom_model_render — merged texture + geometry via a built-in Blockbench .geo.json parser (no GeckoLib required). (Fabric 1.21.1 & NeoForge 1.21.1; Fabric 1.20.1 port in progress.)

Summons & entity data

  • apoli:summon_clone / apoli:summon_minion / apoli:set_summon_max_life, and apoli:modify_entity_data (gravity, invulnerable, silent, glowing, no-AI, fire, air, …).

UI, text & progression

  • Skill Tree system — skill_trees JSON + in-power skill data, an in-game tree screen (default K), point costs, refunds, per-skill conditions, and a /apoli:skill_tree command.
  • apoli:text (title / subtitle / action-bar and custom-anchored text bars), apoli:modify_label_render (name-tag / chat / tab overrides), and the apoli:stat condition + stat actions.
  • Data-driven keybinds, the key_pressed condition, apoli:action_on_key_sequence, and apoli:radial_menu.

Items & world

  • Items with powers — add_power / remove_power loot functions plus the item power conditions.
  • apoli:game_event_listener (react to vanilla game events), apoli:inventory menu power, apoli:recipe / crafting powers, apoli:conjure_equipment, and the loot / particle / tooltip powers.
  • apoli:loop meta action.

Power management

  • Power suppression (suppress_power / unsuppress_power / prevent_powers), grant_all_powers / revoke_all_powers, and a full /apoli:power command. Powers can now be granted to and ticked on any entity type, not just living entities.

Commands

  • /apoli:power, /apoli:resource, /apoli:skill_tree, /apoli:accessory, and /apoli:disguise — all with configurable permission nodes (falling back to op level 2).

Mod compatibility (each auto-gated on the mod being present)

  • Icarusapoli:wings flight.
  • Figura — avatars through modify_player_model.
  • Trinkets / Accessories / Curios — one unified accessory type set (change / equip / slot conditions and actions, equip / unequip prevention, slot-count modifiers).
  • Hardcore Revival — knockout / revive conditions and actions.
  • Simple Voice Chat — voice conditions (speaking / loudness / listeners / disabled), action_on_speak / action_on_reply, chat magic-word actions, and apoli:action_on_speech browser-based speech-to-action (multi-language). (Fabric 1.21.1 & NeoForge 1.21.1; Fabric 1.20.1 port in progress.)

Platforms

  • NeoForge 1.21.1 support added alongside Fabric 1.20.1 and Fabric 1.21.1.

Changed

  • Speech-to-action is now opt-in. The in-game browser page and chat link only open when enabled in config/apoli-client.json (speechToAction, default off), so players without Simple Voice Chat / speech-to-text aren't prompted.
  • Addon authors: the voice-chat compat types moved to dev.overgrown.apoli.compat.voicechat (matching the Icarus / Figura layout). Data packs are unaffected — the type ids are unchanged.
  • apoli:if_else_list now runs every branch whose condition passes (was first-match-only).
  • apoli:change_stat folded into apoli:modify_stat; several unused stub power types removed; apoli:text no longer carries redundant color fields (text components style themselves).
  • apoli:loop supports ticks: 0 (all iterations fire the same tick, capped for safety).
  • Legacy upper-case Hand values (MAIN_HAND, OFF_HAND, …) accepted alongside the lower-case forms.

Fixed

  • action_on_speech — repeated trigger words register again, language matching is lenient (enen-US), and detection latency is lower.
  • action_on_land no longer lets landing explosions damage the entity that landed.
  • conjure_equipment (Fabric 1.21.1 only) — the equipment lock and drop-deletion now work (two mixins were unregistered on this loader only).
  • Attribute modifiers no longer vanish on death / respawn, and max-health changes no longer leave empty hearts on join.
  • Power sync no longer kicks players on servers with very large power sets (oversize packet → chunked, gzipped sync), and non-player entities no longer silently lose their powers on restart.
  • Network protocol handshake added so version-mismatched clients / servers degrade gracefully instead of crashing on join.
  • NBT conditions now match numeric fields correctly (value-based comparison).
  • Rope ghost-strand render, reel speed, and resegmentation fixes.
  • Figura equip crash, Polymorph crafting bootstrap crash, and a Pehkui / mixin startup crash all fixed.
  • Powers now fire on vanilla keybinds (key.use, key.attack), not only key.apoli.*.

Performance

  • Major server-thread overhaul: O(1) power-type lookups, pre-resolved tick lists, cached save NBT (no per-save DFU encode), interned ids, and empty-container fast-outs.
  • apoli:nbt no longer serializes a player's whole recipe book per check — Tags predicates are answered with zero serialization, plus a per-tick cache.
  • apoli:action_over_time samples once per interval (staggered across ticks) instead of evaluating its condition every tick.
  • Expression evaluation is allocation-free on hot paths (HUD, resource ticks, modifiers).

Файлы

apoli-1.6.0.jar(27.98 MiB)
Основной
Скачать

Метаданные

Канал релиза

Beta

Номер версии

1.6.0

Загрузчики

NeoForge

Версии игры

1.21.1

Загрузок

24

Дата публикации

26.07.2026

Загрузил

ID версии

Главная