promotional bannermobile promotional banner

Hyguns Plugin

The Hyguns Plugin is a mod designed to help you add complex systems to your weapon mods with no code from you

File Details

HygunsPlugin-4.1.0

  • R
  • Apr 9, 2026
  • 2.65 MB
  • 74
  • Early Access

File Name

HygunsPlugin-4.1.0.jar

Supported Versions

  • Early Access

HygunsPlugin v4.1.0 Changelog

The changelog below is copied directly from our wiki, please visit it to read both this updates documentation and the documentation of previous updates and guides

https://github.com/enso-x/HygunsDocs/wiki/Changelog-v4.1.0

Version 4.1.0 is a major internal and gameplay-focused update.

The biggest changes are:

  • a new item runtime ECS layer for weapons and ammo state
  • a large interaction system expansion and cleanup
  • runtime-generated ammo piles and ammo boxes
  • a rewritten ammo / reload / heat / zoom flow
  • a HUD rework and better debug tooling
  • broader documentation and project structure cleanup

Added

Item Runtime ECS

HyGuns now has a dedicated runtime ECS model for weapon state instead of relying on scattered metadata-only logic.

Added runtime systems and components for:

  • runtime item identity
  • ammo state
  • reload state
  • fire delay
  • heat
  • zoom
  • projectile auto-guidance

This introduced a clearer split between:

  • content definitions
  • runtime state
  • persistence / metadata synchronization

New Interactions

The interaction set was expanded heavily.

New interaction capabilities include:

  • ammo amount manipulation
    • Hyguns_SetAmmo
    • Hyguns_AddAmmo
    • Hyguns_UseAmmo
    • Hyguns_SyncAmmo
  • ammo type logic
    • Hyguns_CheckAmmoType
    • Hyguns_SetAmmoType
  • heat logic
    • Hyguns_Heat
    • Hyguns_CheckHeat
    • Hyguns_SetHeat
    • Hyguns_AddHeat
  • zoom logic
    • Hyguns_CheckZoom
    • Hyguns_SetZoom
    • Hyguns_ResetZoom
  • reload helpers
    • Hyguns_CheckReloading
    • Hyguns_CancelReload

The older interaction structure was also reorganized so weapon, zoom, and HUD interactions live in clearer packages and are registered in a more maintainable way.

Runtime-Generated Ammo Assets

Ammo definitions can now generate extra assets at runtime.

Added support for:

  • Piles
    • multiple variants
    • custom amount
    • custom model / texture / icon
    • custom categories
    • custom scale
    • custom icon scale
    • custom hitbox
    • configurable material
  • AmmoBox
    • operator / creative oriented refill box generation
    • custom model / texture / icon
    • custom categories
    • custom refill time
    • custom refill amount
    • custom hitbox

Generated assets now include the matching item and supporting assets such as generated drop lists where needed.

Debug Tooling

Added explicit debug support for the plugin, including:

  • debug config integration
  • debug command support
  • runtime debug logging for interaction and ammo flows
  • a debug HUD screen

Changed

Content and Registry Layer

The content layer was reorganized and moved away from the older core.* structure into clearer feature-oriented packages such as:

  • content.*
  • runtime.*
  • gameplay.*
  • support.*
  • ui.*

Weapon and ammo registries were reworked to:

  • scan from the real mod / asset-pack directories used by the server
  • use normal item IDs as registry keys instead of file-path-based pseudo IDs
  • support runtime refresh more reliably

Ammo and Reload Flow

Ammo handling was reworked significantly.

The system now better distinguishes:

  • loaded ammo in the weapon
  • selected ammo type
  • available ammo in the inventory
  • metadata persistence
  • runtime-only state

Reloading was updated to work against runtime ammo state and to support partial reload behavior correctly.

Heat System

Heat is now modeled as a normalized runtime value in the 0.0 .. 1.0 range.

This means:

  • OverheatTime defines how long it takes to go from 0.0 to 1.0
  • CooldownTime defines how long it takes to go from 1.0 to 0.0

The logic was also split more cleanly:

  • Hyguns_Heat marks active firing and handles overheat gating
  • runtime tick systems perform the actual heating and cooling over time

This makes hold-fire weapons such as flamethrowers behave much more naturally.

Zoom System

Zoom state was moved out of the old UUID-map style manager and into ECS-backed player state.

Zoom behavior is now driven through runtime components and systems, and new interactions were added so content can query and control zoom more directly.

HUD

The HUD stack was reworked and moved into a cleaner ui.hud structure.

Changes include:

  • runtime-safe HUD updates
  • better ammo and scope overlay handling
  • active slot and inventory-driven HUD refresh systems
  • cleaner feature separation

The ammo HUD formatting was also improved, including fixes to ammo zero-padding behavior.

Formatting and Project Setup

The project moved away from the old Spotless-based formatting setup and now relies on IntelliJ / .editorconfig driven formatting rules.

Import layout, wrapping, and brace rules were also standardized for the project.

Fixed

Ammo / Reload Bugs

Fixed several ammo handling bugs, including:

  • partial reloads incorrectly failing when the player had some ammo, but not enough to fully fill the weapon
  • ammo type switching trying to remove the full requested amount instead of loading only what is available
  • cases where available ammo counts and actual removal behavior could disagree

Interaction Chain Breakage

One major runtime issue was that ammo-related metadata sync could update the held item while an interaction chain was still running.

That caused chains to break because the engine treated the held item as changed.

This was reworked so ammo sync can be safely deferred until the interaction chain completes, instead of mutating the held item at the wrong time.

Heat Behavior

Fixed heat behavior so hold-fire weapons do not cool incorrectly while the trigger is still being held, and so overheat recovery behaves consistently.

Asset Generation and Asset Refresh

Fixed multiple issues around generated assets and registry refresh timing, including:

  • generation happening too early during asset loading
  • registry refresh and generated assets stepping on each other
  • runtime-generated ammo assets not resolving or appearing correctly

Runtime ID and Persistence Consistency

The runtime item identity flow and metadata persistence model were cleaned up so item runtime state is much more stable across normal gameplay operations.

Content and Asset Changes

Ammo Boxes

The original Ammo_Box content was moved into the HyGuns pack and integrated into the new runtime-driven ammo workflow.

Templates and Content Resources

Weapon templates, projectile configs, sounds, and resource paths were updated to match the new structure and runtime model.

Utility Item Placement

The repair kit assets were reorganized from the old repair path into the utility category / path layout.

Internal Cleanup

Large parts of the old codebase were consolidated or replaced.

Notable cleanup themes:

  • old core.* utility and settings classes were removed or replaced
  • older manager-style systems were replaced with ECS/runtime-backed systems
  • duplicated helper code was reduced
  • interaction registration was centralized and simplified
  • support helpers for interaction context, JSON parsing, item syncing, and player references were introduced

Result

Compared to the starting point of this release range, HyGuns now has:

  • a more structured runtime architecture
  • much stronger ammo / reload / heat handling
  • more flexible content authoring tools
  • better documentation
  • better debugability
  • more reliable generated content support

This release is both a feature update and a foundational architecture cleanup for future weapon and content work.