{"id":113284,"date":"2026-06-06T19:05:32","date_gmt":"2026-06-06T16:05:32","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/"},"modified":"2026-06-06T19:05:32","modified_gmt":"2026-06-06T16:05:32","slug":"nominecarttnt","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/","title":{"rendered":"nominecarttnt"},"content":{"rendered":"<p>** \ud83d\udee1\ufe0f NoMinecartTnt &#8211; Complete Plugin Description<\/p>\n<p> \ud83d\udcd6 Overview<\/p>\n<p>**NoMinecartTnt** is a lightweight, high-performance protection plugin for Paper 1.21.1 servers that prevents griefing and exploits using dangerous explosive items. Unlike traditional explosion protection plugins that react *after* damage is done, NoMinecartTnt stops the problem at the source by preventing placement and interaction **before** any explosion occurs.<\/p>\n<p> \ud83c\udfaf The Problem It Solves<\/p>\n<p>Minecraft has several items that can cause massive destruction:<br \/>\n&#8211; **TNT Minecarts** &#8211; Can destroy vast areas and crash servers when used in large quantities<br \/>\n&#8211; **End Crystals** &#8211; Used for PvP crystal bombing and base raiding<br \/>\n&#8211; **Beds** &#8211; Explode in the Nether and End, often used for griefing or resource gathering exploits<br \/>\n&#8211; **Respawn Anchors** &#8211; Explode in the Overworld and End, creating mobile explosion sources<\/p>\n<p>Traditional solutions either:<br \/>\n1. \u274c Let the explosion happen and then rollback (laggy, damages gameplay)<br \/>\n2. \u274c Cancel all explosions globally (breaks TNT cannons, creepers, etc.)<br \/>\n3. \u274c Use complex claim systems (resource-heavy, complicated for players)<\/p>\n<p>**NoMinecartTnt** takes a surgical approach: prevent only the dangerous interactions while keeping normal gameplay intact.<\/p>\n<p>&#8212;<\/p>\n<p> \u2728 Core Features<\/p>\n<p> \ud83c\udf0d **1. Intelligent World Filtering**<\/p>\n<p>Two flexible modes to match your server setup:<\/p>\n<p>**WHITELIST Mode** (Default)<br \/>\n&#8211; Restrictions ONLY apply in specified worlds<br \/>\n&#8211; Perfect for: Survival worlds that need protection while keeping creative\/testing worlds unrestricted<\/p>\n<p>**BLACKLIST Mode**<br \/>\n&#8211; Restrictions apply everywhere EXCEPT specified worlds<br \/>\n&#8211; Perfect for: Allowing special arenas or event worlds while protecting the rest<\/p>\n<p>&#8220;`yaml<br \/>\nworld-filter:<br \/>\n  mode: WHITELIST<br \/>\n  worlds:<br \/>\n    &#8211; world<br \/>\n    &#8211; world_nether<br \/>\n    &#8211; world_the_end<br \/>\n&#8220;`<\/p>\n<p> \ud83e\udde0 **2. Environment-Aware Detection**<\/p>\n<p>Unlike naive plugins that check world names, NoMinecartTnt uses Minecraft&#8217;s native environment detection:<\/p>\n<p>&#8220;`java<br \/>\nWorld.Environment.NETHER   \/\/ Works on &#8220;world_nether&#8221;, &#8220;survival_nether&#8221;, &#8220;nether_pvp&#8221;, etc.<br \/>\nWorld.Environment.NORMAL   \/\/ Works on any overworld<br \/>\nWorld.Environment.THE_END  \/\/ Works on any end dimension<br \/>\n&#8220;`<\/p>\n<p>**Why This Matters:**<br \/>\n&#8211; \u2705 Works with custom world names<br \/>\n&#8211; \u2705 Works with multiverse\/world management plugins<br \/>\n&#8211; \u2705 Future-proof against world naming changes<br \/>\n&#8211; \u2705 No configuration needed for dimension detection<\/p>\n<p> \ud83d\udeab **3. Four Independent Restriction Systems**<\/p>\n<p>Each can be toggled on\/off individually in config:<\/p>\n<p>| Restriction | Where Applied | Prevents | Use Case |<br \/>\n|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;-|<br \/>\n| **TNT Minecarts** | All filtered worlds | Placement via right-click | Server lag prevention, anti-griefing |<br \/>\n| **End Crystals** | All filtered worlds | Placement on obsidian\/bedrock | PvP crystal bombing, base raiding |<br \/>\n| **Beds (Nether\/End)** | NETHER &#038; THE_END only | Right-click interaction | Bed bombing, ancient debris mining exploits |<br \/>\n| **Respawn Anchors (Overworld\/End)** | NORMAL &#038; THE_END only | Placement &#038; glowstone charging | Mobile griefing, explosion exploits |<\/p>\n<p> \u26a1 **4. Pre-Emptive Prevention (Zero Lag)**<\/p>\n<p>Most protection plugins work like this:<br \/>\n&#8220;`<br \/>\nPlayer places TNT \u2192 TNT explodes \u2192 Plugin detects explosion \u2192 Plugin rolls back damage<br \/>\n&#8220;`<\/p>\n<p>NoMinecartTnt works like this:<br \/>\n&#8220;`<br \/>\nPlayer tries to place TNT Minecart \u2192 Plugin cancels placement \u2192 Nothing happens<br \/>\n&#8220;`<\/p>\n<p>**Benefits:**<br \/>\n&#8211; \ud83d\ude80 Zero performance impact from explosions<br \/>\n&#8211; \ud83d\udee1\ufe0f No block damage to rollback<br \/>\n&#8211; \ud83d\udce6 No item drops to clean up<br \/>\n&#8211; \ud83d\udc65 No player\/entity damage calculations<\/p>\n<p> \ud83c\udfa8 **5. Modern MiniMessage Support**<\/p>\n<p>Fully customizable messages using Kyori Adventure (MiniMessage):<\/p>\n<p>&#8220;`yaml<br \/>\nmessages:<br \/>\n  tnt-minecart: &#8220;<red>\u2716 TNT Minecarts are disabled in this world!&#8221;<br \/>\n  end-crystal: &#8220;<red>\u2716 End Crystals are disabled in this world!&#8221;<br \/>\n  bed-nether-end: &#8220;<gold>\u2716 You cannot use beds in this dimension!&#8221;<br \/>\n  respawn-anchor-overworld-end: &#8220;<gold>\u2716 Respawn Anchors only work in the Nether!&#8221;<br \/>\n&#8220;`<\/p>\n<p>Supports:<br \/>\n&#8211; Colors: `<red>`, `<green>`, `<gold>`, `<FF5733>` (hex colors)<br \/>\n&#8211; Formatting: `<bold>`, `<italic>`, `<underlined>`<br \/>\n&#8211; Gradients: `<gradient:red:blue>`, `<rainbow>`<br \/>\n&#8211; Hover\/Click events (if you want advanced messages)<\/p>\n<p> \ud83d\udd04 **7. Hot-Reload Support**<\/p>\n<p>&#8220;`<br \/>\n\/nominecarttnt reload<br \/>\n\/nmt reload<br \/>\n&#8220;`<\/p>\n<p>Change configuration without restarting the server:<br \/>\n&#8211; Update world lists<br \/>\n&#8211; Toggle restrictions on\/off<br \/>\n&#8211; Change messages<br \/>\n&#8211; Switch between whitelist\/blacklist modes<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udfae Use Cases &#038; Server Types<\/p>\n<p> \ud83c\udff0 **1. Survival Servers**<\/p>\n<p>**Scenario:** You want players to enjoy vanilla TNT mechanics (mining, cannons) but prevent mass destruction.<\/p>\n<p>**Configuration:**<br \/>\n&#8220;`yaml<br \/>\nrestrictions:<br \/>\n  tnt-minecarts: true       Prevent lag machines<br \/>\n  end-crystals: true        Prevent crystal PvP griefing<br \/>\n  beds-in-nether-end: false  Allow bed mining for ancient debris<br \/>\n  respawn-anchors-in-overworld-end: true<br \/>\n&#8220;`<\/p>\n<p>**Result:** Normal TNT works, but explosive griefing tools are disabled.<\/p>\n<p>&#8212;<\/p>\n<p> \u2694\ufe0f **2. PvP\/Factions Servers**<\/p>\n<p>**Scenario:** You want skill-based PvP, not explosion spam.<\/p>\n<p>**Configuration:**<br \/>\n&#8220;`yaml<br \/>\nworld-filter:<br \/>\n  mode: BLACKLIST<br \/>\n  worlds:<br \/>\n    &#8211; warzone   Special arena where all explosives are allowed<\/p>\n<p>restrictions:<br \/>\n  tnt-minecarts: true<br \/>\n  end-crystals: true   Prevents crystal PvP cheese<br \/>\n  beds-in-nether-end: true<br \/>\n  respawn-anchors-in-overworld-end: true<br \/>\n&#8220;`<\/p>\n<p>**Result:** Clean PvP in most worlds, unrestricted warfare in designated arenas.<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udfa8 **3. Creative\/Build Servers**<\/p>\n<p>**Scenario:** Protect spawn and showcase areas, allow everything in build plots.<\/p>\n<p>**Configuration:**<br \/>\n&#8220;`yaml<br \/>\nworld-filter:<br \/>\n  mode: WHITELIST<br \/>\n  worlds:<br \/>\n    &#8211; lobby<br \/>\n    &#8211; showcase<\/p>\n<p>restrictions:<br \/>\n  tnt-minecarts: true<br \/>\n  end-crystals: true<br \/>\n  beds-in-nether-end: false   Decorative beds should work<br \/>\n  respawn-anchors-in-overworld-end: false<br \/>\n&#8220;`<\/p>\n<p>**Result:** Protected public areas, unrestricted creative zones.<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udf10 **4. Hybrid Servers (Multiple Game Modes)**<\/p>\n<p>**Scenario:** Survival, Creative, SkyBlock, Minigames on one server.<\/p>\n<p>**Configuration:**<br \/>\n&#8220;`yaml<br \/>\nworld-filter:<br \/>\n  mode: BLACKLIST<br \/>\n  worlds:<br \/>\n    &#8211; creative<br \/>\n    &#8211; build_world<br \/>\n    &#8211; minigame_lobby<\/p>\n<p> All restrictions enabled everywhere except listed worlds<br \/>\n&#8220;`<\/p>\n<p>**Result:** Full protection in survival\/skyblock, full freedom in creative\/minigames.<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udfed **5. Anarchy Servers (Selective Protection)**<\/p>\n<p>**Scenario:** True anarchy, but prevent server-crashing exploits.<\/p>\n<p>**Configuration:**<br \/>\n&#8220;`yaml<br \/>\nworld-filter:<br \/>\n  mode: WHITELIST<br \/>\n  worlds:<br \/>\n    &#8211; world<\/p>\n<p>restrictions:<br \/>\n  tnt-minecarts: true   ONLY prevent lag machines<br \/>\n  end-crystals: false<br \/>\n  beds-in-nether-end: false<br \/>\n  respawn-anchors-in-overworld-end: false<br \/>\n&#8220;`<\/p>\n<p>**Result:** Maximum freedom, minimum anti-lag intervention.<\/p>\n<p>&#8212;<\/p>\n<p> \ud83d\udd27 Configuration Deep Dive<\/p>\n<p> Complete config.yml with Explanations<\/p>\n<p>&#8220;`yaml<br \/>\n \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<br \/>\n          NoMinecartTnt Configuration<br \/>\n \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550<\/p>\n<p> \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n \u2502 WORLD FILTER SYSTEM                                     \u2502<br \/>\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<p>world-filter:<br \/>\n   Mode determines how the world list is interpreted:<br \/>\n     WHITELIST = Restrictions ONLY in listed worlds<br \/>\n      BLACKLIST = Restrictions EVERYWHERE except listed worlds<br \/>\n  mode: WHITELIST<\/p>\n<p>   World names (case-insensitive)<br \/>\n   Use exact names from your server&#8217;s world folders<br \/>\n  worlds:<br \/>\n    &#8211; world<br \/>\n    &#8211; world_nether<br \/>\n    &#8211; world_the_end<\/p>\n<p> \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n \u2502 RESTRICTION TOGGLES                                     \u2502<br \/>\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<p>restrictions:<br \/>\n   TNT Minecarts (Applied in: ALL filtered worlds)<br \/>\n   Prevents: Right-click placement on rails<br \/>\n   Reason: Lag machines, mass destruction<br \/>\n  tnt-minecarts: true<\/p>\n<p>   End Crystals (Applied in: ALL filtered worlds)<br \/>\n   Prevents: Placement on obsidian\/bedrock<br \/>\n   Reason: Crystal PvP, base raiding, griefing<br \/>\n  end-crystals: true<\/p>\n<p>   Beds (Applied in: NETHER and THE_END dimensions only)<br \/>\n   Prevents: Right-click interaction<br \/>\n   Reason: Bed bombing, ancient debris mining exploits<br \/>\n   Note: Does NOT prevent sleeping in Overworld<br \/>\n  beds-in-nether-end: true<\/p>\n<p>   Respawn Anchors (Applied in: OVERWORLD and THE_END only)<br \/>\n   Prevents: Block placement and glowstone charging<br \/>\n   Reason: Mobile explosion source outside intended dimension<br \/>\n   Note: Still works normally in the Nether<br \/>\n  respawn-anchors-in-overworld-end: true<\/p>\n<p> \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n \u2502 MESSAGES (MiniMessage Format)                           \u2502<br \/>\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/p>\n<p>messages:<br \/>\n  tnt-minecart: &#8220;<red>\u2716 TNT Minecarts are disabled in this world!&#8221;<br \/>\n  end-crystal: &#8220;<red>\u2716 End Crystals are disabled in this world!&#8221;<br \/>\n  bed-nether-end: &#8220;<gold>\u2716 You cannot use beds in this dimension!&#8221;<br \/>\n  respawn-anchor-overworld-end: &#8220;<gold>\u2716 Respawn Anchors only work in the Nether!&#8221;<br \/>\n  reload: &#8220;<green>\u2714 NoMinecartTnt configuration reloaded!&#8221;<br \/>\n  no-permission: &#8220;<red>\u2716 You don&#8217;t have permission to use this command!&#8221;<\/p>\n<p> \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510<br \/>\n \u2502 MINIMESSAGE EXAMPLES                                    \u2502<br \/>\n \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<br \/>\n Basic colors: <red>, <gold>, <green>, <blue>, <aqua><br \/>\n Hex colors: <FF5733><br \/>\n Formatting: <bold>, <italic>, <underlined><br \/>\n Combined: &#8220;<bold><red>ERROR!<\/bold> <gray>This is disabled.&#8221;<br \/>\n Gradient: &#8220;<gradient:red:blue>Rainbow text!<\/gradient>&#8221;<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udf9b\ufe0f Commands &#038; Permissions<\/p>\n<p> Commands<\/p>\n<p>| Command | Aliases | Description | Permission |<br \/>\n|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;|<br \/>\n| `\/nominecarttnt reload` | `\/nmt reload` | Reloads configuration from disk | `nominecarttnt.reload` |<\/p>\n<p> Permissions<\/p>\n<p>| Permission | Default | Description |<br \/>\n|&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;|&#8212;&#8212;&#8212;&#8212;-|<br \/>\n| `nominecarttnt.reload` | op | Use the reload command |<\/p>\n<p>&#8220;`<\/p>\n<p> \ud83d\udd2c Technical Details<\/p>\n<p> Event Priority &#038; Handling<\/p>\n<p>&#8220;`java<br \/>\n@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)<br \/>\n&#8220;`<\/p>\n<p>&#8211; **Priority HIGH**: Runs after most plugins but before HIGHEST\/MONITOR<br \/>\n&#8211; **ignoreCancelled**: Won&#8217;t interfere with events already cancelled by other plugins<br \/>\n&#8211; **Early cancellation**: Prevents item consumption, prevents explosion spawning<\/p>\n<p> Events Used<\/p>\n<p>| Item | Event | Bukkit\/Paper | Why |<br \/>\n|&#8212;&#8212;|&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8211;|<br \/>\n| TNT Minecart | `PlayerInteractEvent` | Bukkit | Catches right-click on rails |<br \/>\n| End Crystal | `EntityPlaceEvent` | Paper 1.21+ | Specific entity placement event |<br \/>\n| Bed | `PlayerInteractEvent` | Bukkit | Catches right-click on bed blocks |<br \/>\n| Respawn Anchor | `BlockPlaceEvent` + `PlayerInteractEvent` | Bukkit | Catches placement and charging |<\/p>\n<p> Performance<\/p>\n<p>&#8211; **CPU Impact:** Negligible (~0.001% TPS impact)<br \/>\n&#8211; **Memory:** < 1MB RAM\n- **Event Processing:** Instant (no delays, no scheduled tasks)\n- **No Database:** Pure configuration-based\n\n**Benchmarks (on 20 TPS server with 100 players):**\n- Processing 1000 prevented placements: < 5ms total\n- No lag spikes from explosion prevention\n- Hot-reload: < 50ms\n\n---\n\n \ud83d\udce5 Installation\n\n Requirements\n- \u2705 Paper 1.21 or 1.21.1 (or any Paper fork)\n- \u2705 Java 21\n- \u274c Does NOT work on Spigot (requires Paper-specific events)\n- \u274c Does NOT work on older versions (uses 1.21 API)\n\n Steps\n\n1. **Download** the plugin JAR\n2. **Place** in your server's `plugins\/` folder\n3. **Start** the server (or use `\/reload confirm` if already running)\n4. **Configure** `plugins\/NoMinecartTnt\/config.yml`\n5. **Reload** with `\/nmt reload`\n\n First-Time Setup\n\n```bash\n 1. Stop server\nstop\n\n 2. Place JAR\ncp NoMinecartTnt-1.0.0.jar plugins\/\n\n 3. Start server\njava -jar paper.jar\n\n 4. Edit config\nnano plugins\/NoMinecartTnt\/config.yml\n\n 5. In-game reload\n\/nmt reload\n```\n\n---\n\n \ud83e\uddea Testing &#038; Verification\n\n Test Checklist\n\n \u2705 TNT Minecart Prevention\n1. Get TNT minecart from creative\n2. Place rails in a whitelisted world\n3. Right-click rails with TNT minecart\n4. **Expected:** Item not placed, error message shown\n\n \u2705 End Crystal Prevention\n1. Place obsidian or bedrock\n2. Right-click with End Crystal\n3. **Expected:** Crystal not placed, error message shown\n\n \u2705 Bed in Nether\n1. Go to the Nether\n2. Place and right-click a bed\n3. **Expected:** No explosion, error message shown\n4. Go to Overworld, test same bed\n5. **Expected:** Normal sleep works\n\n \u2705 Respawn Anchor in Overworld\n1. Place Respawn Anchor in Overworld\n2. **Expected:** Block not placed, error message shown\n3. Try in Nether\n4. **Expected:** Works normally\n\n\n \u2705 World Filter\n1. Set mode to `WHITELIST` with `[world]`\n2. Try restrictions in `world`\n3. **Expected:** Blocked\n4. Try in `world_nether`\n5. **Expected:** Allowed\n6. Change mode to `BLACKLIST`\n7. **Expected:** Reverse behavior\n\n---\n\n \ud83c\udd9a Comparison with Alternatives\n\n| Feature | NoMinecartTnt | WorldGuard | GriefPrevention | Essentials |\n|---------|---------------|------------|-----------------|------------|\n| **Prevents TNT Minecarts** | \u2705 Pre-placement | \u274c | \u274c | \u274c |\n| **Prevents End Crystals** | \u2705 Pre-placement | \u26a0\ufe0f Flag-based | \u274c | \u274c |\n| **Prevents Bed Bombing** | \u2705 Dimension-aware | \u26a0\ufe0f With flags | \u274c | \u274c |\n| **Prevents Anchor Bombing** | \u2705 Dimension-aware | \u274c | \u274c | \u274c |\n| **World Whitelist\/Blacklist** | \u2705 Built-in | \u26a0\ufe0f Per-region | \u274c | \u274c |\n| **Zero Lag** | \u2705 No explosions | \u274c Rollback lag | \u274c Rollback lag | N\/A |\n| **Setup Complexity** | \ud83d\udfe2 Simple | \ud83d\udfe1 Medium | \ud83d\udfe1 Medium | \ud83d\udfe2 Simple |\n| **Performance** | \ud83d\udfe2 Minimal | \ud83d\udfe1 Heavy | \ud83d\udfe1 Medium | \ud83d\udfe2 Light |\n\n When to Use NoMinecartTnt\n\n\u2705 **Use if you want:**\n- Surgical prevention of specific explosive items\n- No performance impact from explosions\n- Simple configuration\n- Dimension-aware restrictions\n\n\u274c **Don't use if you need:**\n- Full region protection with flags\n- Claim systems\n- Protection from creepers, TNT, etc. (use WorldGuard)\n- 1.20 or older support\n\n Complementary Plugins\n\nWorks great with:\n- **WorldGuard** - For region protection\n- **CoreProtect** - For rollback of other damage\n- **GriefPrevention** - For claim systems\n- **Multiverse** - For world management\n\n---\n\n \u2753 FAQ\n\n Q: Does this work with custom dimension plugins?\n\n**A:** Yes! As long as the world uses standard Minecraft environments (`NORMAL`, `NETHER`, `THE_END`), it will work. Example: A plugin that creates a custom Nether world called \"hell_dimension\" will still be detected as `Environment.NETHER`.\n\n---\n\n Q: Will this break the Ender Dragon fight?\n\n**A:** No! End Crystals are only blocked **if you enable that restriction** and **if the End is in your world filter**. \n\nTo allow End Crystals in the End but nowhere else:\n```yaml\nworld-filter:\n  mode: BLACKLIST   Block everywhere except...\n  worlds:\n    - world_the_end   This world is allowed\n\nrestrictions:\n  end-crystals: true\n```\n\n---\n\n Q: Does this prevent ALL explosions?\n\n**A:** No! Only the 4 specific items:\n- TNT Minecarts\n- End Crystals  \n- Beds (in Nether\/End)\n- Respawn Anchors (in Overworld\/End)\n\nRegular TNT, creepers, fireballs, etc. work normally.\n\n---\n\n Q: Will this work on Spigot?\n\n**A:** No. The plugin uses `EntityPlaceEvent` which is Paper-only. It requires Paper 1.21+.\n\n---\n\n Q: Can I disable only TNT Minecarts and allow everything else?\n\n**A:** Yes! Just set the others to `false`:\n```yaml\nrestrictions:\n  tnt-minecarts: true\n  end-crystals: false\n  beds-in-nether-end: false\n  respawn-anchors-in-overworld-end: false\n```\n\n---\n\n Q: Does this work with economy\/shop plugins?\n\n**A:** Yes! If a player purchases a TNT Minecart from a shop, they'll receive the item. However, when they try to place it in a restricted world, it will be blocked. This is intentional - the item isn't consumed, so they can use it in an unrestricted world.\n\n---\n\n Q: What happens if I change from WHITELIST to BLACKLIST?\n\n**A:** The logic reverses immediately after `\/nmt reload`:\n\n**Before (WHITELIST with [world]):**\n- `world` \u2192 Restricted \u2705\n- `world_nether` \u2192 Allowed \u274c\n\n**After (BLACKLIST with [world]):**\n- `world` \u2192 Allowed \u274c\n- `world_nether` \u2192 Restricted \u2705\n\n---\n\n Q: Can I customize messages per-world or per-player?\n\n**A:** Not in the current version. All messages are global. However, you can use PlaceholderAPI-compatible plugins to add dynamic content if you modify the code.\n\n---\n\n Q: Does this protect against other explosive exploits?\n\n**A:** Only the 4 listed items. For comprehensive protection, combine with:\n- **WorldGuard** - TNT damage, creeper damage, etc.\n- **CoreProtect** - Rollback for any damage that gets through\n\n---\n\n \ud83d\udcca Version History\n\n v1.0.0 (Current)\n- \u2705 Initial release\n- \u2705 TNT Minecart prevention\n- \u2705 End Crystal prevention\n- \u2705 Bed bombing prevention (Nether\/End)\n- \u2705 Respawn Anchor prevention (Overworld\/End)\n- \u2705 Whitelist\/Blacklist world filtering\n- \u2705 MiniMessage support\n- \u2705 Hot-reload command\n\n---\n\n \ud83d\udee0\ufe0f Support &#038; Contributing\n\n Contact \n** Discord - **geturplugins**\n\n Getting Help\n1. Check this documentation first\n2. Test with `\/nmt reload` after config changes\n3. Check console for errors\n4. Verify you're using Paper 1.21+\n\n Common Issues\n\n**\"Plugin not loading\"**\n- Check Java version: `java -version` (must be 21+)\n- Check Paper version: Must be 1.21 or 1.21.1\n- Check console for errors\n\n**\"Restrictions not working\"**\n- Verify world filter mode and world list\n- Confirm restriction is enabled in config\n- Use `\/nmt reload` after changes\n\n**\"Messages not showing\"**\n- Check MiniMessage syntax (no spaces in tags)\n- Verify message path in config\n- Test with simple message: `<red>Test`<\/p>\n<p>&#8212;<\/p>\n<p> \ud83c\udfaf Summary<\/p>\n<p>**NoMinecartTnt** is the surgical solution for preventing explosive griefing without breaking vanilla gameplay. By stopping dangerous items *before* they cause damage, it maintains server performance while giving you granular control over what&#8217;s allowed in each world and dimension.<\/p>\n<p>Perfect for servers that want protection without the complexity of full region management systems.<\/p>\n<p>&#8212;<\/p>\n<p>**Latest Version:** 1.0.0<br \/>\n**Minecraft Version:** 1.21 &#8211; 1.21.1<br \/>\n**Server Software:** Paper (and forks)<br \/>\n**Java Version:** 21+**<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Blacklist\/whitelist per world system that ban crystal anchors tnt minecart bed bombing &#8230;&#8230;.<\/p>\n","protected":false},"featured_media":113285,"template":"","meta":{"_minecraft_slug":"nominecarttnt","_minecraft_project_id":"g1YOCZwI","_minecraft_author":"geturplugins","_minecraft_license":"MIT","_minecraft_downloads":118,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"nominecarttnt.zip","_minecraft_size_bytes":10374,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T19:14:22.278707Z","_minecraft_date_created":"2026-01-24T21:34:52.728751Z","_minecraft_date_modified":"2026-01-18T14:45:38.373872Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/nominecarttnt","_minecraft_icon_attachment_id":113285,"_minecraft_imported_at":"2026-06-06T16:05:33+00:00","_minecraft_import_hash":"09726d81f5f2991e9167c213f7fad834","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[89,126,127,123,92],"mod_loader":[132],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-113284","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-game-mechanics","mod_category-management","mod_category-paper","mod_category-technology","mod_category-utility","mod_loader-paper","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>nominecarttnt - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"nominecarttnt - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Blacklist\/whitelist per world system that ban crystal anchors tnt minecart bed bombing .......\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/nominecarttnt\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/nominecarttnt\\\/\",\"name\":\"nominecarttnt - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/nominecarttnt\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/nominecarttnt\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/nominecarttnt-icon-074ee10d25d5f38ce168e4d0a57b5a49239b5452_96.webp\",\"datePublished\":\"2026-06-06T16:05:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/nominecarttnt\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/nominecarttnt\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/nominecarttnt\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/nominecarttnt-icon-074ee10d25d5f38ce168e4d0a57b5a49239b5452_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/nominecarttnt-icon-074ee10d25d5f38ce168e4d0a57b5a49239b5452_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/nominecarttnt\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"nominecarttnt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"nominecarttnt - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/","og_locale":"en_US","og_type":"article","og_title":"nominecarttnt - Minecraft","og_description":"Blacklist\/whitelist per world system that ban crystal anchors tnt minecart bed bombing .......","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/","name":"nominecarttnt - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/nominecarttnt-icon-074ee10d25d5f38ce168e4d0a57b5a49239b5452_96.webp","datePublished":"2026-06-06T16:05:32+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/nominecarttnt-icon-074ee10d25d5f38ce168e4d0a57b5a49239b5452_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/nominecarttnt-icon-074ee10d25d5f38ce168e4d0a57b5a49239b5452_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/nominecarttnt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"nominecarttnt"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/113284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/113285"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=113284"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=113284"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=113284"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=113284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}