跳到正文

Curios API Forge

作者:Fitals

A community-maintained Forge port of Curios API, bringing its accessory and equipment slot framework to Minecraft Forge. Maintained by Fitals.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Curios API Forge — community port

This is an unofficial derivative work — a port of the original Curios API, not the original project itself.

Original project: Curios API by C4 (TheIllusiveC4)

Port author and maintainer: Fitals

All credit for the original mod, its design, code and API belongs to C4. This project is not affiliated with, sponsored by, or endorsed by the original author. It is not a reupload of the original jar — it is a separate build with a Forge-specific platform layer.

How this project differs from the original

The gameplay content and the public API are the same as upstream Curios 9.5.1. The differences are the loader port itself and a set of bug fixes.

Platform port: NeoForge → Forge

  • Rebuilt the loader-specific layer for Forge: entity and item capabilities, networking (SimpleChannel), configuration (ForgeConfigSpec), event hooks, menu and screen registration.
  • Mixin configs are declared through the MixinConfigs manifest attribute, because Forge does not read [[mixins]] from mods.toml.
  • Access transformers use SRG names, as required by Forge.
  • Datapack slot conditions accept both forge:condition and neoforge:conditions, so existing NeoForge datapacks work without changes.
  • JEI integration is kept. EMI and REI integrations are removed because those mods have no Forge 1.21.1 builds; their screen-exclusion hooks are therefore absent.

Bug fixes included in this port (these bugs also exist in upstream 9.5.1)

  • Fixed item loss when loading a curio inventory with an occupied slot — the saved item is now returned to its owner instead of disappearing.
  • Fixed cosmetic items being destroyed when slots are removed or resized.
  • Fixed Enderman anger checks ignoring the player’s mask for the rest of the tick.
  • Fixed an NPE in CurioSlot#isActiveState for slots without active states.
  • Fixed the wrong NBT node being read for Size in CurioStacksHandler#deserializeNBT.
  • Fixed client disconnects (“Curios Networking Failure”) caused by out-of-range slot indices.
  • Hardened server-side packet checks: CPacketDestroy is creative-only, render toggles reject invalid slots.
  • Fixed findCurios leaking its cached list; empty cache keys are no longer stored.
  • Fixed show_in_tooltip being ignored for curios:attribute_modifiers.
  • CurioCanUnequipEvent#getUnequipResult no longer returns null.
  • Made the predicate registry and the SlotAttribute cache thread-safe.
  • Fixed “+N slots” tooltip selection and non-deterministic slot order.
  • Fixed itemCacheKey containing Optional[...].
  • Fixed the test advancement path for 1.21.

Features

  • Expandable slots through a central registry — identical slot identifiers merge automatically, so multiple mods can share one slot type.
  • Slots are created on demand — nothing is added by default, no unused slots in the GUI.
  • Fully customizable slots — custom backgrounds, sizes, rendering, and default enabled/disabled or hidden states.
  • Tag-driven item assignment — which items fit into a slot is defined with vanilla tags in datapacks.
  • Vanilla mechanics integration — Mending, Curses, attribute modifiers and tooltips work for equipped curios.
  • Single in-game GUI — all available slots in one screen, opened with the G key by default.

Supported versions

Every build and the exact Minecraft / loader version it targets are listed in the Files tab.

Credits and license

常见问题

Curios API Forge 支持哪些 Minecraft 版本?

Curios API Forge 支持 Minecraft Java 版 1.21.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Curios API Forge 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

Fitals 的其他作品

查看全部 →