
Noxesium is mod for Fabric which improves your experience when playing on multiplayer servers by giving the server more control over the client and fixing bugs that affect multiplayer gameplay.
Features 💎
Noxesium contains a variety of different features for different users, most are configurable or controlled by the server.
General 📜
- Modify the scale and position of various UI elements.

- Render off-hand maps in the HUD instead in your hand, so it doesn't move around while walking and can act like a mini-map (optional setting).

Bugfixes 🐛
- MC-263293: Adds a new accessibility setting to disable toggle sprint resetting on death (enabled by default).
- MC-259812: Transparent entity models are now properly visible behind text displays.
- MC-577: Inventory closing and drop item keys now work when bound to mouse buttons.
- MC-301281: Mouse buttons on toggle mode are now re-enabled when closing a menu.
- MC-256850: Moving piston walls don't flicker as much while moving.
- Passenger entities being teleported no longer jitter.
- Mouse buttons on hold mode now re-trigger when closing a menu.
Server Features 💻
Noxesium adds a number of extra features to the client which server developers can use in their experiences. This lets them bypass some vanilla restrictions and make better content.
Here's a list of things Noxesium currently lets servers do:
- Create custom interactables on the client like speed boosters or jump pads
- Move authority of riptide tridents, elytras, or lunge spears to the client which makes them act identically regardless of ping
- Move authority of arrow behavior or note block/tripwire block updates to the server only
- Play custom sounds and control various properties, including a start offset, changing the volume over time, and resuming playing the sound
- Draw player heads in text messages with an offset to the position or at different scales
- Draw text with any x/y offset to its position
- Prevent moving items in GUIs, adding hover sounds to items, changing slot sprites when hovered
- Locking camera movements, restrict GUI rescaling, restrict using various debug features such as hitboxes or debug renderers, or hiding the UI through F1
- Tweaking the hitbox size of entities (including non-square hitboxes) or making entities unattackable
- Change the heights of beacon beams
- Detect mouse clicks directly regardless of which interactions occurred after
- Receive additional information on the client's GUI scale and window size to better align custom UIs
- Change the FOV or current zoom of the client
- Open a pop-up to visit a URL in their browser
- Add a custom creative item tab with custom items/blocks from your server
Server developers can use the server API plugin for Paper available here to interact with these features either through code or through in-game commands!
Extensions 🧩
Noxesium can be easily extended by other mods and plugins. This lets developers implement their own features for their projects, and contribute these back to the main mod so it works on all clients. For server developers, there's also a lightweight bundled packet injection API.
MCC Island Integration 🏝️
Noxesium has extra features to integrate with MCC Island directly! MCC Island detects any user running Noxesium and sends the client extra information on your current location and game state. This allows other mods like Island Utils and Trident to use this information for its custom features.
Development 🖥️
Noxesium is directly developed by Noxcrew, creators of MC Championship and MCC Island, as a result Noxesium focusses on improving the experience for users of those projects.
Noxesium is also automatically included on some versions of Lunar Client.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
|
R
3.3.0
|
1d ago | 1 | |||
|
R
3.2.5
|
1d ago | 1 | |||
|
R
3.2.4
|
1d ago | 1 | |||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 | ||||
| 1d ago | 1 |
- Updated to Minecraft 26.3
- Fixed background threads not shutting down properly causing a crash on game quit.
- Fixed various issues with Noxesium's custom sounds by Trolliant
- Volume interpolation did not work.
- Streamed sounds with an offset past 1 second were not modifiable.
- Sounds starting at zero volume were not played.
- Sounds can become unable to be modified or stopped due to garbage collection.
- Rewrote client-side elytra implementation to be closer to vanilla behavior. The coyote time can now be defined as an exact amount of milliseconds and behaves much closer to how a client's ping would affect vanilla behavior.
- Fixed crash from skull components being used before start-up completed.
- Fixed rendering issue with text display backgrounds.
- Updated to Minecraft 26.2.
- Added new qib components to allow creating custom geysers:
- Added condition to require not being in creative flight.
- Added condition to require having a certain momentum value in the X/Y/Z direction.
- Added new game components to allow customising F3 debug information:
- Allow customising which types of information are shown, overriding the default restrictions of reducedDebugInfo.
- Allow hiding the yaw or pitch separately from the coordinates.
- Fixed potion effect UI scale being affected by the wrong slider (#187).
- Fixed other mods throwing exceptions while handling packets interfering with other listeners (#186).
- Updated to Minecraft 26.1.
- Add system to control client zoom and fov by @Asleeepp
- Added new game component to disable all debug renderers locally enabled by the client.
- Extended client settings object to include: chat visibility, chat width, chat height, fov, and dynamic fov effects.
- F3+W keybind can now be rebound in the controls menu.
- Fixed chat scaling breaking click interactions by @i5wear
- Fixed handshake not being re-attempted after moving into the config phase.
- Fixed client crash from invalid custom creative items.
- Fixed guardian beams with no specified color being invisible.
- Reduced bandwidth spam from client settings packets.
- Reduced reliance on access wideners which should fix compatibility issues with other mods.
- Removed feature that kept resource pack downloading pop-up on screen always as it caused bugs. It's recommended to send resource packs during the configuration phase for a better user experience.
- Update Hungarian translations by @CraftisMineHun
- Update Simplified Chinese translations by @GoodNormal
With this update Noxesium is reassessing its identity as various features have been added and removed over the years. There’s been features for developers, performance optimizations, and vanilla bugfixes, but some have been removed again with time and as Minecraft has evolved over the years.
With this v3 version Noxesium is embracing a clearer identity: Noxesium is a mod meant to help server developers improve the experience of their players when playing on their servers.
But what does that mean?
- Noxesium’s primary features will be optional systems that servers can enable and customise to improve their experiences.
- Next to that there will be improvements and bugfixes to vanilla. These are based on requests of players and fix common issues relevant to playing on servers.
- There will not be any performance improvements, nor will Noxesium be tagged as a performance mod going forward.
- All features in Noxesium will be safe to use on servers and some debug features that could previously be abused are being removed, will require operator permissions or are being split into a separate mod.
Base Noxesium contains features for everyone, but everyone should be able to make their own custom features without having to build an API to sync them with the client. Therefore, as of Noxesium v3 all functionality has been turned into APIs and you can create your own extensions mods built on top of Noxesium.
In addition to a client API, there is now an extensive and complete server API for Noxesium. As much code as possible is written entirely standalone and can be implemented on other platforms such as NeoForge, Minestom, etc. The main client mod will only be on Fabric and the main server API will be on Paper. This server API now comes out of the box with everything you need:
- A packet injection API which can replace ProtocolLib or PacketEvents for listening to and modifying client packets directly
- Implementations for syncing custom item, entity, block entity or game components with clients
- A full implementation of the qib system and client authoritative riptide tridents with pre-charging support. You can use these fully with just a Paper server and the Noxesium plugin jar, no custom server modifications are required anymore!
- Commands for modifying and testing all components and other features.
The server API is available through Noxcrew's public maven repository or as a downloadable plugin jar on the GitHub page, as it's a developer tool no download is made available here.
# Major Features
- New client setting menu where you can change the scale of all GUI elements, as well as moving the scoreboard, bossbar, and maps on one axis.
- Servers can now enable client-side elytras and lunge spears which are consistent between all clients and don’t experience ping delay. (see below for details)
- New entrypoint system which lets mods use Noxesium as an API. This lets you write your own mods that add new features using all of Noxesium's systems like packet management and custom components.
- New custom component system for storing custom data on items, entities, block entities, or the entire game. This is modelled after the item component system and lets you add arbitrary extra data and behaviors. This fully replaces the old server and entity rules.
- Many new components in the new system:
- For game:
server_authoritative_block_updateswhich prevents the client from updating note block and tripwire block states. (#145) by @ImBitgui_constraintswhich lets the server limit which GUI elements can have which sizes.client_authoritative_elytrawhich makes elytra usage entirely client-sided.elytra_coyote_timewhich lets you configure a delay in ticks before the elytra is disabled when landing to allow for consistent elytra hopping.restrict_debug_optionsnow supports disabling F1 to hide the UI.client_authoritative_riptide_tridentwhich enables the custom riptide trident. (renamed from old name)- For items:
hover_soundfor adding a sound when hovering the item. (#139) by @LukynkaCZEhoverablefor adding custom sprites when hovering the slot.qib_behaviorfor creating custom items that trigger movement effects like vanilla’s new spear with the Lunge enchantment. This lets you create client-side authoritative lunge spears.- You can bind the action to either the attack button or the use button and attach a usage cooldown to the use button. (#165) by @dofsdev
- For entities:
hitbox_overridefor changing the size of any entity’s hitbox. (replaces previous interaction entity z width override)hitbox_colorfor changing the color of an entity’s hitbox in F3+B.attackablefor making entities unattackable completely, having no particles or sounds.- For block entities:
beacon_beam_heightfor setting the height of a beacon’s beam.- New QibEffect types:
ApplyImpulsewhich applies motion to the player similar to the lunge enchantment effect.StartGlidingwhich makes the player enter gliding mode.StopGlidingwhich makes the player exit gliding mode.Conditionalnow supportsIS_IN_VEHICLEchecks.- New packets:
ServerboundMouseButtonClickPacketis sent whenever the mouse buttons are used. (#138) by @IrisufusServerboundQibTriggeredPacketnow has anATTACKtrigger type.ServerboundGlidePacketis sent when the client starts gliding with the client-authoritative elytra.ClientboundGlidePacketwhich can be sent to the client to override its current gliding state regardless of if they are able to.- More vanilla bugs have been fixed:
- MC-577: Inventory closing and drop item keys don't work when bound to mouse buttons.
- MC-301281: Mouse buttons on toggle mode aren't re-enabled when closing a menu.
- Mouse buttons on hold mode don't re-trigger when closing a menu.
- New optional Noxesium Sync mod with a system for syncing files between client and server during development. (jar can be found on GitHub, will not be published on Modrinth as it's a developer tool)
# Minor Changes
- Pack downloading indicator now stays on-screen permanently while downloading a resource pack.
- Operator permissions are now required to view culling hitboxes and qib debug settings. (also already in v2.8)
- Skull rendering now uses the same technology as vanilla's new sprite component. The custom skulls still exist as they allow scaling and positioning whereas the vanilla ones cannot be offset properly. The hat layer can now be hidden, grayscale is no longer supported. (also already in v2.8)
- Added a new future-proof syntax for custom sprites like the skulls. These all look like %nox:type[key=value]%. This means you no longer have to specify all values and they can be read from their defaults.
- Playing sounds with an offset no longer rounds offsets on streaming audio to the nearest second and instead supports sub-second offsets.
- Removed team glow hotkeys entirely and moved them to a separate mod, available [here](https://github.com/Aeltumn/better-spectate-player-highlighting).
- Updated to support Sodium 0.8.
- Fixed issue where qib collisions are checked on teleport.
- Fixed issue where qibs did not trigger whileInside when not moving.
- Fixed issue where server does not wait for client to register plugin channels properly.
- Fixed issue where server did not distinguish properly between clientbound and serverbound plugin channels.
- Fixed issue where spatial tree would skip a qib if it got updated mid-rebuild.
- Fixed creative mode inventory page getting stuck if Noxesium tab is made empty while opened. (#106)
- Fixed text display backgrounds not rendering when using Iris Shaders. (#141)
- Fixed issue where pre-charging tridents would have the charge cancelled by the server when not in water. This previously needed a manual server software edit to fix.
- Updated Dutch translations.
- Updated Russian translations. (#158) by @Pe3ep
- Updated Hungarian translations. (#159) by @CraftisMineHun
- Updated javadocs. (#161) by @Irisufus
- Update German translations. (#162) by @derNiklaas
- Update French translations. (#163) by @TheFox580
# Technical Features
Then, here are all the new technical features, these only matter if you are a developer using Noxesium in your codebase:
- Packets can now be versioned and the server automatically sends the latest packet known to the client, improving support when either client or server are on outdated code.
- Registries with qibs or component ids are now synced during handshaking. This lets the server and client synchronize which features are available to avoid crashes and other issues.
- Support for encryption/hiding of unknown entrypoints for private extension mods.
- Support for JSON encoded packets for simplified packet serialization. Not used by base Noxesium but available for extension mods.
- Support for multiple client versions through ViaVersion serialization on Noxesium’s custom packets.
- Support for defining qibs in config files and in-game, allowing you to use them with no extra code beyond installing Noxesium on client and server. With real-time config synchronization to clients.
- Support for synchronizing lazy packets which are only sent if the other side is listening to them. (applies to all MCC packets)
- Support for synchronizing capabilities which lets you check what features the client supports.
- Supports qib interactions for players not running Noxesium by simulating client logic for them.
- Better support for servers that use proxies to transfer between multiple servers without exiting the PLAY phase.
- Custom plugin channel handling to hide channels for any unauthorized entrypoints.
- A new standalone external API which can be shaded into public projects to pull data from Noxesium without the rest of the API being installed.
- Updated to Minecraft 1.21.11
- Fixed Sodium 0.8.x compatibility
- Updated to Minecraft 1.21.10 (1.21.9 is compatible)
- Operator permissions are now required to use culling hitboxes and qib debug settings
- Skull rendering now uses the same technology as vanilla's new sprite component. The custom skulls still exist as they allow scaling and positioning whereas the vanilla ones cannot be offset properly.
- The custom skulls should now also use less memory.
- Grayscale is no longer supported due to these changes.
- Hat layer can now be hidden.
- Now supports Sodium 0.7. This release does not support older versions of Sodium!
- Updated to Minecraft 1.21.6
- Implementation for restriction of client debug options by @ImBit
- Added server-authorative arrows which can be used by servers to prevent arrows from deflecting client-side
- Fixed qib effects lasting only half as long as intended
- Added new entity rule for RGB entity glowing colors by @ImBit
- Changed item override and creative tab serializers to work across some minor versions
- Re-implemented qib debug renderer
- Fixed vehicle teleportation patch having broken due to 1.21.2 changes
- Fixed Mod Menu integration
- Updated to 1.21.5
- Added new syntax to allow components to be rendered with an arbitrary x and y offset.
- This can be used to replace negative font offsets and duplicate fonts with y offsets. It can also come in handy to use for debugging and testing while aligning text to then only baking final offsets into the pack.
- Added a unique custom model data tag to the header icon of the server items creative tab, this allows resource packs to target and retexture it.
- Fixed an issue with the UI map display setting being inverted in v2.6.0 (#127)
- Added ModifyVelocity and RemoveAllPotionEffects qib effects by @ThatGravyBoat (#124)
- Added new server rule to enable riptide trident pre-charging which allows charging tridents when outside water
- Added new debug setting to enable scoreboard team packet debugging which can help server developers debug protocol errors
- Updated Hungarian translations by @CraftisMineHun (#117)
- Fixed trident sounds not playing properly (#123)
- Fixed client crashing if server sent old deprecated server rules
- Removed all UI optimizations due to technical difficulties and performance gains being fairly insignificant
- Notice:** Major internal changes have been made to support NeoForge in future versions of Noxesium. Other mods that depend on Noxesium may have broken. Published jars will now also include either a -fabric or -neoforge tag. Currently, NeoForge builds are not yet available.
- Updated to 1.21.4
- Introduce new UI optimizations. These new optimizations are available in the Noxesium configuration screen under "Experimental Optimizations". Please report any issues you encounter while using this new setting!
- Fixed issue that caused a client-side desync where the off-hand item disappears when breaking a main-hand weapon (#111)
- Fixed issue with player skulls being colored incorrectly
- Removed old optimizations to CustomModelData, no longer relevant on 1.21.4 due to the changes to the item model system. Servers should use modern features to achieve good performance
- Removed old change which made music continue playing when set to 0%. This change was too janky and will be replaced with a proper music system for servers in the future
- Updated Chinese translations by @GoodNormal (#113)
- Updated to 1.21.2 & 1.21.3.
- Map overlay can now be configured to show up in the opposite corners. (#102)
- The beam color of end crystals can now also be tweaked using the beam color setting.
- Added a new entity rule to set beam color to a linear fade between two colors, this allows recreating the vanilla end crystal beam properly.
- Dropped old patches that edit the culling hitbox of armor stand models. Instead display entities should be used as they allow editing the culling hitbox already in vanilla.
- Map UI now renders even when the F3 screen is up. This does mean it renders on top, but this is unavoidable as vanilla renders chat above F3 and we want the map to go above chat.
- Updated French translations (#108) by @TheFox580
- Updated Russian translations by @pe3ep (#109)
- Updated Ukrainian translations by @SuperNeon4ik (#103
- Improved server-side entity rule system implementation by @SuperNeon4ik (#104)
- Fixed issues where client did not properly register qib entities in rare cases (#105)
- Fixed issues with item stack rules not being serialized properly
- Because of this the protocol version has been bumped to 11.
- Outdated servers sending item stack rules with the old serialization will crash the client.
- Updated the built-in server-side implementation to include an API for using entity rules
- Update zh_tw.json (#96) by @yichifauzi
- Fixed a crash issue that can happen when switching multiplayer servers
- Fixed server rule system breaking when using Noxesium on Lunar
- Server-side implementation now has built-in protection against sending data to older Noxesium clients that are not able to handle them, causing crashes
- Various files were moved around which may break other mods that build onto Noxesium
- Updated to Sodium 0.6 beta, older versions of Sodium are no longer supported.
- Noxesium settings are now available through either the Noxesium entry in Mod Menu or by using F3+V while in-game. There are now various additional developer settings available. Tooltips indicate which type of users each setting is meant for. Noxesium's video settings tab is temporarily removed as there are no relevant settings, but will return when UI optimizations return.
- Added system to debug qib and client-side trident implementations properly.
- Reworked coyote time implementation on custom tridents
- Added server rules to tweak coyote time or temporarily disable rendering UI overlay maps
- Added a packet on riptide to propertly synchronize with server
- Fixed issues with previous versions' detection of qib collisions when switching servers through a proxy
- Finished implementation of the client-side qib system. This is a system which allows server developers to create in-world interactable objects that trigger various effects like speed boosters or jump pads. The protocol version has been increased and usage of the system is not recommended for any clients with older versions.
- Fixed an exception when using Noxesium with mod "Component Viewer" (#90) by @fixyldev
- Updated packet exceptions setting to also log any invalid tags
- Now includes a feature to allow editing Sodium's core shaders through resource packs. This feature is only meant to be used by server developers that understand the risks of editing core shaders! It is merely providing an optional feature for those that acknowledge its risks.
- Fixed a crash when using the graphics server rule.
- Fixed a crash from Sodium Core Shader loading when encountering missing uniforms
- Updated Traditonal Chinese translations (#89) by @yichifauzi
- Added a setting for servers to change the client's graphics type
- Tweaked map UI setting to allow selecting between enabled, disabled and ask server. Previously you could not ignore a server's request to enable the feature.
- Added new setting to tweak size of map UI
- Added new setting to place map UI in the bottom corner instead of the top corner
- Fixed issue where fps UI rendered below map UI
- New features:**
- Added a new system for setting extra entity data on specific entities. This currently has three usages:
- Servers can now customise the color and transparency of guardian beams.
- Servers can now turn off bubble particles on guardian beams.
- Servers can assign custom behaviors (see below) to interaction entities to trigger effects.
- Noxesium now automatically fixes some rare chunk rendering issues in Hole in the Wall on MCC. These are manually fixable by disabling "always defer chunk updates" but the server can now enable this behavior when needed.
- Added accessibility setting to show maps in the top right/left corner instead of the player's hand. Can be force enabled by a server.
- Added ability to show a small UI element that shows the current game time. This is specifically meant for shader developers and not for general users.
- Added hidden configuration option to dump incoming/outgoing packets. Plan is to add a developer focussed config menu in the future for settings like this.
- Servers can now add a custom flag to an item to render its model following the
minecraft:block_stateinformation. This e.g. allows creating glazed terracotta items that show up as rotated in their item form. - Servers can now define one custom creative tab they can fill with custom blocks/items they have created through tripwire, note blocks, or something else. Combined with the previous feature this can be used to correctly render such models in the inventory.
- Added hidden setting to print packet exceptions to the logs.
- Server connection is now re-initialized after leaving the configuration phase which fixes issues with Noxesium server-side integration on most multi-server networks.
- Added a new system called qibs, this is a system for creating areas that trigger effects on entry such as jump pads in Ace Race. This system allows such areas to be defined on the client directly. This system is still in beta and will likely receive breaking changes in future releases.
- General:**
- Updated to 1.21!
- Added French translations (#66, #81) by @TheFox580
- Added Hungarian translations (#67, #78, #79) by @CraftisMineHun
- Added Traditional Chinese translations (#71, #83) by @yichifauzi
- Added Russian translations (#72, #80) by @pe3ep
- Added German translations (#77) by @derNiklaas
- Added Thai translations (#84) by @duechayapolgmit
- Fixed an error when using custom sounds (#85) by @AsoDesu
- Experimental performance improvements have been temporarily disabled. They are being reworked to focus on important improvements without causing major incompatibility issues with every other mod.
- Old performance changes to item rendering & beacon rendering have been dropped. They barely affected performance and caused incompatibility with other mods.