Перейти к содержимому
Mineforgian

Pewpew

A Simple Minecraft Gun Plugin.

Загрузки
407
Подписчики
2
Обновлён
19 августа 2026 г.
Лицензия
PolyForm-Noncommercial-1.0.0

Опубликован 14 июня 2026 г.

Name + Logo

A fully data driven gun plugin for Paper. Build guns, shotguns, snipers, SMGs, throwables, and attachments entirely in YAML, with no code and no resource pack required. Every weapon is a normal item identified by persistent data, so guns drop, trade, and stack like anything else.

Pewpew brings CrackShot-style depth to the modern Paper API: real ballistics, recoil, attachments, ammo, and per weapon sounds and effects, all configurable.

Features

Shooting

  • Hitscan and projectile firing modes
  • Semi-auto and full-auto (hold to fire at the weapon's true fire rate)
  • Burst fire, spread cones, and camera recoil that climbs as you shoot
  • Bullet drop (ballistic arc for hitscan, gravity for projectiles)
  • Multi-pellet buckshot, each pellet independently spread

Ammo & Reloading

  • Inventory-fed ammo by type, or free-reloading magazines
  • Magazine and shell-by-shell reload styles
  • Bolt/pump firearm action with cycle sounds
  • Live ammo count shown as the item's durability bar

Combat Depth

  • Headshot multipliers with a hitmarker ping
  • Critical hits (chance plus multiplier, stacks with headshots)
  • Damage falloff over distance
  • Shield disable, applying the axe effect to blocking players
  • On-hit potion effects for victim and shooter
  • Custom per-weapon death messages
  • Real projectile damage, so Projectile Protection, knockback, and kill credit all work

Attachments

  • Scopes with aim-down-sights zoom that steadies the weapon
  • Barrels with damage and range modifiers
  • Grips with recoil reduction
  • Magazines with capacity and reload-speed modifiers
  • Fitted in a clean shift-click bench GUI, with stats rendered automatically on the item

Presentation

  • Per-weapon trail and impact particles
  • Configurable fire and hit sounds with volume and pitch, including custom resource-pack sounds
  • Throwables: explosion, smoke, flash, poison, incendiary

Tooling

  • /dummy damage-test target showing per-hit and total damage. Shift-right-click it to fit armor and shields.

Configuration

Items live in plugins/Pewpew/items/ (guns.yml, ammo.yml, attachments.yml, throwables.yml). Defaults are generated on first run. Edit, then run /pewpew reload.

ak47:
  type: GUN
  name: "<gray>AK-47"
  itemModel: "minecraft:iron_horse_armor"
  baseDamage: 8.5
  fireRate: 4
  maxAmmo: 30
  ammoType: rifle_round
  consumesAmmo: true
  automatic: true
  firingMode: PROJECTILE
  projectileSpeed: 3.5
  range: 64.0
  spread: 2.0
  recoil: 1.2
  headshotMultiplier: 1.5
  allowedAttachmentSlots: [ SCOPE, BARREL, GRIP, MAGAZINE ]

A full field reference is included in the docs on GitHub.

bStats

Ченджлог

26.1.1Релиз26.1.1, 26.1.2, 26.2 · 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.
26.1.0Релиз26.1.1, 26.1.2, 26.2 · 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.
26.0.7Бета26.1.1, 26.1.2, 26.2 · 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: 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.6Бета26.1.1, 26.1.2, 26.2 · 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.5Бета1.21.11 · 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.4Бета1.21.11 · 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

26.0.4-betaАльфа1.21.11 · 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

26.0.3Бета1.21.11 · 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.

Комментарии

Загружаем…