nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
Noxesium

Noxesium

Mod

Improves play experience on large multiplayer servers.

Client Utility

6.15M downloads
789 followers

Noxesium 3.0.0

Changelog

It’s time for the biggest update to Noxesium in years, and there won’t be one like this for a while.

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_updates which prevents the client from updating note block and tripwire block states. (#145) by @ImBit
      • gui_constraints which lets the server limit which GUI elements can have which sizes.
      • client_authoritative_elytra which makes elytra usage entirely client-sided.
      • elytra_coyote_time which lets you configure a delay in ticks before the elytra is disabled when landing to allow for consistent elytra hopping.
      • restrict_debug_options now supports disabling F1 to hide the UI.
      • client_authoritative_riptide_trident which enables the custom riptide trident. (renamed from old name)
    • For items:
      • hover_sound for adding a sound when hovering the item. (#139) by @LukynkaCZE
      • hoverable for adding custom sprites when hovering the slot.
      • qib_behavior for 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_override for changing the size of any entity’s hitbox. (replaces previous interaction entity z width override)
      • hitbox_color for changing the color of an entity’s hitbox in F3+B.
      • attackable for making entities unattackable completely, having no particles or sounds.
    • For block entities:
      • beacon_beam_height for setting the height of a beacon’s beam.
  • New QibEffect types:
    • ApplyImpulse which applies motion to the player similar to the lunge enchantment effect.
    • StartGliding which makes the player enter gliding mode.
    • StopGliding which makes the player exit gliding mode.
    • Conditional now supports IS_IN_VEHICLE checks.
  • New packets:
    • ServerboundMouseButtonClickPacket is sent whenever the mouse buttons are used. (#138) by @Irisufus
    • ServerboundQibTriggeredPacket now has an ATTACKtrigger type.
    • ServerboundGlidePacket is sent when the client starts gliding with the client-authoritative elytra.
    • ClientboundGlidePacket which 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.
  • 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.

Files

noxesium-fabric-3.0.0.jar(1.46 MiB) Primary Download

External resources


Project members

Aeltumn

Developer

Noxcrew

Owner


Technical information

Client side
required
Server side
unsupported
Project ID