Sueta

Pewpew

26.1.5

A Simple Minecraft Gun Plugin.

·Plugin
  1. 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.
    391 downloads
  2. 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.yml now carries a config-version. Pewpew migrates it on startup, keeps a .bak of 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.0 or bulletcount: 8 now logs a warning naming the item, the file and the field. The item still loads.
    Item files
    New advanced: section in config.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 in items/, 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 no name or itemModel. - `ammo-stats` turns on the ammo stats below.
    Shooting
    - Spray patterns. Give a gun a fixed pattern of [horizontal, vertical] steps and recoil becomes something players can learn and pull against instead of a dice roll. patternLoop and patternReset control what happens past the end of the pattern and how long a pause resets it. - Movement accuracy. spreadModifiers scales spread by what the shooter is doing: sprinting, walking, sneaking, standing, plus midair and inWater on top. - Bloom. bloomPerShot, bloomMax and bloomDecay widen the cone while you hold the trigger and close it again when you stop. - Ammo stats. Ammo items can carry damageMultiplier, velocityMultiplier and penetration (entities a shot passes through). Ammo multiplies the gun's numbers, it never replaces them, so baseDamage and damageType stay in charge. A gun remembers which ammo was loaded into it. - `damageType` per gun. Defaults to minecraft:arrow as before. Set minecraft:generic for 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 of spread degrees in every direction. Upgrading servers keep the old maths via compatibility.legacy-spread; turn it off and retune spread when 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 a pewpew.* 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, including pewpew ammo and pewpew bloom (both writable), pewpew attachment id, pewpew death message, and conditions like player is scoped in or the pewpew hit was a headshot. - Skript is documented for the first time, in assets/docs/skript.md.
    Integrations
    - OpenMinetopia: blocks weapon use while handcuffed and in configured cities or worlds.
    Internal
    - JUnit tests (31) covering migrations, spread geometry, extends resolution and recoil patterns, plus a GitHub Actions build. - -dev builds publish to the snapshots repository instead of releases.
    383 downloads
  3. 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 optional recoilProfile block on any gun, with ten tunables: verticalMean, verticalVariance, horizontalMean, horizontalVariance, smoothing, damping, recovery, recoveryPenalty, speed and maxAccumulation. Every gun used to share one hardcoded feel; now an AK can drift right while an M4 stays flat. See assets/docs/guns.md. - `recoveryPenalty` the share of each kick the camera never gives back, so sustained fire walks your aim up the screen. 0.0 is full recovery. - Set horizontalMean and horizontalVariance to 0 for 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. - speed in 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 a recoilProfile keep their previous behavior the block is optional and its defaults match the old hardcoded values. - The rewritten guns.yml and ammo.yml renamed several ammo ids and ammoType tags. If you edited these files, your copies are untouched; if you want the new defaults, back yours up first.
    256 downloads
  4. 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.
    38 downloads
  5. 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.
    110 downloads
  6. 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.
    14 downloads
  7. 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 run
    13 downloads
  8. 26.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 run
    10 downloads
  9. 26.0.3Pewpew 26.0.3Jun 21, 2026
    ### New - Update checker — plugin now checks GitHub for newer releases on startup and notifies players with pewpew.update.notify on 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.
    18 downloads
  10. 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 servers
    13 downloads
  11. 26.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
    17 downloads

Similar projects

Plugin →