{"id":44323,"date":"2026-06-02T05:24:46","date_gmt":"2026-06-02T02:24:46","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/"},"modified":"2026-06-02T05:24:46","modified_gmt":"2026-06-02T02:24:46","slug":"combatgunsss","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/","title":{"rendered":"CombatGunSSS"},"content":{"rendered":"<p># \ud83d\udd2b CombatGunSSS<\/p>\n<p>![Version](https:\/\/img.shields.io\/badge\/Version-2.0.6-blue.svg)<br \/>\n![Platform](https:\/\/img.shields.io\/badge\/Platform-Paper%20\/%20Spigot-green.svg)<br \/>\n![Java](https:\/\/img.shields.io\/badge\/Java-21-red.svg)<\/p>\n<p>**CombatGunSSS** is a high-performance, feature-rich Minecraft gun plugin designed for modern servers (1.21+). It brings a tactical, realistic combat experience with 45 uniquely configured weapons (39 firearms + 6 melee), advanced crafting mechanics, optimized hitscan technology, a full custom events API, and a growing ecosystem of plugin integrations.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83c\udf1f Key Features<\/p>\n<p>&#8211; **\ud83c\udfaf Tactical Combat**: Realistic hitscan mechanics with accurate recoil, bullet spread, and headshot multipliers.<br \/>\n&#8211; **\u2694\ufe0f Melee System**: Left-click melee combat with range check, knockback, and separate cooldown system.<br \/>\n&#8211; **\ud83d\udee1\ufe0f Advanced Penetration**: Projectiles can pass through &#8220;soft&#8221; blocks and multiple entities based on individual gun stats.<br \/>\n&#8211; **\ud83e\ude78 Progressive Damage**: Distance-based **Damage Falloff** and configurable **Knockback** intensities.<br \/>\n&#8211; **\ud83d\udee0\ufe0f Two-Tier Crafting System**:<br \/>\n    &#8211; **Vanilla Workbench**: Craft basic components with official **Recipe Book** support.<br \/>\n    &#8211; **Mechanical Crafting Table**: A custom 21-slot industrial GUI for assembling advanced firearms.<br \/>\n&#8211; **\ud83d\udcc2 Interactive Recipe Browser**: Built-in visual guide inside the Mechanical Crafting Table \u2014 no commands needed!<br \/>\n&#8211; **\ud83d\udce6 45 Built-in Weapons**: 39 ranged guns + 6 melee weapons with burst-fire, shotgun pellets, and melee logic.<br \/>\n&#8211; **\ud83d\udcc9 Durability System**: Weapons can have limited usage and require repairs (fully configurable).<br \/>\n&#8211; **\ud83d\udcca Persistent HUD**: Real-time action bar showing gun name (rarity-colored), visual ammo bar, current\/max ammo, and reserve count.<br \/>\n&#8211; **\ud83d\udd04 Auto-Reload**: Automatically reloads after firing the last round (toggleable).<br \/>\n&#8211; **\ud83d\uddfa\ufe0f WorldGuard Integration**: Block gun use inside protected regions with a custom `gun-shooting` flag.<br \/>\n&#8211; **\ud83d\udcb0 Vault Shop**: Players purchase weapons via `\/gun buy <id>` using server economy.<br \/>\n&#8211; **\ud83d\udccb PlaceholderAPI**: 8 real-time placeholders for scoreboards, HUDs, and TAB plugins.<br \/>\n&#8211; **\ud83c\udfaf ADS (Aim Down Sights)**: Per-gun aim-down-sights system. Shift+Right-click to toggle \u2014 reduces spread and applies movement penalty.<br \/>\n&#8211; **\ud83e\ude78 Bleeding**: Optional damage-over-time on bullet hit. Cured by holding a bandage and pressing `[F]`.<br \/>\n&#8211; **\ud83c\udf92 Ammo Pouch**: Compressed ammo bag. Shift+Right-click to unpack into inventory. Give via `\/gun givepouch`.<br \/>\n&#8211; **\ud83c\udf10 Multi-Language (i18n)**: All messages live in `lang\/en.yml` or `lang\/vi.yml`. Add your own translation file.<br \/>\n&#8211; **\ud83d\udee1\ufe0f Anti-Cheat**: Automatic exemptions for Vulcan and Matrix to prevent recoil false-positives.<br \/>\n&#8211; **\ud83d\udd0c Developer API**: Full custom events \u2014 `GunShootEvent`, `GunReloadEvent`, `GunHitEvent`, `GunHeadshotEvent`.<br \/>\n&#8211; **\ud83e\udd1d Friendly Fire Control**: Toggle friendly fire on\/off with scoreboard team or permission-group detection.<br \/>\n&#8211; **\ud83c\udfa8 Toggleable Effects**: Every particle and sound effect can be individually enabled\/disabled. Includes a master `sound_volume` control.<br \/>\n&#8211; **\ud83d\udc80 Custom Kill Messages**: Death messages show killer name, weapon name (colored by rarity), and headshot indicator.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83c\udfae Player Controls<\/p>\n<p>| Action | Control |<br \/>\n| :&#8212; | :&#8212; |<br \/>\n| **Shoot** | `Right Click` |<br \/>\n| **Reload** | `Swap Hand Key [F]` |<br \/>\n| **Melee Attack** | `Left Click` |<br \/>\n| **Buy a weapon** | `\/gun buy <id>` |<br \/>\n| **Crafting** | `Right Click` on Mechanical Crafting Table |<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd2b Weapon Categories<\/p>\n<p>### Ranged Weapons (39)<br \/>\n&#8211; **Assault Rifles**: AK47, M4A1, SCAR, AUG, FAMAS, G36, Groza, AN94, M14, ParaFAL, XM8, Kingfisher<br \/>\n&#8211; **SMGs**: MP5, P90, Vector, Bizon, UMP, Thompson, MAC-10, MP40, VSS, CG15<br \/>\n&#8211; **Snipers**: AWM, M24, Kar98k, M82B, M107, VSK94<br \/>\n&#8211; **Shotguns**: M1014, SPAS-12, MAG-7, M1887, M590, Trogon<br \/>\n&#8211; **Pistols**: Desert Eagle, G18, USP, M1917, M1873, M500<\/p>\n<p>### Melee Weapons (6)<br \/>\n&#8211; **Bat**: Common, fast swing<br \/>\n&#8211; **Knife**: Common, highest attack speed<br \/>\n&#8211; **Pan**: Rare, defensive knockback<br \/>\n&#8211; **Parang**: Rare, balanced damage\/speed<br \/>\n&#8211; **Katana**: Epic, high damage<br \/>\n&#8211; **Scythe**: Legendary, maximum damage<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd2b Technical Weapon Stats<\/p>\n<p>Every weapon in CombatGunSSS features a deep set of configurable properties:<\/p>\n<p>&#8211; **Damage Falloff**: Define exactly at what block distance damage begins to drop (`damage_falloff_start`) and the minimum damage floor (`min_damage_multiplier`).<br \/>\n&#8211; **Recoil &#038; Spread**: Independent **Pitch** (vertical) and **Yaw** (horizontal) kick per shot, plus **Movement Spread** penalties while moving or jumping.<br \/>\n&#8211; **Burst Fire**: Configure weapons to fire multiple rounds per trigger pull (`burst_count`) with custom delays.<br \/>\n&#8211; **Shotgun Logic**: Support for multiple projectiles per shot (`projectiles_per_shot`) with per-pellet damage calculation.<br \/>\n&#8211; **Durability**: Set a maximum usage limit (`max_durability`). Weapons will break and become unusable until repaired.<br \/>\n&#8211; **Penetration**: Define how many blocks (`block_penetration`) or entities (`entity_penetration`) a single bullet can pass through.<br \/>\n&#8211; **Melee Range**: Maximum attack distance for melee weapons (default: 4 blocks).<br \/>\n&#8211; **Knockback**: Push strength for both ranged and melee weapons.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcc1 Folder Structure<\/p>\n<p>&#8220;`<br \/>\nplugins\/CombatGunSSS\/<br \/>\n\u251c\u2500\u2500 config.yml              # Main configuration<br \/>\n\u251c\u2500\u2500 guns\/                   # Ranged weapon configs (39 built-in + custom)<br \/>\n\u2502   \u251c\u2500\u2500 ak47.yml<br \/>\n\u2502   \u251c\u2500\u2500 m4a1.yml<br \/>\n\u2502   \u2514\u2500\u2500 &#8230;<br \/>\n\u251c\u2500\u2500 melees\/                 # Melee weapon configs (6 built-in + custom)<br \/>\n\u2502   \u251c\u2500\u2500 katana.yml<br \/>\n\u2502   \u251c\u2500\u2500 knife.yml<br \/>\n\u2502   \u2514\u2500\u2500 &#8230;<br \/>\n\u2514\u2500\u2500 README.md<br \/>\n&#8220;`<\/p>\n<p>**Custom Weapons**: Create your own YAML files in `guns\/` or `melees\/` folders and run `\/gun reload`.<\/p>\n<p>&#8212;<\/p>\n<p>## \u2692\ufe0f Crafting Mechanics<\/p>\n<p>### **1. Components (The Basics)**<br \/>\nCraft raw materials like **Steel Ingots**, **Gun Barrels**, and **Springs** at a standard Crafting Table. These recipes are automatically unlocked in your **Vanilla Recipe Book**.<\/p>\n<p>### **2. Assembly (The Advanced)**<br \/>\nPlace your components into the **Mechanical Crafting Table**.<br \/>\n&#8211; **Non-grid-based**: Just throw the ingredients into the 21-slot input area.<br \/>\n&#8211; **Visual Preview**: The output slot shows your gun stats before you build it.<br \/>\n&#8211; **Recipe Guide**: Click the **Glowing Book** icon in the station to browse all weapon requirements.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcca Action Bar HUD<\/p>\n<p>While holding any ranged weapon, CombatGunSSS displays a persistent HUD on your action bar:<\/p>\n<p>&#8220;`<br \/>\n\ud83d\udd2b AK47  \u2590\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u258c  22 \/ 30  \u2022  90<br \/>\n&#8220;`<\/p>\n<p>&#8211; **Gun name** is colored by rarity: white (common) \u2192 aqua (rare) \u2192 light purple (epic) \u2192 gold (legendary).<br \/>\n&#8211; **Visual bar** transitions green \u2192 gold (\u226425%) \u2192 red (\u226410%) as ammo depletes.<br \/>\n&#8211; **Reserve count** turns red when you have no backup ammo left.<br \/>\n&#8211; The HUD automatically yields to the reload progress bar during active reloads.<\/p>\n<p>&#8220;`yaml<br \/>\ncombatgun:<br \/>\n  hud:<br \/>\n    enabled: true<br \/>\n    update_interval_ticks: 5<br \/>\n&#8220;`<\/p>\n<p>## \ud83c\udfaf ADS \u2014 Aim Down Sights<\/p>\n<p>Enable ADS per gun in its YAML config:<\/p>\n<p>&#8220;`yaml<br \/>\nads:<br \/>\n  enabled: true<br \/>\n  spread_multiplier: 0.35   # 65% tighter accuracy while ADS<br \/>\n  movement_penalty: 0.6     # movement speed while ADS active<br \/>\n&#8220;`<\/p>\n<p>**Control**: Shift+Right-click to toggle ADS on\/off. Action bar shows `\ud83c\udfaf ADS [spread \u00d70.35]`.<\/p>\n<p>ADS exits automatically when you switch items, teleport, or die. Scopeable sniper rifles use the traditional sneak-to-scope mechanic instead of ADS.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83e\ude78 Bleeding<\/p>\n<p>An optional damage-over-time system. When enabled, bullets hitting players have a configurable chance to cause bleeding.<\/p>\n<p>&#8220;`yaml<br \/>\ncombatgun:<br \/>\n  bleeding:<br \/>\n    enabled: true<br \/>\n    chance: 0.15<br \/>\n    damage_per_second: 1.0<br \/>\n    duration_seconds: 10<br \/>\n    cure_item: bandage<br \/>\n&#8220;`<\/p>\n<p>Hold a **bandage** (crafting component) and press `[F]` to cure. Bleeding stops automatically on death.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83c\udf92 Ammo Pouch<\/p>\n<p>A compressed ammo container that stores hundreds of rounds in a single slot.<\/p>\n<p>&#8220;`<br \/>\n\/gun givepouch ar_ammo 300 PlayerName<br \/>\n&#8220;`<\/p>\n<p>Shift+Right-click to unpack all rounds into your inventory. Surplus rounds are left if the inventory is full.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83c\udf10 Multi-Language<\/p>\n<p>Set the active language in `config.yml`:<\/p>\n<p>&#8220;`yaml<br \/>\ncombatgun:<br \/>\n  language: vi   # en | vi | (any lang\/xx.yml)<br \/>\n&#8220;`<\/p>\n<p>Bundled: **English** (`en`) and **Ti\u1ebfng Vi\u1ec7t** (`vi`). Add a custom translation by placing `lang\/xx.yml` in the plugin data folder and running `\/gun reload`.<\/p>\n<p>&#8212;<br \/>\n## \ud83d\udd0c Plugin Integrations<\/p>\n<p>### PlaceholderAPI<\/p>\n<p>8 real-time placeholders for use in scoreboards, TAB, AdvancedHud, and similar plugins:<\/p>\n<p>| Placeholder | Example | Description |<br \/>\n| :&#8212; | :&#8212; | :&#8212; |<br \/>\n| `%combatgun_gun_name%` | `AK47` | Display name of held gun |<br \/>\n| `%combatgun_gun_id%` | `ak47` | Internal ID of held gun |<br \/>\n| `%combatgun_gun_rarity%` | `epic` | Rarity of held gun |<br \/>\n| `%combatgun_ammo%` | `24` | Current magazine ammo |<br \/>\n| `%combatgun_ammo_max%` | `30` | Magazine capacity |<br \/>\n| `%combatgun_ammo_reserve%` | `90` | Reserve ammo in inventory |<br \/>\n| `%combatgun_is_reloading%` | `true` | Whether player is reloading |<br \/>\n| `%combatgun_is_gun%` | `true` | Whether held item is a gun |<\/p>\n<p>### Vault Shop<\/p>\n<p>Enable the shop in `config.yml`, set prices per gun, then players can buy weapons in-game:<\/p>\n<p>&#8220;`yaml<br \/>\ncombatgun:<br \/>\n  shop:<br \/>\n    enabled: true<br \/>\n    currency_symbol: &#8220;$&#8221;<br \/>\n    guns:<br \/>\n      ak47:  700.0<br \/>\n      awm:  2500.0<br \/>\n      knife: 100.0<br \/>\n&#8220;`<\/p>\n<p>&#8220;`<br \/>\n\/gun buy ak47          # purchase for configured price<br \/>\n\/gun buy ak47 free     # admin free-give (requires combatgun.admin)<br \/>\n&#8220;`<\/p>\n<p>### WorldGuard<\/p>\n<p>The custom flag `gun-shooting` is automatically registered when WorldGuard is present:<\/p>\n<p>&#8220;`<br \/>\n\/rg flag <region> gun-shooting deny    # block all guns in region<br \/>\n\/rg flag <region> gun-shooting allow   # explicitly allow<br \/>\n\/rg flag <region> gun-shooting -g      # remove flag (inherit parent)<br \/>\n&#8220;`<\/p>\n<p>Falls back to WorldGuard&#8217;s built-in `PVP` flag if `gun-shooting` is not set on a region.<\/p>\n<p>### Anti-Cheat (Vulcan \/ Matrix)<\/p>\n<p>Auto-detected. When present, players are exempted from motion checks for `anticheat.exempt_ticks` ticks after each shot to prevent recoil from triggering false positives.<\/p>\n<p>&#8220;`yaml<br \/>\ncombatgun:<br \/>\n  anticheat:<br \/>\n    exempt_ticks: 3<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udcdc Commands &#038; Permissions<\/p>\n<p>| Command | Description | Permission |<br \/>\n| :&#8212; | :&#8212; | :&#8212; |<br \/>\n| `\/gun statsreset <player>` | Reset a specific player&#8217;s stats | `combatgun.admin` |<br \/>\n| `\/gun seasonreset confirm` | Wipe ALL player stats (season reset) | `combatgun.admin` |<br \/>\n| `\/gun give <id> [player]` | Give a specific weapon | `combatgun.admin` |<br \/>\n| `\/gun giveammo <id> [amt] [player]` | Give custom ammunition | `combatgun.admin` |<br \/>\n| `\/gun givepart <id> [amt] [player]` | Give crafting components | `combatgun.admin` |<br \/>\n| `\/gun station [player]` | Give the Mechanical Crafting Table | `combatgun.admin` |<br \/>\n| `\/gun book [player]` | Give the Recipe Guide Book | `combatgun.admin` |<br \/>\n| `\/gun recipe <id>` | Show the full crafting chain in chat | `combatgun.admin` |<br \/>\n| `\/gun list [category]` | View all loaded weapons | `combatgun.admin` |<br \/>\n| `\/gun inspect [player]` | View deep stats of the held weapon | `combatgun.admin` |<br \/>\n| `\/gun reload` | Reload all configurations | `combatgun.admin` |<br \/>\n| `\/gun buy <id>` | Purchase a weapon (requires Vault) | `combatgun.use` |<br \/>\n| `\/gun givepouch <ammo_id> <amount> [player]` | Give an ammo pouch | `combatgun.admin` |<\/p>\n<p>### Player Permissions<br \/>\n&#8211; `combatgun.use` \u2014 Allows shooting and using guns (default: `true`)<br \/>\n&#8211; `combatgun.use.<gun_id>` \u2014 Per-gun permission node (e.g. `combatgun.use.awm`)<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd27 Configuration Examples<\/p>\n<p>### Ranged Weapon (AK47)<br \/>\n&#8220;`yaml<br \/>\nname: AK47<br \/>\ncategory: assault_rifles<br \/>\nammo_type: ar_ammo<br \/>\ndamage: 12<br \/>\nfire_rate: 10.0<br \/>\nmagazine_size: 30<br \/>\nreload_time: 2.6<br \/>\nheadshot_multiplier: 1.8<br \/>\ndamage_falloff_start: 35.0<br \/>\nmin_damage_multiplier: 0.5<br \/>\nrange: 72.0<br \/>\nblock_penetration: 0.8<br \/>\nentity_penetration: 0<br \/>\nrecoil:<br \/>\n  pitch: 1.45<br \/>\n  yaw: 0.42<br \/>\n  spread: 0.24<br \/>\n  recovery: 0.80<br \/>\nrarity: rare<br \/>\ncustom_model_data: 1001<br \/>\nsound: ENTITY_FIREWORK_ROCKET_BLAST<br \/>\nrecipe:<br \/>\n  station: mechanical_crafting_table<br \/>\n  ingredients:<br \/>\n    steel_ingot: 6<br \/>\n    gun_barrel: 1<br \/>\n    spring: 2<br \/>\n    hardwood: 3<br \/>\n&#8220;`<\/p>\n<p>### Melee Weapon (Katana)<br \/>\n&#8220;`yaml<br \/>\nname: Katana<br \/>\ncategory: melee<br \/>\nammo_type: none<br \/>\nrarity: epic<br \/>\ndamage: 10<br \/>\nfire_rate: 1.35<br \/>\nrange: 4.0<br \/>\nknockback: 0.3<br \/>\nsound: ENTITY_PLAYER_ATTACK_CRIT<br \/>\ncustom_model_data: 26002<br \/>\nrecipe:<br \/>\n  station: mechanical_crafting_table<br \/>\n  ingredients:<br \/>\n    steel_ingot: 10<br \/>\n    carbon_fiber: 2<br \/>\n    leather_strip: 3<br \/>\n    blade_core: 1<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd0c Developer API<\/p>\n<p>### Custom Events<\/p>\n<p>| Event | Cancellable | When it fires |<br \/>\n| :&#8212; | :&#8212;: | :&#8212; |<br \/>\n| `GunShootEvent` | \u2705 | Before each shot \u2014 cancel or set damage multiplier |<br \/>\n| `GunReloadEvent` | \u2705 | When a player starts reloading |<br \/>\n| `GunHitEvent` | \u274c | After damage is applied \u2014 full damage pipeline |<br \/>\n| `GunHeadshotEvent` | \u274c | When a shot lands in the head zone |<br \/>\n| `AttachmentApplyEvent` | \u2705 | Before an attachment is fitted to a gun |<br \/>\n| `AttachmentRemoveEvent` | \u2705 | Before an attachment is removed from a gun |<\/p>\n<p>&#8220;`java<br \/>\n@EventHandler<br \/>\npublic void onShoot(GunShootEvent event) {<br \/>\n    if (isInsideArena(event.getShooter()))<br \/>\n        event.setDamageMultiplier(2.0);<br \/>\n}<\/p>\n<p>@EventHandler<br \/>\npublic void onReload(GunReloadEvent event) {<br \/>\n    if (isCapturingObjective(event.getPlayer()))<br \/>\n        event.setCancelled(true);<br \/>\n}<\/p>\n<p>@EventHandler<br \/>\npublic void onHit(GunHitEvent event) {<br \/>\n    \/\/ base damage, final damage, headshot flag, distance<br \/>\n    plugin.getStats().record(<br \/>\n        event.getShooter(), event.getGun().getId(),<br \/>\n        event.getFinalDamage(), event.isHeadshot(), event.getDistance());<br \/>\n}<\/p>\n<p>@EventHandler<br \/>\npublic void onHeadshot(GunHeadshotEvent event) {<br \/>\n    event.getShooter().giveExp(5);<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>### API Instance<\/p>\n<p>&#8220;`java<br \/>\nCombatGunAPI api = CombatGunAPI.getInstance();<\/p>\n<p>\/\/ Query guns<br \/>\nGunData gun              = api.getGun(&#8220;ak47&#8221;);<br \/>\nCollection<GunData> all  = api.getAllGuns();<\/p>\n<p>\/\/ Create items<br \/>\nItemStack gunItem         = api.createGunItem(&#8220;ak47&#8221;);<br \/>\nItemStack ammo            = api.createAmmoItem(&#8220;ar_ammo&#8221;, 30);<\/p>\n<p>\/\/ Check items<br \/>\nboolean isGun             = api.isGun(item);<br \/>\nString  gunId             = api.getGunId(item);<\/p>\n<p>\/\/ Player state<br \/>\nboolean isReloading       = api.isReloading(player.getUniqueId());<\/p>\n<p>\/\/ Hook state<br \/>\nboolean shopEnabled       = plugin.getHookManager().getVaultHook().isEnabled();<br \/>\nboolean wgActive          = plugin.getHookManager().getWorldGuardHook().isAvailable();<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\ude80 Installation<\/p>\n<p>1. Download the `CombatGunSSS-2.0.6.jar`.<br \/>\n2. Drop it into your server&#8217;s `plugins` folder.<br \/>\n3. (Optional) Install any soft-depend plugins you want: PlaceholderAPI, Vault, WorldGuard, Vulcan, Matrix.<br \/>\n4. Restart the server to generate default configurations.<br \/>\n5. (Optional) Add a Resource Pack to see 3D gun models.<\/p>\n<p>### Requirements<br \/>\n&#8211; **Server**: Paper\/Spigot 1.21+<br \/>\n&#8211; **Java**: 21 or higher<br \/>\n&#8211; **Required dependencies**: None (standalone plugin)<br \/>\n&#8211; **Optional dependencies**: PlaceholderAPI, Vault + economy plugin, WorldGuard, Vulcan, Matrix<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udccb Changelog<\/p>\n<p>See [CHANGELOG.md](CHANGELOG.md) for the full version history.<\/p>\n<p>**2.0.6** \u2014 Bug-fix release: 4 bugs fixed<br \/>\n&#8211; Fixed friendly-fire scoreboard team detection using player scoreboard instead of main scoreboard \u2014 could allow friendly-fire bypass<br \/>\n&#8211; Fixed `recentDamage` memory leak: entries now removed on player quit and death events<br \/>\n&#8211; Fixed shared `static Random` contention: replaced with `ThreadLocalRandom.current()` (per-thread, no lock, better entropy)<br \/>\n&#8211; Fixed async SQLite connection safety: `incrementGunKill()` and `getGunKills()` now synchronized alongside `flushBuffer()`<\/p>\n<p>**2.0.5** \u2014 Developer API &#038; architecture release: 4 new additions, 1 improvement<br \/>\n&#8211; New `AttachmentApplyEvent` and `AttachmentRemoveEvent` (cancellable) \u2014 fired on `\/gun attach` and `\/gun detach`<br \/>\n&#8211; New `DamageCalculator` utility class \u2014 centralises all damage math extracted from `GunListener` (headshots, falloff, spread, pellets)<br \/>\n&#8211; New `kills_by_gun_detail` SQLite table (schema v3) \u2014 per-kill log with timestamp, weapon, headshot flag<br \/>\n&#8211; New commands: `\/gun statsreset <player>` and `\/gun seasonreset confirm`<br \/>\n&#8211; `GunListener` God Class partially refactored \u2014 4 methods delegate to `DamageCalculator`<\/p>\n<p>**2.0.4** \u2014 Stability &#038; performance release: 2 bug-fixes, 3 improvements<br \/>\n&#8211; Fixed thread-safety data race in `StatsManager` stat buffer (ConcurrentHashMap)<br \/>\n&#8211; Fixed silent loading of invalid gun configs (YAML validation with clear per-field errors)<br \/>\n&#8211; `StatsManager` leaderboard query optimized with a `kills DESC` index (schema migration v2)<br \/>\n&#8211; Shop price reads now cached in memory; invalidated on `\/gun reload`<br \/>\n&#8211; Config version detection warns admins when `config.yml` is outdated after an update<\/p>\n<p>**2.0.3** \u2014 Bug-fix release: 7 bugs fixed<br \/>\n&#8211; Ammo Pouch no longer loses items when the inventory is full<br \/>\n&#8211; Reload task CPU usage reduced by 50% (changed from 1 tick to 2 tick interval)<br \/>\n&#8211; `isHeadshot()` now works accurately when the player is crouching<br \/>\n&#8211; `craftFromStation()` properly rolls back ingredients if crafting fails<br \/>\n&#8211; `BleedingManager` now uses wall-clock time for accurate damage even during server lag<br \/>\n&#8211; `applyRecoil()` is now fully null-safe<br \/>\n&#8211; Fixed race condition in `onItemHeldChange`<\/p>\n<p>**2.0.2** \u2014 Hotfix: Fixed NPE when shooting caused by GunListener trying to cache HudManager before it was initialized \u2014 resolved using lazy access.<\/p>\n<p>**2.0.1** \u2014 Hotfix: plugin crash on startup isolated; `StatsManager`\/`HookManager` failures degrade gracefully; `Material.GRAY_DYE` compile fix; null-safety throughout.<\/p>\n<p>**2.0.0** \u2014 Weapon attachments (silencer, scope, extended mag, grip); throwable items (frag, smoke, flashbang); kill stats &#038; leaderboard (SQLite); 4 new PlaceholderAPI placeholders.<\/p>\n<p>**1.2.0** \u2014 ADS (Aim Down Sights) per-gun toggle; Ammo Pouch compressed item (`\/gun givepouch`); Bleeding DoT on player hit with bandage cure; Multi-language i18n (`lang\/en.yml`, `lang\/vi.yml`).<\/p>\n<p>**1.1.0** \u2014 PlaceholderAPI expansion (8 placeholders); Vault shop (`\/gun buy`); WorldGuard `gun-shooting` custom flag for region protection; Vulcan &#038; Matrix anti-cheat exemptions on recoil; central `HookManager`; `softdepend` in `plugin.yml`.<\/p>\n<p>**1.0.3** \u2014 Persistent action bar HUD (rarity-colored name, visual ammo bar, reserve count); auto-reload when empty (toggleable); new `GunHitEvent` exposing full damage pipeline; `GunShootEvent.getBaseDamage()` for pre-shot checks.<\/p>\n<p>**1.0.2** \u2014 Custom events API; friendly fire toggle; toggleable effects + `sound_volume`; custom kill messages; `AmmoManager` memory leak fix; reload cancel on teleport\/world change; `GunData` Builder pattern.<\/p>\n<p>**1.0.1** \u2014 Recipe Book registration fix; ammo type disambiguation fix; double-click exploit fix; debug spam removed.<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83d\udd0d Troubleshooting<\/p>\n<details>\n<summary><b>Friendly fire still occurring despite being disabled<\/b><\/summary>\n<p>* Fixed in **2.0.6** \u2014 team detection now uses the main scoreboard instead of each player&#8217;s personal view<br \/>\n* Ensure teams are set up with `\/team add <name>` and players added with `\/team join <name> <player>`<br \/>\n* Test with `combatgun.team_provider: scoreboard` in `config.yml`<\/p>\n<\/details>\n<details>\n<summary><b>Guns not working \/ can&#8217;t shoot<\/b><\/summary>\n<p>* Check `combatgun.use` permission is granted to players<br \/>\n* Make sure the world is not blacklisted in `config.yml`<br \/>\n* If using WorldGuard, check if the region has `gun-shooting deny`<br \/>\n* Try `\/gun give ak47` and test in a clean area<br \/>\n* Use Paper \u2014 Spigot is not supported<\/p>\n<\/details>\n<details>\n<summary><b>Ammo not found \/ can&#8217;t reload<\/b><\/summary>\n<p>* Make sure you have the correct ammo type in your inventory (e.g. AR ammo for assault rifles)<br \/>\n* Craft ammo at a Vanilla Crafting Table or Mechanical Crafting Table<br \/>\n* Check `ammo_type` in the gun&#8217;s YAML matches a defined ammo type in `config.yml`<br \/>\n* Run `\/gun reload` after editing configs<\/p>\n<\/details>\n<details>\n<summary><b>Recipes not showing in crafting table<\/b><\/summary>\n<p>* Run `\/gun reload` to re-register vanilla recipes<br \/>\n* Give yourself the Recipe Guide Book: `\/gun book`<br \/>\n* Ensure the ingredient IDs in the gun YAML match those defined in `config.yml`<\/p>\n<\/details>\n<details>\n<summary><b>Console warning: &#8220;config.yml is OUTDATED&#8221;<\/b><\/summary>\n<p>* This warning appears when your `config.yml` has a lower `config-version` than the plugin expects.<br \/>\n* Back up your current `config.yml`, delete it, and restart the server to regenerate a fresh one.<br \/>\n* Then manually copy over your custom settings (world lists, shop prices, effects, etc.) from the backup.<br \/>\n* The plugin loads normally even with an outdated config \u2014 default values are used for missing keys.<\/p>\n<\/details>\n<details>\n<summary><b>Gun config not loading \/ &#8220;config validation failed&#8221; warning<\/b><\/summary>\n<p>* Added in **2.0.4** \u2014 guns with invalid configs now log a clear per-field error instead of loading silently.<br \/>\n* Check the listed fields: `damage`, `fire_rate`, `magazine_size`, `reload_time` must all be greater than 0.<br \/>\n* `burst_count` must be at least 1. `name` cannot be blank.<br \/>\n* Fix the values in the gun&#8217;s YAML and run `\/gun reload`.<\/p>\n<\/details>\n<details>\n<summary><b>Leaderboard (`\/gun leaderboard`) is slow on large servers<\/b><\/summary>\n<p>* Fixed in **2.0.4** \u2014 a `kills DESC` index is now created automatically on the SQLite database.<br \/>\n* The migration runs once on first startup of 2.0.4. If you still experience slowness, ensure the server was fully restarted (not `\/reload`).<\/p>\n<\/details>\n<details>\n<summary><b>Ammo Pouch destroying items when inventory is full<\/b><\/summary>\n<p>* Fixed in **2.0.3** \u2014 update the plugin<br \/>\n* Partial unpacks now save remaining ammo back into the pouch instead of destroying it<\/p>\n<\/details>\n<details>\n<summary><b>Reload taking wrong amount of time \/ inconsistent<\/b><\/summary>\n<p>* Fixed in **2.0.3** \u2014 reload task now runs every 2 ticks instead of 1 (50% less CPU, same reload duration)<br \/>\n* If still wrong, check `reload_time` in the gun&#8217;s YAML (in seconds)<\/p>\n<\/details>\n<details>\n<summary><b>Headshots not registering correctly<\/b><\/summary>\n<p>* Fixed in **2.0.3** \u2014 crouching player hitbox now calculated correctly<br \/>\n* Headshot detection uses the top 20% of the entity hitbox, adjusted for crouch state<\/p>\n<\/details>\n<details>\n<summary><b>Bleeding damage lower than configured<\/b><\/summary>\n<p>* Fixed in **2.0.3** \u2014 `BleedingManager` now uses wall-clock time instead of tick counting<br \/>\n* Damage is now accurate even under server lag<\/p>\n<\/details>\n<details>\n<summary><b>Plugin crashes on startup<\/b><\/summary>\n<p>* Fixed in **2.0.1** \u2014 startup errors are now isolated per manager<br \/>\n* Check console for `[CombatGunSSS]` error lines indicating which manager failed<br \/>\n* Common cause: corrupted `config.yml` or invalid gun YAML syntax<br \/>\n* Fix the config, then restart (do not use `\/reload`)<\/p>\n<\/details>\n<details>\n<summary><b>NullPointerException when shooting<\/b><\/summary>\n<p>* Fixed in **2.0.2** \u2014 lazy HudManager access prevents NPE at startup<br \/>\n* If persisting: check that `HookManager` is not null in the stack trace and update to latest version<\/p>\n<\/details>\n<details>\n<summary><b>Anti-cheat flagging recoil movement<\/b><\/summary>\n<p>* Ensure Vulcan or Matrix is listed in `softdepend` (already done automatically)<br \/>\n* Increase `combatgun.anticheat.exempt_ticks` in `config.yml` (default: `3`)<br \/>\n* The plugin auto-detects and registers exemptions via reflection \u2014 no API jar needed<\/p>\n<\/details>\n<details>\n<summary><b>PlaceholderAPI placeholders showing as raw text<\/b><\/summary>\n<p>* Install PlaceholderAPI and run `\/papi reload`<br \/>\n* Ensure PlaceholderAPI is loaded before CombatGunSSS (restart, not `\/reload`)<br \/>\n* Test with `\/papi parse me %combatgun_gun_name%`<\/p>\n<\/details>\n<details>\n<summary><b>Vault shop not working<\/b><\/summary>\n<p>* Make sure an economy plugin (EssentialsX, CMI, etc.) is installed alongside Vault<br \/>\n* Set `combatgun.shop.enabled: true` in `config.yml`<br \/>\n* Confirm the gun ID exists in `combatgun.shop.guns` price list<br \/>\n* Use `\/gun buy <id> free` (admin) to test without balance requirement<\/p>\n<\/details>\n<details>\n<summary><b>\/reload breaks the plugin<\/b><\/summary>\n<p>* Never use `\/reload` \u2014 always do a full server restart<br \/>\n* Use `\/gun reload` to hot-reload gun configs, language files, and settings without restarting<\/p>\n<\/details>\n<details>\n<summary><b>Custom gun YAML not loading<\/b><\/summary>\n<p>* Place the file inside `plugins\/CombatGunSSS\/guns\/` (ranged) or `melees\/` (melee)<br \/>\n* Run `\/gun reload` \u2014 check console for warnings about your file<br \/>\n* Ensure required fields are present: `name`, `category`, `ammo_type`, `damage`, `magazine_size`<br \/>\n* YAML is whitespace-sensitive \u2014 use a validator like yaml.org\/start.html<\/p>\n<\/details>\n<p>&#8212;<\/p>\n<p>## \u2753 FAQ<\/p>\n<p>### Does this work on Spigot?<\/p>\n<p>No \u2014 CombatGunSSS requires **Paper 1.21+**. Spigot lacks several API features used internally.<\/p>\n<p>### Can I add my own guns?<\/p>\n<p>Yes. Create a new `.yml` file in `plugins\/CombatGunSSS\/guns\/` following the same format as the built-in weapon files, then run `\/gun reload`.<\/p>\n<p>### Can I disable specific guns?<\/p>\n<p>Simply delete or remove the gun&#8217;s YAML file from the `guns\/` folder and run `\/gun reload`. Players holding that gun will keep the item but it won&#8217;t function.<\/p>\n<p>### Does it support multiple worlds?<\/p>\n<p>Yes. Configure a world whitelist or blacklist under `combatgun.worlds` in `config.yml`.<\/p>\n<p>### Is it laggy on large servers?<\/p>\n<p>CombatGunSSS uses hitscan (ray-trace, not projectile entities), so it is significantly lighter than projectile-based gun plugins. Heavy effects like bullet trails can be toggled off in `config.yml` under `combatgun.effects`.<\/p>\n<p>### Can I disable the crafting system?<\/p>\n<p>Yes \u2014 simply don&#8217;t give players the Mechanical Crafting Table or Recipe Book. Use `\/gun give` for admin distribution. Vanilla workbench recipes can also be disabled per-item.<\/p>\n<p>### Do I need a Resource Pack?<\/p>\n<p>No. The plugin works without a resource pack. However, each gun has a `custom_model_data` value pre-configured for you to link 3D models if you have a pack.<\/p>\n<p>### Can I disable bleeding or the Ammo Pouch?<\/p>\n<p>Yes. Set `combatgun.bleeding.enabled: false` or `combatgun.ammo_pouch.enabled: false` in `config.yml`.<\/p>\n<p>### Does it support ZombieApocalypseSSS?<\/p>\n<p>Yes \u2014 CombatGunSSS is the recommended gun companion for ZombieApocalypseSSS. Guns deal full damage to all zombie types and trigger the noise \/ aggro system automatically.<\/p>\n<p>### Can other plugins listen to gun events?<\/p>\n<p>Yes. Four custom events are exposed via the API: `GunShootEvent` (cancellable), `GunReloadEvent` (cancellable), `GunHitEvent`, and `GunHeadshotEvent`. See the [Developer API](#-developer-api) section.<\/p>\n<p>### How do I give guns without the shop?<\/p>\n<p>Use `\/gun give <id> [player]` (requires `combatgun.admin`). Example: `\/gun give awm Steve`.<\/p>\n<p>&#8212;<\/p>\n<p>Developed with \u2764\ufe0f by **Duong2012G**.<\/p>\n<p>&#8212;<\/p>\n<p>> [!NOTE]<br \/>\n> This plugin is built on the **Paper\/Spigot 1.21** API and requires **Java 21** or higher.<\/p>\n<p>> [!TIP]<br \/>\n> For support and updates, check the repository or contact the developer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Adds 45 unique guns to Minecraft, each with custom damage, recoil, fire rate, and reload mechanics, enhancing combat with balanced gameplay, multiple weapon types, and flexible customization for varied playstyles<\/p>\n","protected":false},"featured_media":44324,"template":"","meta":{"_minecraft_slug":"combatgunsss","_minecraft_project_id":"BSt2YZOI","_minecraft_author":"Duong2012G","_minecraft_license":"Apache-2.0","_minecraft_downloads":307,"_minecraft_follows":3,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"combatgunsss.zip","_minecraft_size_bytes":81752593,"_minecraft_version_count":11,"_minecraft_updated_at":"2026-05-16T11:47:59.372100Z","_minecraft_date_created":"2026-04-04T01:45:35.908029Z","_minecraft_date_modified":"2026-05-14T11:37:16.435691Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/combatgunsss","_minecraft_icon_attachment_id":44324,"_minecraft_imported_at":"2026-06-02T02:24:47+00:00","_minecraft_import_hash":"438b3003bea10cc3c74ff11164e1d023","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,88,126,866,127,128,129],"mod_loader":[130,132,133,134],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-44323","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-equipment","mod_category-management","mod_category-minigame","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_loader-bukkit","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>CombatGunSSS - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CombatGunSSS - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Adds 45 unique guns to Minecraft, each with custom damage, recoil, fire rate, and reload mechanics, enhancing combat with balanced gameplay, multiple weapon types, and flexible customization for varied playstyles\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/combatgunsss\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/combatgunsss\\\/\",\"name\":\"CombatGunSSS - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/combatgunsss\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/combatgunsss\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/combatgunsss-icon-7bc58b888af453f32b8f3bc651ba34fc9c1ef9d5_96.webp\",\"datePublished\":\"2026-06-02T02:24:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/combatgunsss\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/combatgunsss\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/combatgunsss\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/combatgunsss-icon-7bc58b888af453f32b8f3bc651ba34fc9c1ef9d5_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/combatgunsss-icon-7bc58b888af453f32b8f3bc651ba34fc9c1ef9d5_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/combatgunsss\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"CombatGunSSS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"CombatGunSSS - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/","og_locale":"en_US","og_type":"article","og_title":"CombatGunSSS - Minecraft","og_description":"Adds 45 unique guns to Minecraft, each with custom damage, recoil, fire rate, and reload mechanics, enhancing combat with balanced gameplay, multiple weapon types, and flexible customization for varied playstyles","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/","name":"CombatGunSSS - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/combatgunsss-icon-7bc58b888af453f32b8f3bc651ba34fc9c1ef9d5_96.webp","datePublished":"2026-06-02T02:24:46+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/combatgunsss-icon-7bc58b888af453f32b8f3bc651ba34fc9c1ef9d5_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/combatgunsss-icon-7bc58b888af453f32b8f3bc651ba34fc9c1ef9d5_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/combatgunsss\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"CombatGunSSS"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/44323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/44324"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=44323"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=44323"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=44323"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=44323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}