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-3.6.0

  • R
  • Mar 13, 2026
  • 2.46 MB
  • 1.5K
  • Early Access

File Name

HygunsPlugin-3.6.0.jar

Supported Versions

  • Early Access

 

Changelog v3.6.0

Added

- Ammo type system for weapons:
  - new ammo registry that scans plugin assets and runtime mods for ammo-tagged items;
  - new ammo registry that scans plugin assets and runtime mods for items with `HyGuns.AmmoSettings`;
  - loaded ammo state tracking on the weapon item (`selected`, `loaded`, HUD icon);
  - ammo compatibility checks based on ammo family and weapon class;
  - default ammo resolution when several compatible ammo items are present.

## Changed
- Weapon settings format in `HyGuns.Settings` was reorganized into nested groups:
  - `Ammo`
  - `Fire`
  - `Ammo.Reload`
  - `Projectiles`
- Fire cooldown is now split into two layers:
  - `Interactions.Primary.Cooldown.Cooldown` still controls the base interaction cadence on the item side;
  - `HyGuns.Settings.Fire.Cooldown` adds server-side fire gating and can be overridden by ammo.
- Reload, reload-check, gun validation, shooting, and HUD flows now read capacity/reload/ammo source from the new nested settings model.
- HUD ammo icon now comes from the selected/loaded ammo item instead of weapon-level `AmmoIcon`.
- Reserve ammo counting is now based on compatible ammo items in the inventory, not a single fixed weapon ammo id.
### Weapon format (`HyGuns.Settings`)
- `WeaponIcon` and `DealLethalDamage` stay at the root of `HyGuns.Settings`.
- Ammo-related values moved into `HyGuns.Settings.Ammo`.
- Fire-rate values moved into `HyGuns.Settings.Fire`.
- Projectile-related values moved into `HyGuns.Settings.Projectiles`.
- Reload values moved into `HyGuns.Settings.Ammo.Reload`.
- Existing nested systems from previous versions such as `AmmoGuidance` and `WallPenetration` continue to live under `HyGuns.Settings`.
          "Amount": 30
        }
      },
      "Fire": {
        "Cooldown": 0.1
      },
      "Projectiles": {
        "ConfigId": "Hyguns_Projectile_Config_Bullet",
        "Count": 1,
- `AmmoSave.Enabled`
- `AmmoSave.Chance`

Supported keys in `HyGuns.Settings.Fire`:
- `Cooldown`

Important:
- `HyGuns.Settings.Fire.Cooldown` does not replace `Interactions.Primary.Cooldown.Cooldown`.
- For normal weapon fire-rate behavior, keep both values configured.
- `Interactions.Primary.Cooldown.Cooldown` controls how often the client/item interaction can run.
- `HyGuns.Settings.Fire.Cooldown` is an additional server-side cooldown used by HyGuns logic and ammo overrides.

Supported keys in `HyGuns.Settings.Projectiles`:
- `ConfigId`
- `ProjectileId` (alias: `ProjectileID`)
- `Count`
- `Spread`
- `Damage`

### Ammo item format (`HyGuns.AmmoSettings`)
- Ammo items are now first-class content entries.
- Any item that defines `HyGuns.AmmoSettings` is treated as ammo.
- Ammo items can define compatibility, UI icon, settings overrides, and hit interactions.

Ammo item format example:

```json
{
  "Quality": "Rare",
  "HyGuns": {
    "AmmoSettings": {
      "Family": "Bullet",
      "WeaponClass": "Rifle",
      "Icon": "Ammo/Ammo_Rifle_AP.png",
      "SettingsOverrides": {
        "Projectiles": {
          "Damage": 12
        },
        "WallPenetration": {
          "Enabled": true,
          "Blocks": 2.0
        }
      },
      "Interactions": {
        "EntityHit": [
          {
            "Type": "ApplyEffect",
            "Entity": "Target",
            "EffectId": "Status_Bleeding"
          }
        ],
        "BlockHit": [
          {
            "Type": "TeleportToBlockHit",
            "Entity": "Shooter"
          }
        ]
      }
    }
  }
}
```

## Fixed
- Reload validation now works with ammo families/classes instead of a single legacy ammo item id.
- Shooting and reload flows now preserve selected ammo state and HUD icon correctly when switching ammo.
- HUD reserve ammo display now follows the currently selected or resolved compatible ammo type.
- Ammo discovery no longer depends on `Tags.Type: Ammo`; `HyGuns.AmmoSettings` is sufficient.

## Build / Version
- Version bumped from `3.5.2` to `3.6.0` in `build.gradle.kts` and `manifest.json`.