File Details
HygunsPlugin-3.5.2
- R
- Mar 7, 2026
- 2.38 MB
- 3.1K
- Early Access
File Name
HygunsPlugin-3.5.2.jar
Supported Versions
- Early Access
Changelog v3.5.2
No longer requires MultipleHUD mod, and is compatible with MultipleHUD and AutoMultiHUD
Added
- Projectile wall-penetration thickness tracing (raymarching) and post-penetration damage reduction controls:
- `WallPenetrationDamageReductionModifier`
- `WallPenetrationDamageReductionDistance`
- Ammo auto-guidance feature:
- `AutoGuidanceDataComponent`
- `AutoGuidanceSystem`
- shoot flow integration for guided projectiles.
- Ammo Save Feature
- Interaction codec utilities to reduce boilerplate:
- `InteractionCodecChain`
- `InteractionCodecEntry`
- Settings schema/metadata infrastructure:
- `SettingGroup`, `SettingField`
- `CodecKind`, `JsonReadKind`
- `SettingsDefinition`
- new settings records: `GunSettings`, `AutoGuidanceSettings`, `WallPenetrationSettings`.
- Core utility additions:
- `InteractionValue`
- `ValueUtils`
- `JsonValueUtils`
- `SignatureStatsGuard`.
Changed
- Projectile impact pipeline now uses continuous solid-thickness checks instead of simple block allowance logic.
- Damage application now supports configurable reduction after wall penetration.
- `ShootProjectile` and `ShootGunInteraction` were updated to forward new penetration/reduction and auto-guidance runtime settings.
- `GunRegistry` parsing was expanded and then refactored to the new typed settings model.
- Interaction codecs were refactored from repetitive `.append(...).add()` style into chained helpers.
- Multiple interactions were migrated to `InteractionValue`-based binding/validation flow:
- `ShootGunInteraction`
- `ReloadInteraction`
- `ReloadCheckInteraction`
- `ScopeZoomInteraction`
- `GunValidationInteraction`.
- Ammo metadata keys and related handling were standardized through `AmmoMetadata` updates.
- Project metadata/version handling and compatibility flow were updated (`ItemIdVersioning`, registry and manifest changes).
- Item templates were updated for v3.5.2 behavior (`Template_Flamethrower`, `Template_Handgun`, `Template_Rifle`, `Template_Shotgun`, `Template_Sniper`).
Codec Changes
- Interaction codec declarations were refactored from repetitive builder append blocks to typed field-based entries.
- `InteractionCodecChain` and `InteractionCodecEntry` are now used to build concise codec chains.
- Settings-backed codec keys are now centralized in settings models (typed fields), including alias support for:
- `ProjectileConfigId` and `ProjectileConfigID`
- `ProjectileId` and `ProjectileID`
- Nested settings groups now expose grouped interaction keys automatically:
- `AmmoGuidance_<Key>`
- `WallPenetration_<Key>`
HyGuns.Settings Format (v3.5.2)
- Root gun settings remain under `HyGuns.Settings` (flat keys for core gun values).
- Auto-guidance and wall-penetration are now written as nested objects inside `Settings`.
Example:
```json
{
"HyGuns": {
"Settings": {
"Damage": 15,
"NumProjectiles": 1,
"Spread": 0.075,
"MaxAmmo": 30,
"ProjectileConfigId": "Hyguns_Projectile_Config_Bullet",
"DealLethalDamage": false,
"AmmoGuidance": {
"Enabled": false,
"ConeDegrees": 25.0,
"MaxDistance": 80.0,
"AffectsPlayers": false,
"TurnRate": 240.0
},
"WallPenetration": {
"Enabled": false,
"Blocks": 1.0,
"DamageReductionModifier": 0.0,
"DamageReductionDistance": 0.5
}
}
}
}
```
Accepted core keys in `HyGuns.Settings`:
- `Damage`
- `NumProjectiles`
- `Spread`
- `MaxAmmo`
- `AmmoIcon`
- `WeaponIcon`
- `AmmoItemType`
- `ReloadTime`
- `ReloadAmountPerInteraction`
- `LoadedProjectileConfigId`
- `ProjectileConfigId` (alias: `ProjectileConfigID`)
- `ProjectileId` (alias: `ProjectileID`)
- `DealLethalDamage`
Accepted nested keys:
- `HyGuns.Settings.AmmoGuidance`
- `Enabled`, `ConeDegrees`, `MaxDistance`, `AffectsPlayers`, `TurnRate`
- `HyGuns.Settings.WallPenetration`
- `Enabled`, `Blocks`, `DamageReductionModifier`, `DamageReductionDistance`

