26.1.5latestPewpew 26.1.53 weeks ago Changes since 26.1.1.Read before updating - Auto-reload is now off by default. Firing an empty gun now only dry-fires. Set auto-reload: true in config.yml to get the old behaviour back. Even with it on, holding the trigger on an automatic gun won't start a reload; the player has to press the trigger again. - Switching hotbar slots cancels a reload in progress. - Each throwable type now has its own cooldown. It used to be one 0.5 s cooldown shared by every throwable. - Guns without a deathMessage now use the new gun-death message in messages.yml instead of the vanilla death message. Magazines (opt-in: advanced.magazines: true) - New MAGAZINE item type in a new file, items/magazines.yml. Each magazine holds its own rounds. - Reloading swaps in the fullest magazine that fits. The old magazine goes back to your inventory with its rounds still in it. - Every gun gets a chamber that holds one extra round, so a 30-round magazine gives 31 shots. - A magazine can hold mixed ammo. Rounds fire last-in, first-out, and each shot uses its own round's stats. - Fill a magazine by clicking ammo onto it in your inventory. - Sneak + F ejects the magazine without reloading. - Guns can limit which magazines they take with a magazines: list. - New magazine fields: capacity, reloadModifier, modelSuffix and gunModelData. The two model fields change the gun's model for each magazine. - If no magazine is available, the gun loads loose ammo into the chamber. - New messages: reloaded and no-magazine. Models & animations - animations: frame-by-frame model swaps for fire, reload, reload-round, scope-in and scope-out. Reload animations stretch to fit the gun's actual reload time. - rig: animations built from several moving parts (item displays with keyframes), in first person or attached to the player. - holdPose: CROSSBOW: holds the item two-handed like a charged crossbow. - Aiming changes the model: aimModelSuffix and aimModelData. - animationCooldown controls whether you can fire while an animation plays. - color: gives any item a dye color ("#RRGGBB" or "R, G, B"), for example a tinted leather chestplate. Combat - scopedRecoil: a separate recoil value while aiming down sights. - Bullet impacts: shots leave a mark on the block they hit (impacts.enabled, impacts.max-per-gun). - Breakable glass: bullets break glass and keep flying. The glass comes back after glass.restore-after-seconds and when the server shuts down. - New TEAR_GAS throwable effect with configurable gasEffects. Players wearing a gas mask are protected (tear-gas.gas-masks). - New cooldown field on throwables (in ticks, default 10). - New fields on ammo: - fireTicks sets the target on fire. - payload makes the round launch a throwable, so one launcher can fire different grenade rounds. - New field on guns: defaultAttachments can lock an attachment in place with forced: true. - New death message for throwables: throwable-death. Sounds - New sounds.yml covering every sound the plugin plays: guns, reloads, magazines, hits, explosions, throwables and menus. - Each sound can be a vanilla sound, a resource-pack sound, several sounds layered together, or none to mute it. Skript - New expressions: - pewpew magazine of %players% - pewpew magazine rounds of %players% - pewpew chamber of %players% - New effects: - eject the pewpew magazine from %player% - play pewpew animation "<event>" for %player% [over %n% ticks] - play pewpew sound "<key>" to %player% / at %location% Fixes - Recoil recovery no longer cancels small kicks before they move your aim. - Reloads are interrupted more strictly (switching slots now cancels them). Internal - The project is split into core (platform-independent) and paper modules. - Gradle wrapper updated.
26.1.1Pewpew 26.1.1Aug 19, 2026 Nothing in this release changes how your existing guns behave. Every new option defaults to what Pewpew did before, and the one behaviour that had to change is switched back on automatically for servers upgrading.Config safety
- Config migrations.config.ymlnow carries aconfig-version. Pewpew migrates it on startup, keeps a.bakof the previous version next to it, and logs exactly what it changed. - Typos are reported. Unknown fields in an item file used to be ignored in silence.spred: 2.0orbulletcount: 8now logs a warning naming the item, the file and the field. The item still loads.Item files
Newadvanced:section inconfig.yml, all options off by default: - `extends: <id>` copies another item's fields, then applies its own on top. The parent can live in any file initems/, so your own files can build on the bundled weapons, and chains work. - `abstract: true` makes an entry a template only: never registered, never given, and it needs nonameoritemModel. - `ammo-stats` turns on the ammo stats below.Shooting
- Spray patterns. Give a gun a fixedpatternof[horizontal, vertical]steps and recoil becomes something players can learn and pull against instead of a dice roll.patternLoopandpatternResetcontrol what happens past the end of the pattern and how long a pause resets it. - Movement accuracy.spreadModifiersscales spread by what the shooter is doing:sprinting,walking,sneaking,standing, plusmidairandinWateron top. - Bloom.bloomPerShot,bloomMaxandbloomDecaywiden the cone while you hold the trigger and close it again when you stop. - Ammo stats. Ammo items can carrydamageMultiplier,velocityMultiplierandpenetration(entities a shot passes through). Ammo multiplies the gun's numbers, it never replaces them, sobaseDamageanddamageTypestay in charge. A gun remembers which ammo was loaded into it. - `damageType` per gun. Defaults tominecraft:arrowas before. Setminecraft:genericfor damage that ignores armor and Protection, so your configured numbers land exactly. - `burstDelay` is configurable instead of a fixed 2 ticks. - Multiple fire and hit sounds per weapon. - Decimal fire rates, so a gun can fire faster than once per tick.Fixed
- Bullet spread was not a cone. It rotated around the world axes, giving a square spread that shrank as you looked up or down. It is now a true cone ofspreaddegrees in every direction. Upgrading servers keep the old maths viacompatibility.legacy-spread; turn it off and retunespreadwhen you are ready. - Two memory leaks: hit tracking and per-player shooting state grew forever. Quitting now also cancels in-flight reload and autofire tasks. - The OpenMinetopia hook silently allowed weapon use if its reflection broke. It now logs once and blocks until fixed or disabled. - Legacy§colour codes are stripped from messages instead of reaching chat.Permissions
- All command permissions are declared, with apewpew.*parent. - `pewpew.use.<id>` per item, defaulting to allowed. Negate it (-pewpew.use.awm) to stop a group shooting, throwing, or attaching to that item.Developer API and Skript
- Five new events: kill, reload complete, scope, attachment, and hit block. Scope and attachment are cancellable; the kill event lets you rewrite the death message. - Skript grows to 11 events, 9 expressions and 6 conditions, includingpewpew ammoandpewpew bloom(both writable),pewpew attachment id,pewpew death message, and conditions likeplayer is scoped inorthe pewpew hit was a headshot. - Skript is documented for the first time, inassets/docs/skript.md.Integrations
- OpenMinetopia: blocks weapon use while handcuffed and in configured cities or worlds.Internal
- JUnit tests (31) covering migrations, spread geometry,extendsresolution and recoil patterns, plus a GitHub Actions build. --devbuilds publish to the snapshots repository instead of releases.26.1.0Pewpew 26.1.0Jul 29, 2026 Fixed
- Recoil no longer spins your camera while moving. Rotation is now sent as a relative delta, so it composes with your own mouse input instead of fighting the client's rotation over the network. This was the cause of the violent camera swinging when strafing and firing at the same time. - `selfKnockback` now fires on every shot instead of only on a hit. Guns with a self shove launch you when you shoot at open air, and multi pellet guns shove you once per shot instead of once per connecting pellet. - Recoil controllers no longer leak when a profile is configured with partial recovery; the recoil task now correctly shuts down when nobody is firing.Added
- Per gun recoil profiles. New optionalrecoilProfileblock on any gun, with ten tunables:verticalMean,verticalVariance,horizontalMean,horizontalVariance,smoothing,damping,recovery,recoveryPenalty,speedandmaxAccumulation. Every gun used to share one hardcoded feel; now an AK can drift right while an M4 stays flat. Seeassets/docs/guns.md. - `recoveryPenalty` the share of each kick the camera never gives back, so sustained fire walks your aim up the screen.0.0is full recovery. - SethorizontalMeanandhorizontalVarianceto0for pure vertical recoil.Changed
- Default weapon configs rewritten. 27 guns across sidearms, SMGs, assault rifles, precision rifles, shotguns, support and launchers, plus a fun tier. Fire rates map to real cyclic rates, magazines and calibers match the real weapons, and each platform has its own recoil character. - Ammo configs rewritten. 19 items covering every caliber the guns use, including boxed rounds, spare magazines and a 100 round linked belt. -speedin a recoil profile now behaves as a timing factor that converges on the correct total rotation, rather than permanently scaling every movement.Notes for existing setups
- Guns without arecoilProfilekeep their previous behavior the block is optional and its defaults match the old hardcoded values. - The rewrittenguns.ymlandammo.ymlrenamed several ammo ids andammoTypetags. If you edited these files, your copies are untouched; if you want the new defaults, back yours up first.26.0.7Pewpew 26.0.7Jul 26, 2026 Additions - Guns with firingMode: projectile can now be explosive. Add an explosive: block for a rocket launcher that detonates on impact (blastRadius, explosionDamage, explosionKnockback), with optional block damage and terrain rebuild. - Added grenade launchers via payload: <throwable_id> the round flies as that throwable's model and inherits its fuse and effect (explosion, smoke, flash, poison, fire). - Added projectileModel to change how a bullet looks in flight (e.g. minecraft:fire_charge), and trajectory: FLAT|ARC to control projectile drop. - Added the PewpewGunExplodeEvent API and matching on pewpew gun explode: Skript event, with editable pewpew damage.26.0.6Pewpew 26.0.6Jul 11, 2026 Swapped NMS internals for the standard Paper API, so PewPew runs across a wider range of server versions instead of being locked to one build.26.0.5Pewpew 26.0.5Jul 9, 2026 Fixes
- Fixed a startup crash (NoClassDefFoundError) caused by the bStats metrics referencing Skript's shaded class instead of the bundled one. ### Improvements - The update notifier now links to Modrinth, and the download URL is a clickable link in chat.26.0.4Pewpew 26.0.4Jul 8, 2026 New - Per-gun knockback - guns can push the victim away (knockback) and shove the shooter back (selfKnockback). Both default to 0, so existing guns are unchanged. - Tunable throwables - explosion damage/knockback, effect duration/amplifier, and fire duration are now per-item config (explosionDamage, explosionKnockback, effectDuration, effectAmplifier, fireTicks). Omit them and throwables behave exactly as before. - Customizable messages - all player-facing text moved to messages.yml (MiniMessage), with built-in fallbacks for missing keys. - WorldGuard support (optional) - registers a pewpew-guns region flag (default allow); deny it to block guns and throwables in a region. Enforced per shot, so full-auto stops on entering a protected area. No effect if WorldGuard isn't installed. - CombatTagPlus support (optional) - combat-tags shooter and victim on a gun hit. No effect if CombatTagPlus isn't installed. Notes Both integrations are optional soft-depends, toggleable in config.yml (integrations.worldguard.enabled, integrations.combattagplus.enabled). config.yml gains the integrations block automatically on upgrade; messages.yml is generated on first run26.0.4-betaPewpew 26.0.4-betaJul 7, 2026 New Per-gun knockback - guns can push the victim away (knockback) and shove the shooter back (selfKnockback). Both default to 0, so existing guns are unchanged. Tunable throwables - explosion damage/knockback, effect duration/amplifier, and fire duration are now per-item config (explosionDamage, explosionKnockback, effectDuration, effectAmplifier, fireTicks). Omit them and throwables behave exactly as before. Customizable messages - all player-facing text moved to messages.yml (MiniMessage), with built-in fallbacks for missing keys. WorldGuard support (optional) -registers a pewpew-guns region flag (default allow); deny it to block guns and throwables in a region. Enforced per shot, so full-auto stops on entering a protected area. No effect if WorldGuard isn't installed. CombatTagPlus support (optional) - combat-tags shooter and victim on a gun hit. No effect if CombatTagPlus isn't installed. Notes Both integrations are optional soft-depends, toggleable in config.yml (integrations.worldguard.enabled, integrations.combattagplus.enabled). config.yml gains the integrations block automatically on upgrade; messages.yml is generated on first run26.0.3Pewpew 26.0.3Jun 21, 2026 ### New - Update checker — plugin now checks GitHub for newer releases on startup and notifies players withpewpew.update.notifyon join. - Locked attachments — attachments can be locked, preventing removal/swapping. - Dummy shield blocking — dummies now support shield blocking. ### Improved - Recoil — reworked recoil behaviour for better feel. ### Fixed - Module loading reflection that prevented modules from loading correctly.26.0.2Pewpew 26.0.2Jun 15, 2026 Added - Skript hooks: shoot/hit/reload/throw/detonate events, give-item & force-reload effects, item-id/damage/victim expressions - Public combat event API (cancellable shoot/hit/reload/throw/detonate) Fixed - Modules not loading under Paper plugin loader (explicit registration instead of classpath scan) - Plugin failing to load on Java 21 servers26.0.1Pewpew 26.0.1Jun 14, 2026 YAML-driven gun plugin. First release. Added - Guns: hitscan/projectile, semi & full-auto, burst, spread, recoil, bullet drop, buckshot - Ammo & reloads (magazine + shell-by-shell), bolt/pump action, ammo durability bar - Headshots, crits, damage falloff, shield disable, on-hit potion effects, custom death messages - Attachments (scope/barrel/grip/magazine) with shift-click bench GUI - Per-weapon particles & sounds (incl. custom resource-pack sounds) - /dummy damage tester with armor editor
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
ItemSwapper
Inventory update concept for hotswapping items.
2.1MSueta
PacketEvents
PacketEvents is a protocol library tailored to Minecraft Java Edition, designed to facilitate the processing and transmission of packets.
829.2KSueta
Grim Anticheat
Fully async, multithreaded, predictive, open source, 3.01 reach, 1.005 timer, 0.01% speed, 99.99% antikb, "bypassable" 1.8-1.21 anticheat
823.4KSueta
Orbital Strike Cannon
This datapack/mod/plugin adds an Orbital Strike Cannon like wemmbu!
791KSueta