promotional bannermobile promotional banner

ModularShoot

an attribute-driven, modularly-assembled gun system.
Back to Files

modularshoot-0.2.0.jar

File namemodularshoot-0.2.0.jar
Uploader
YanbweYanbwe
Uploaded
Aug 16, 2026
Downloads
23
Size
702.6 KB
Mod Loaders
NeoForge
File ID
8660937
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:modularshoot-1643092:8660937"

Learn more about Curse Maven

What's new

Breaking Changes

  • Removed 5 deprecated ModularShootAPI overloads: the explicit RegistryAccess uninstall overloads and the non-refreshing setPluginLocked have been removed. Use the recommended player-derived overloads, or call PluginUninstallService / PluginLockService directly.
  • Removed BulletManager#fireBullet: use ModularShootAPI.fireBullet or the new CreationCoordinator for standalone firing.
  • Network protocol bumped to 3: 0.2.0 is not interoperable with older clients/servers; both sides must update together.

Performance

  • Cached registry lookups everywhere: hot paths no longer re-resolve gun/plugin/state definitions repeatedly, speeding up shooting, install/uninstall and tooltips.
  • Much lighter bullet sync: spatial indexing, position quantization and distance-based downsampling, plus content-addressed full sync and gun-state diffs, cut bandwidth and CPU on populated servers.
  • Faster state handling: same-value writes short-circuit, fast NBT codec paths, and player-state throttling reduce copies and sync traffic for high-frequency states.
  • Leaner rendering and tooltips: per-frame tooltip caching, reverse indexes, cached texture-key hashes, lazy outline masks and render-object reuse lower per-frame cost.
  • Faster reloads: shared registry snapshots and cached modifier results prevent repeated full-table recomputation on large packs.
  • Batched broadcasts: hit and firing-animation updates are merged per tick, reducing packet counts and player scans.

Architecture

  • One-way public API: item recognition moved into an internal utility; internal services no longer depend on the facade.
  • Cleaner client/server split: client payload handling moved into the client package; common code no longer imports Minecraft client classes.
  • Clearer responsibilities: the bullet manager was split into storage, creation and network-marking layers; the fire-rate formula is now a single shared source of truth.

Robustness

  • Added empty-handler short-circuits, throttled error logging, defensive packet decoding, no-op state-clear short-circuits and cache lifecycle cleanup.

This mod has no additional files