# Quality of Life Update
## Mod presentation
- Added the SCP Additions logo to Forge's Mods list.
## Configuration center
- Fixed dedicated servers crashing during network registration because sound packets referenced client-only `SoundInstance` classes;
- Fixed `inventory.enabled: false` still allowing background tick handlers and gameplay packets to move items into the SCP Inventory; the server now synchronizes this module state to clients, blocks stale actions, closes the custom screen, and safely returns already-stored items to the vanilla inventory when disabled;
- Removed a cut SCP-079 1.0 behavior that silently forced `teslaGateOn` back to `true`;
- Expanded the closed Decontamination Checkpoint collision across the complete doorway to prevent escaping around its sides during a gas cycle;
- Added a native configuration center available from **Mods → SCP Additions** and `/scpadditions config`;
- Added dedicated editors for modules, item categories and equipment effects, hidden Status effects, SCP-173 targets, Codex documents, contextual interactions, SCP-294 drinks, and SCP-914 recipes;
- Added registry search, translated display names, item/entity icons, dynamic recipe inputs and outputs, a drink color picker, tooltips, and a unified SCP Unity-inspired interface using Roboto with a Montserrat main title;
- Added validation, automatic `.bak` backups, transactional rollback, runtime reload, malformed-JSON rejection, and Windows-resilient file replacement;
- Restricted configuration writes and legacy editor packets to the integrated owner or players with operator permission level 2 or higher;
- Removed `CODEX` from generic item-category editors and config-token parsing; documents are now created exclusively through `codex_documents`, avoiding empty document entries;
- Expanded world-scoped Codex image import from PNG-only to PNG/JPG/JPEG and raised the per-image limit from 900 KB to 2.5 MB;
- Unique generated Codex items are routed directly to the Documents area when the SCP Inventory module is enabled;
- World-scoped Codex PNG/text assets now report loading, missing and empty states instead of displaying the old synthetic document page;
- New Codex entries currently use `minecraft:paper` as a temporary default item until dedicated document items are implemented in a future update. This default can be changed to any registered item before saving;
- Added direct Codex text editing and PNG/JPG/JPEG drag-and-drop import. Imported assets are stored as real files in the current world's `scp_additions/codex_assets` folder and sent to clients on demand; JSON definitions contain only compact references, while packaged resources remain supported;
- Added optional unique-item matching for Codex definitions. Unique documents use an NBT identifier, retain the configured display name and can be generated with the editor's **Give Test Item** action, avoiding every ordinary copy of the base item becoming the same document.
## Creative mode
- Custom interaction prompts now appear and work in Creative by default;
- Added an option to hide and disable custom interactions in Creative;
- Inventory-full and SCP-131 notices now appear in Creative.
## Controls and guidance
- SCP-131 followers now use a configurable dismissal key, with notices showing the selected key;
- Manual blink now uses `B` by default instead of the jump key;
- The first SCP-173 activation in a world now explains how to blink manually using the selected key.
## Eye effects and decontamination
- Decontamination Checkpoints now cause Eye Sore for 30 seconds;
- Added Lubricated Eye, which prevents Eye Sore and doubles the blink interval;
- Added the `PROTECTED_EYES` item effect for eye-protecting equipment.
## Interface and accessibility
- The SCP Inventory now remembers its selected section, Codex document, and scrollbar positions until the player leaves the world;
- Added an option to disable this interface memory;
- Moved SCP-1176 blood type display into the Status panel and removed the old inventory overlays;
- Centered and polished the Status parameter layout while moving only the rendered player preview inside its original frame;
- Status-effect duration bars now begin full when an effect is applied and drain proportionally to that effect's actual remaining duration;
- Added a subtle outward-pulsing amber vignette for both positive and negative SCP-1176 honey outcomes;
- Made SCP-1176's negative-result music follow the affected player's head and stop immediately on death or disconnect;
- Added subtitles for all custom sounds.
## Automatic item classification
- Added conservative automatic recognition for placeable blocks, common melee/ranged weapons, and manually usable right-click items, including compatible modded subclasses;
- Explicit `item_rules` remain authoritative over all automatic detection;
- Added datapack override tags for forcing `WEAPON`, `USABLE`, or miscellaneous fallback behavior;
- Consumed usable items such as spawn eggs no longer return to the player's hand after their controlled-use session.
## SCP-914 integration and defaults
- Added a two-second pending activation window when no valid intake is present, allowing solo players to wind the key and enter the machine;
- Existing valid recipes and players in the intake still start immediately, and repeated key use cannot queue duplicate pending cycles;
- Added a material-aware fallback resolver that can infer transformations from registered crafting recipes and related item tiers when no explicit recipe matches;
- Explicit JSON recipes remain fully authoritative and always take priority over inferred transformations;
- Once an SCP-914 cycle starts, every item in the intake is consumed even when only part of the intake contributed to the selected result;
- Trimmed generic vanilla transformations from the bundled defaults so the fallback resolver handles broad behavior while explicit defaults remain focused on SCP Additions content and special entity transformations;
- Reduced the bundled SCP-914 1:1 skin pool to five selected defaults and renumbered them consistently as `skin1.png` through `skin5.png`.
## Configuration and building
- Added `/scpadditions reload` to validate and reload configurations without restarting;
- Invalid JSON and malformed IDs now produce clear errors without partially applying the reload;
- Missing optional mod entries are now reported and ignored while valid configuration entries continue loading;
- SCP-914 now skips only recipes whose items or entities are unavailable instead of keeping unusable recipes;
- Configuration saves now preserve the previous file as a `.bak` backup and retry/fallback safely when Windows temporarily blocks atomic replacement;
- Fixed block interaction anchors edited with `K` not being persisted or reloaded reliably;
- Fixed the target identifier in the `K` interaction editor overlapping the Action label and field;
- Screwdrivers can now copy a Keycard Reader level and quickly apply it to other readers;
- Screwdrivers now show their controls and copied Reader level in their tooltip;
- Context prompts now use the normal block and held-item interaction path, including crouch interactions;
- Pick Block now returns public blocks instead of internal animation states.
## Performance and polish
- Interaction prompts now update more efficiently, stay steadier between nearby targets, and no longer appear through solid blocks;
- Reduced unnecessary background checks from Tesla Gates and SCP-131 sounds;
- Reduced repeated processing in SCP-079, SCP-1176, SCP-294, and SCP-902 systems.
Optional dependencies
MoreMcmeta Emissive Textures
Any compatible version
Kleiders Custom Renderer API
Any compatible version
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }