LegacyShell WikiLegacyShell Wiki
Back to LegacyShell
Home
Wiki
Plugins
Docs
Back to LegacyShell
Home
Wiki
Plugins
Docs
  • Plugins

    • Plugin Docs

      • Default

        • Crackshot
        • Auto Restart Notifications
        • Auto Shop Notifications
        • Burnt Block Sets
        • Christmas Event
        • DeadInternet
        • FancyGraphics
        • Health Pack Item
        • Item ToolTips
        • LegacyAdmin
        • LegacyAnalytics
        • LegacySettings
        • LegacyShellCore
        • LegacyThemes
        • LegacyWeather
        • Modern Map Blocks
        • Modern Shell Guns
        • Modern Shell Hats
        • Modern Shell Stamps
        • Minerva
        • ParkourMode
        • Player Count Notifications
        • TimeMachine
        • Vaporwave Map Blocks
        • WhatsAppTheme
        • Zaxonius Custom Guns
      • Examples

        • Modern Shell Maps
    • List of plugins

Canonical source: plugins_default/modernshellguns/README.md - edit that file, not this page (this page is built live from it, nothing here is a tracked copy).

Modern Shell Guns

Re-adds newer (post-0.17.0) Shell Shockers gun models and their items, alongside the legacy 0.17.0-era weapons rather than replacing them.

What it actually does

  • Adds its models additively (overwrite: false, like Modern Map Blocks), but with an extra step on prepareBabylonExtra: it renames the modern gun meshes (gun_eggk47 -> gun_eggk47_modern, and similarly for dozenGauge/csg1/rpegg/cluck9mm) specifically to avoid colliding with the legacy meshes of the same name that LegacyShell's base game already defines.
  • Forces a full items-table reseed on every boot: services:initTablesStart drops the entire items table (DROP TABLE IF EXISTS items) and re-runs recs.initDB, before initTablesBefore inserts this plugin's own items. This is a deliberate, real use of the sequencing described in Services Internals - normally initTablesBefore only ever fires once, on a database that happens to be completely empty; this plugin sidesteps that by making the table empty again on every single boot, guaranteeing its own items are always present without a manual database wipe.

Notes

That reseed strategy is aggressive - it wipes and rebuilds the entire items table (not just this plugin's own rows) on every boot the plugin is active. If you're combining this with other item-adding plugins, check they insert via initTablesBefore/initTables (not something that assumes a stable table across restarts) so they still get reseeded correctly on the boot after this plugin's drop.


This page was drafted with AI assistance and reviewed for accuracy. If something looks wrong, please open a PR or flag it.

Prev
Modern Map Blocks
Next
Modern Shell Hats