▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/M1 - Machine One AI Interface
M1 - Machine One AI Interface

M1 - Machine One AI Interface

Operate the Minecraft client through a local text interface, for automation and AI control.

Оцените первым
1.2K
5
Все версии→0.17.0+1.21.5-neoforge

0.17.0+1.21.5-neoforge

Release26.08.2026

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

Fixed

  • Pressing Escape with M1 loaded no longer dismisses the pause menu. ScreenWatch's PAUSE reflex (added 0.15.x for the unattended aim/pick stall) killed EVERY PauseScreen that was not inside the deliberate pause-verb grace window -- including the one the operator opened by hand, one client tick later, sometimes before it drew a frame. The reflex now tells the two apart by WINDOW FOCUS, which is exact rather than heuristic: vanilla can only summon that screen two ways, and they sit on opposite sides of the focus flag. GameRenderer.render opens it only while !minecraft.isWindowActive() && options.pauseOnLostFocus, after 500ms unfocused (1.20.1 GameRenderer L1059-1064); KeyboardHandler opens it on key 256, and a key press only reaches a FOCUSED window (L420-423). Both call pauseGame(false), so the PauseScreen(showsPauseMenu) flag canNOT discriminate -- read out of the decompiled sources, not assumed, and re-checked present and unchanged in 1.20, 1.20.6, 1.21, 1.21.5, 1.21.9, 1.21.11, 26.1, 26.2 and 26.3-snapshot-7. A pause seen while the window is focused is latched to that screen INSTANCE, so alt-tabbing away from a menu the operator opened does not make it vanish behind him. The lost-focus reflex is unchanged.

  • The agent layer never ran on ANY Forge or NeoForge cell. The loader glue's client-tick handler stopped after PickupUpgrade.tick, so AgentRuntime.tick -- and with it the agent loop (ActionQueue, every queued multi-tick action: attack/defend/follow/mine-area/recover/craft/sleep) and ScreenWatch (death auto-respawn, sign-dialog dismissal, the pause reflex) -- plus DamageWatch.tick and HungerWatch.tick were dead on all 24 non-Fabric cells. Only the two Fabric client entrypoints ever called them. The glue carried a comment claiming it was "kept identical to the Fabric glue"; it had not been since the agent layer landed. All nine loader entrypoint masters now run the same eight-call chain, in the same order, as the Fabric client.

  • M1SrvNet.tick was missing entirely from the neoforge_early shape (NeoForge 1.20.2, 1.20.3, 1.20.4), so the /m1srv server-query backchannel could never complete a round trip there.

  • VaultNet.onSystemLine was not fed on Forge or NeoForge (except the neoforge_26 shape): the system-chat handler forwarded only to M1SrvNet, so Bank Vault's /bank api replies -- the async [bv] report path behind every multiplayer vault verb -- never arrived. The handler now feeds both, matching the Fabric ClientReceiveMessageEvents.GAME handler.

Changed

  • mod_version stamped 0.17.0 in all 34 cells. 0.16.1 changed shared code that every cell compiles but bumped only Fabric/26, leaving 33 cells stamped 0.16.0 over 0.16.1 sources -- the same "shipped code under an unchanged version name" trap the project hit once before. Minor rather than patch because the Forge/NeoForge jars gain the whole agent layer.

Notes

  • pack_format was audited across all 34 cells against Memory/knowledge/pack-formats.md and is fully compliant: plain int at N <= 64, no pack.mcmeta on the Fabric/NeoForge 1.21.9-1.21.11 cells, the exact-single range on the DATA major for Forge 1.21.10 (88) and 1.21.11 (94), and the ${packFormat} range template on both 26 cells. The older "Forge 1.21.10/1.21.11 stale pack_format" follow-up is closed.
  • Smoketested: 13/13 PASS, every PNG eyeballed (Raider Client_Tests, 2026-08-25). Tier = CRITICAL (1.20.1, 1.21.1, 1.21.11, 26.1.2 on all applicable loaders -- the publish gate), EXTENDED with Forge/1.20.6 and NeoForge/1.20.2 so that all ELEVEN distinct entrypoint shapes are covered, since the entrypoints are what this release actually changed. Every frame is a real in-world render, and 12 of the 13 show a live block-outline at the crosshair -- direct evidence that GameRenderer.pick() is running and hitResult is not stale, which is the surface the ScreenWatch change touches. (The exception, NeoForge 1.20.2, spawned inside a leaf canopy, so there is no valid pick target; the frame is otherwise a clean in-world render.)
  • Behaviour evidence for the parity fix, observed on a real client: Forge 1.21.1 emitted BOTH a DamageWatch [alert] took 20.0 damage (health 20.0 -> 0.0) -- DEAD report and a ScreenWatch death report, and NeoForge 26.1.2 emitted the DamageWatch one. Those strings can only be produced by DamageWatch / ScreenWatch, which are reached only through AgentRuntime.tick -- the call these entrypoints did not make before 0.17.0. All four probed cells also auto-respawned with nobody clicking Respawn.
  • What is NOT proven: a repeatable two-directional behaviour gate. Three attempts each scored wrong in an instructive way -- see minecraft/m1.md -- and the one that ends green has never been shown to go red, so it is not evidence. The COMPLETE tier (every MC version inside every jar's claimed range) has also not been run; this is CRITICAL + shape completion.

Файлы

m1-0.17.0+1.21.5-neoforge.jar(318.00 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

0.17.0+1.21.5-neoforge

Загрузчики

NeoForge

Версии игры

1.21.5

Загрузок

0

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

26.08.2026

Загрузил

ID версии

Главная