-
Notifications
You must be signed in to change notification settings - Fork 0
Migration guide v3.6.0
enso-x edited this page Mar 14, 2026
·
1 revision
This release changes both weapon JSON and ammo JSON. If you keep the old 3.5.2 format, weapons will not read ammo capacity, reload values, projectile values, or ammo compatibility correctly.
Move flat values from HyGuns.Settings into nested Ammo, Fire, and Projectiles groups.
-
MaxAmmo->Ammo.Capacity -
ReloadTime->Ammo.Reload.Time -
ReloadAmountPerInteraction->Ammo.Reload.Amount -
AmmoItemType->Ammo.ItemIdonly if the weapon must use one exact ammo item - keep interaction
Primary.Cooldown.Cooldownon the item - also add the same base value to
Fire.Cooldown -
ProjectileConfigId/ProjectileConfigID->Projectiles.ConfigId -
ProjectileId/ProjectileID->Projectiles.ProjectileId -
NumProjectiles->Projectiles.Count -
Spread->Projectiles.Spread -
Damage->Projectiles.Damage -
AmmoIcon-> remove from weapon config; ammo icon now belongs to the ammo item
WeaponIconDealLethalDamageAmmoGuidanceWallPenetration- damage multipliers already supported in
HyGuns.Settings
{
"Interactions": {
"Primary": {
"Cooldown": {
"Cooldown": 0.1
}
}
},
"HyGuns": {
"Settings": {
"WeaponIcon": null,
"Ammo": {
"Family": "Bullet",
"WeaponClass": ["Rifle"],
"Capacity": 30,
"Reload": {
"Time": 1.2,
"Amount": 30
}
},
"Fire": {
"Cooldown": 0.1
},
"Projectiles": {
"ConfigId": "Hyguns_Projectile_Config_Bullet",
"Count": 1,
"Spread": 0.02,
"Damage": 10
}
}
}
}Fire cooldown note:
-
Interactions.Primary.Cooldown.Cooldownis still required for normal repeat-fire behavior. -
HyGuns.Settings.Fire.Cooldownis an additional HyGuns server-side cooldown. - Keep them in sync for the base weapon.
- Ammo may override only
HyGuns.Settings.Fire.Cooldown. - If ammo sets a longer cooldown, HyGuns will block the shoot interaction for that longer period on the server side.
Recommended fields:
HyGuns.Settings.Ammo.FamilyHyGuns.Settings.Ammo.WeaponClass
Notes:
-
WeaponClasson the weapon may be a string or an array. -
Ammo.ItemIdis optional and should be used only when you want a fixed ammo item.
Ammo is configured on the ammo item itself through HyGuns.AmmoSettings.
HyGuns.AmmoSettings.FamilyHyGuns.AmmoSettings.WeaponClass
HyGuns.AmmoSettings.Icon- root
Quality
Ammo can override weapon stats through:
HyGuns.AmmoSettings.SettingsOverrides
Example:
"SettingsOverrides": {
"Fire": {
"Cooldown": 5.0
},
"Projectiles": {
"Damage": 14,
"Spread": 0.01
},
"WallPenetration": {
"Enabled": true,
"Blocks": 2.0
}
}Important behavior:
- ammo overrides affect
HyGuns.Settings.Fire.Cooldown, notInteractions.Primary.Cooldown.Cooldown; - special ammo can therefore make a weapon slower on the server side;
- base repeat-fire cadence still depends on the item
Primary.Cooldown.
Ammo-specific hit behavior belongs in:
HyGuns.AmmoSettings.Interactions.EntityHitHyGuns.AmmoSettings.Interactions.BlockHit
Supported handlers:
ApplyEffectClearEntityEffectTeleportToBlockHit
Recommended pattern:
{
"Type": "Charging",
"DisplayProgress": false,
"AllowIndefiniteHold": false,
"Next": {
"0": {
"Type": "Hyguns_Reload"
},
"0.25": {
"Type": "OpenCustomUI",
"Page": {
"Id": "AmmoSelection"
}
}
}
}For every weapon:
- move flat ammo fields into
HyGuns.Settings.Ammo - keep
Interactions.Primary.Cooldown.Cooldown - copy the same base value into
HyGuns.Settings.Fire.Cooldown - move projectile fields into
HyGuns.Settings.Projectiles - remove weapon-level
AmmoIcon - define
Ammo.Family - define
Ammo.WeaponClass
For every ammo item:
- add
HyGuns.AmmoSettings - set
Family - set
WeaponClass - set
Icon - add
SettingsOverridesonly for special ammo - add
Interactionsonly for special on-hit behavior