{"id":28920900,"url":"https://github.com/staticpast/modemanager","last_synced_at":"2026-05-21T09:35:41.567Z","repository":{"id":280279568,"uuid":"941496776","full_name":"Staticpast/ModeManager","owner":"Staticpast","description":"A Minecraft Spigot plugin that allows players to switch between survival and creative modes while maintaining separate inventories and preventing cross-mode item transfers.","archived":false,"fork":false,"pushed_at":"2025-12-27T04:10:49.000Z","size":91,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-28T20:08:50.851Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Staticpast.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-02T12:42:35.000Z","updated_at":"2025-12-27T04:10:53.000Z","dependencies_parsed_at":"2025-05-13T09:38:45.164Z","dependency_job_id":null,"html_url":"https://github.com/Staticpast/ModeManager","commit_stats":null,"previous_names":["mckenziejdan/modemanager","staticpast/modemanager"],"tags_count":8,"template":false,"template_full_name":"McKenzieJDan/MinecraftPluginTemplate","purl":"pkg:github/Staticpast/ModeManager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Staticpast%2FModeManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Staticpast%2FModeManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Staticpast%2FModeManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Staticpast%2FModeManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Staticpast","download_url":"https://codeload.github.com/Staticpast/ModeManager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Staticpast%2FModeManager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33295798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T02:57:32.698Z","status":"ssl_error","status_checked_at":"2026-05-21T02:57:31.990Z","response_time":62,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-22T05:09:32.519Z","updated_at":"2026-05-21T09:35:41.562Z","avatar_url":"https://github.com/Staticpast.png","language":"Java","funding_links":["https://www.paypal.com/paypalme/mckenzio"],"categories":[],"sub_categories":[],"readme":"# ModeManager\n\nA Minecraft Spigot plugin that lets players switch between Survival and Creative modes with separate inventories. Items, blocks, and drops are kept mode-specific.\n\n[![Java](https://img.shields.io/badge/Java-21-red.svg)](https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html)\n[![Minecraft](https://img.shields.io/badge/Minecraft-1.21.11-green.svg)](https://www.minecraft.net/)\n[![SpigotMC](https://img.shields.io/badge/SpigotMC-ModeManager-orange)](https://www.spigotmc.org/resources/modemanager.122976/)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.com/paypalme/mckenzio)\n\n## Features\n\n* 🔄 Switch between Survival and Creative modes with `/mode`\n* 🎒 Separate inventories for each mode\n* 🛡️ Items can't move between modes\n* 🏗️ Creative-built blocks are mine-protected in Survival\n* 🚫 Creative mode drops no items on mode switch\n* 👮 Admin tools to monitor and manage player mode usage\n\n## Installation\n\n1. Download the latest release from [Spigot](https://www.spigotmc.org/resources/modemanager.122976/) or [GitHub Releases](https://github.com/McKenzieJDan/ModeManager/releases)\n2. Place the JAR file in your server's `plugins` folder\n3. Restart your server\n4. Configure the plugin in the `config.yml` file\n\n## Usage\n\nModeManager allows players to switch between game modes with simple commands. The plugin automatically manages inventories and block protection when switching modes.\n\n### Commands\n\n#### Player Commands\n* `/mode survival` - Switch to Survival mode\n* `/mode creative` - Switch to Creative mode\n* `/mode status` - View your current mode and playtime statistics\n\n#### Admin Commands\n* `/mode admin list` - List all players and their current modes\n* `/mode admin check \u003cplayer\u003e` - View a player's mode history\n* `/mode admin force \u003cplayer\u003e \u003cmode\u003e [reason]` - Force a player to a specific mode\n* `/mode reload` - Reload plugin configuration\n* `/mode debug` - Toggle debug mode\n* `/mode update` - Receive update notifications\n\n### Permissions\n\n#### Core Permissions\n* `modemanager.use` - Use mode switching (default: all players)\n* `modemanager.creative` - Access Creative mode (default: ops only)\n\n#### Admin Permissions\n* `modemanager.admin` - Access all admin commands (default: ops only)\n* `modemanager.admin.list` - View all players' modes (default: ops only)\n* `modemanager.admin.check` - Check a player's history (default: ops only)\n* `modemanager.admin.force` - Force mode changes (default: ops only)\n* `modemanager.reload` - Reload configuration (default: ops only)\n* `modemanager.debug` - Toggle debug mode (default: ops only)\n* `modemanager.update` - Receive update notifications (default: ops only)\n* `modemanager.bypass.itemrestrictions` - Bypass item restrictions in Creative mode (default: ops only)\n* `modemanager.bypass.containerplacement` - Bypass container placement restrictions (default: ops only)\n* `modemanager.bypass.containerinteraction` - Bypass container interaction restrictions in Creative mode (default: ops only)\n* `modemanager.bypass.mobspawning` - Bypass mob spawning restrictions in Creative mode (default: ops only)\n\n## Configuration\n\nThe plugin's configuration file (`config.yml`) is organized into logical sections:\n\n```yaml\n# General settings\nenabled: true\n\n# Mode switching settings\nmode-switching:\n  cooldown-seconds: 30\n  broadcast-changes: false\n  default-mode: SURVIVAL\n  \n# Protection settings\nprotection:\n  track-creative-blocks: true\n  track-creative-item-frames: true\n  prevent-creative-drops: true\n  prevent-ender-chest-transfers: true\n  prevent-creative-container-placement: true\n  prevent-creative-container-taking: true\n  prevent-creative-container-blocks: true\n  prevent-creative-mob-spawning: true\n  \n  # Restricted items in creative mode\n  restrict-creative-items:\n    enabled: true\n    restricted-items:\n      - LAVA_BUCKET\n      - WATER_BUCKET\n      - BUCKET\n      - FLINT_AND_STEEL\n      - TNT\n      # And more...\n  \n# Inventory management\ninventories:\n  save-armor-contents: true\n  save-offhand-items: true\n  separate-ender-chest: true\n  clear-on-creative: true\n```\n\nFor detailed configuration options, see the comments in the generated config.yml file.\n\n## Developer API\n\nModeManager provides an API for other plugins to interact with its functionality. To use the API, you need to get the API instance from the services manager:\n\n```java\n// Get the API from the services manager\nRegisteredServiceProvider\u003cModeManagerAPI\u003e provider = \n    Bukkit.getServicesManager().getRegistration(ModeManagerAPI.class);\n    \nif (provider != null) {\n    ModeManagerAPI api = provider.getProvider();\n    \n    // Now you can use the API methods\n    if (api.isPluginEnabled()) {\n        // Check a player's mode\n        GameMode mode = api.getPlayerMode(player);\n        \n        // Change a player's mode\n        api.changePlayerMode(player, GameMode.CREATIVE, \"API call from MyPlugin\");\n        \n        // Check if a block was placed in creative mode\n        boolean isCreative = api.isCreativeBlock(location);\n        \n        // Get a player's mode history\n        List\u003cModeChangeRecord\u003e history = api.getPlayerModeHistory(player);\n    }\n}\n```\n\n### Available API Methods\n\n* `isPluginEnabled()` - Check if the plugin is enabled\n* `registerEvents(Plugin, Listener)` - Register a listener for plugin events\n* `getPlayerMode(Player)` - Get a player's current mode\n* `getPlayerMode(UUID)` - Get a player's current mode by UUID\n* `changePlayerMode(Player, GameMode, String)` - Change a player's mode\n* `isPlayerInCooldown(Player)` - Check if a player is in cooldown\n* `getPlayerRemainingCooldown(Player)` - Get a player's remaining cooldown time\n* `isCreativeBlock(Location)` - Check if a block was placed in creative mode\n* `getCreativeBlockPlacer(Location)` - Get who placed a creative block\n* `isCreativeItemFrame(ItemFrame)` - Check if an item frame was placed in creative mode\n* `getCreativeItemFramePlacer(ItemFrame)` - Get who placed an item in an item frame in creative mode\n* `getPlayerModeHistory(Player)` - Get a player's mode history\n\n\n## Requirements\n\n- Spigot/Paper 1.21.6+\n- Java 21+\n\n## Used By\n\n[SuegoFaults](https://suegofaults.com) - A curated adult Minecraft community where ModeManager ensures creative freedom and survival integrity stay perfectly balanced.\n\n\n## Support\n\nIf you find this plugin helpful, consider [buying me a coffee](https://www.paypal.com/paypalme/mckenzio) ☕\n\n## License\n\n[MIT License](LICENSE)\n\nMade with ❤️ by [McKenzieJDan](https://github.com/McKenzieJDan)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstaticpast%2Fmodemanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstaticpast%2Fmodemanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstaticpast%2Fmodemanager/lists"}