All versions
Developer API โ
Developer API โ
1.0.3
Release
CombatGunSSS 1.0.37 months ago 35
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Paper
Purpur
Changes
[1.0.3] - 2026-04-09
Added
Action Bar HUD
- New persistent ammo HUD displayed on the action bar while holding any ranged weapon.
- Format:
๐ซ <GunName> โโโโโโโโโโโโโโโโโโ 22 / 30 โข 90- Gun name is colored by rarity: white (common) โ aqua (rare) โ light purple (epic) โ gold (legendary).
- Visual bar transitions from green (full) to gold (โค 25%) to red (โค 10%) as ammo depletes.
- Reserve count turns red when the player has no reserve ammo left.
- HUD yields automatically to the reload progress bar during active reloads โ no visual conflict.
- Immediate update on every shot (no delay waiting for the next tick).
- Configurable via new
combatgun.hudconfig block:enabled(boolean, defaulttrue) โ toggle the HUD entirely.update_interval_ticks(integer, default5) โ refresh rate in ticks. Lower = smoother, minimum 1.
Auto-Reload When Empty
- New config key
combatgun.auto_reload_when_empty(boolean, defaulttrue). - When enabled, CombatGunSSS automatically starts a reload after a gun fires its last round, saving the player from manually pressing
[F]. - Auto-reload respects the existing
GunReloadEventโ other plugins can still cancel it. - Set to
falsefor hardcore or manual-reload server modes.
Developer API โ GunHitEvent
- New informational event
GunHitEvent, fired immediately after a bullet successfully damages a living entity. - Provides the complete damage pipeline in a single event:
getBaseDamage()โ damage before falloff and headshot multiplier.getFinalDamage()โ damage actually applied after all multipliers.isHeadshot()โ whether the hit registered as a headshot.getDistance()โ distance in blocks from shooter eye to hit position.getShooter(),getTarget(),getGun()โ full context.
- Intended for stat tracking, cosmetic side-effects, or per-hit reward systems. Not cancellable (damage is already done by the time the event fires).
Developer API โ GunShootEvent.getBaseDamage()
- New method on the existing
GunShootEvent, available pre-shot before any multipliers are applied. - Returns
gun.getDamage() * gun.getProjectileDamageMultiplier(). - Useful for pre-shot checks such as arena minimum-damage caps or logging without recalculating manually.
Changed
CombatGunAPIโ addedGunHitEventto theCUSTOM_EVENTSdocumentation array and updated Javadoc to list all four custom events with descriptions.CombatGunSSSPluginโ registers and stopsHudManager; logsHUD: ON/OFFto console on startup.GunListenerโ removed privatesendAmmoBar()helper (replaced byHudManager); callshudManager.sendNow()after each shot for an instant HUD update; appliesauto_reload_when_emptyconfig check before triggering reload on empty magazine.
Fixed
GunHitEventdamage transparency โ previously, third-party plugins had no way to observe the actual damage applied by a bullet (only the pre-shotGunShootEventexisted). Final damage, falloff, and headshot calculations were completely opaque afterv1.0.2.GunHitEventcloses this gap.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:BSt2YZOI:wQ4bn1Yf"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:BSt2YZOI:wQ4bn1Yf"
}

