{"id":119674,"date":"2026-06-07T04:00:30","date_gmt":"2026-06-07T01:00:30","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/"},"modified":"2026-06-07T04:00:30","modified_gmt":"2026-06-07T01:00:30","slug":"passivephantoms","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/","title":{"rendered":"PassivePhantoms"},"content":{"rendered":"<p># PassivePhantoms<\/p>\n<p>A Minecraft Bukkit\/Spigot plugin that makes phantoms spawn naturally in the end &#038; are passive until they are attacked by a player. Features a per-chunk mobcap system to prevent infinite spawning and movement improvements to help prevent phantoms from getting hung up on chorus fruit trees.<\/p>\n<p>**Note: Movement improvements are experimental and phantoms may still get hung up on chorus trees.**<\/p>\n<p>## How It Works<\/p>\n<p>1. **Natural Spawning**: Phantoms spawn normally in the end (no overworld spawning)<br \/>\n2. **Passive Behavior**: New phantoms are completely passive and won&#8217;t target players<br \/>\n3. **Provocation**: When a player attacks a phantom (melee or projectile), it becomes &#8220;angry&#8221; and can attack back<br \/>\n4. **Projectile Aggression**: Phantoms also become aggressive when hit by arrows, tridents, snowballs, or other projectiles<br \/>\n5. **Immediate Response**: Angry phantoms immediately target and attack the player who hit them<br \/>\n6. **Persistent Anger**: Once a phantom is angry, it remains aggressive, retaining vanilla behaviors<br \/>\n7. **Mobcap Protection**: Maximum of 8 phantoms per chunk prevents infinite spawning and ensures fair distribution<br \/>\n8. **Movement Improvements**: Automatic stuck detection and escape assistance prevents phantoms from getting trapped in chorus fruit trees<\/p>\n<p>## Installation<\/p>\n<p>1. **Download**: Get the latest JAR file from the releases (v1.2.5)<br \/>\n2. **Install**: Place `PassivePhantoms-1.2.5.jar` in your server&#8217;s `plugins\/` folder<br \/>\n3. **(Recommended)**: If updating from an older version, delete the entire `PassivePhantoms` config folder and let the plugin generate a new one on next server start. This ensures you get all new config options and avoid legacy issues.<br \/>\n4. **Restart**: Restart your server<br \/>\n5. **Verify**: Check the console for &#8220;PassivePhantoms plugin enabled!&#8221; message<\/p>\n<p>## Configuration<\/p>\n<p>The plugin generates a `config.yml` file on first run with the following options:<\/p>\n<p>&#8211; `debug_logging`: Enable\/disable debug messages (default: false)<br \/>\n&#8211; `passive_phantoms_enabled`: Enable\/disable the plugin (default: true)<br \/>\n&#8211; `phantom_settings.custom_spawn_control`: Control phantom spawning (default: true)<br \/>\n&#8211; `phantom_settings.end_spawn_chance`: Chance for phantoms to spawn in The End (default: 0.05 = 5%)<br \/>\n&#8211; `phantom_settings.max_phantoms_per_chunk`: Maximum phantoms per chunk (default: 8)<br \/>\n&#8211; `phantom_settings.movement_improvements_enabled`: Enable movement improvements (default: true)<br \/>\n&#8211; `phantom_settings.stuck_detection_ticks`: How often to check for stuck phantoms (default: 100 ticks = 5 seconds)<br \/>\n&#8211; `phantom_settings.stuck_threshold`: Consecutive checks before considering stuck (default: 3)<br \/>\n&#8211; `phantom_settings.stuck_distance_threshold`: Minimum movement distance (default: 1.0 blocks)<br \/>\n&#8211; `phantom_settings.max_stuck_attempts`: Maximum escape attempts before removal (default: 5)<\/p>\n<p>## Commands<\/p>\n<p>&#8211; `\/passivephantoms` &#8211; Shows plugin version and usage<br \/>\n&#8211; `\/passivephantoms reload` &#8211; Reloads the configuration<br \/>\n&#8211; `\/passivephantoms debug` &#8211; Toggle debug logging<br \/>\n&#8211; `\/passivephantoms status` &#8211; Check plugin status and phantom populations<br \/>\n&#8211; `\/passivephantoms list` &#8211; List aggressive phantoms<\/p>\n<p>## Permissions<\/p>\n<p>&#8211; `passivephantoms.reload` &#8211; Allows reloading the configuration (default: op)<\/p>\n<p>## Building from Source<\/p>\n<p>### Prerequisites<br \/>\n&#8211; Java 8 or higher<br \/>\n&#8211; Maven 3.6 or higher<\/p>\n<p>### Steps<br \/>\n1. Clone this repository<br \/>\n2. Run: `mvn clean package`<br \/>\n3. Find the compiled JAR in the `target\/` folder<\/p>\n<p>## Compatibility<\/p>\n<p>&#8211; **Minecraft Version**: 1.13 &#8211; 1.21+<br \/>\n&#8211; **Server Type**: Bukkit, Spigot, Paper<br \/>\n&#8211; **Java Version**: 8 or higher<\/p>\n<p>## Troubleshooting<\/p>\n<p>**Phantoms not spawning in the end**<br \/>\n&#8211; Verify plugin is enabled (true by defualt)<br \/>\n&#8211; Check spawn chance setting in config.yml, it is low be default, increase it to verify functionality<\/p>\n<p>**Phantoms not attacking after being hit:**<br \/>\n&#8211; Make sure you&#8217;re using the latest version<br \/>\n&#8211; Check server console for any error messages<br \/>\n&#8211; Verify the plugin is enabled in the console<\/p>\n<p>**Plugin not loading:**<br \/>\n&#8211; Ensure you&#8217;re using Java 8 or higher<br \/>\n&#8211; Check that the JAR file is in the correct plugins folder<br \/>\n&#8211; Verify your server version is compatible<\/p>\n<p>**Projectiles not making phantoms aggressive:**<br \/>\n&#8211; Ensure you&#8217;re using version 1.2.5 or higher<br \/>\n&#8211; Check that the projectile was shot by a player<br \/>\n&#8211; Verify debug logging is enabled to see detailed messages<\/p>\n<p>**Too many phantoms spawning:**<br \/>\n&#8211; The mobcap system limits phantoms to 8 per chunk<br \/>\n&#8211; Use `\/passivephantoms status` to check phantom populations<br \/>\n&#8211; Enable debug logging to see mobcap status messages<\/p>\n<p>**Config issues after updating:**<br \/>\n&#8211; If you experience errors or missing features after updating the plugin, delete the entire `PassivePhantoms` config folder and let the plugin generate a new one. This ensures all new settings are present and avoids legacy config problems.<\/p>\n<p>**Phantoms getting stuck in chorus fruit trees:**<br \/>\n&#8211; The movement improvement system automatically detects and helps stuck phantoms<br \/>\n&#8211; Enable `movement_improvements_enabled: true` in your config (default: enabled)<br \/>\n&#8211; Use `\/passivephantoms status` to check plugin status<br \/>\n&#8211; Adjust `stuck_detection_ticks` for more\/less frequent checks<br \/>\n&#8211; Increase `stuck_threshold` if phantoms are being helped too aggressively<\/p>\n<p>## License<\/p>\n<p>This project is open source. Feel free to modify and distribute as needed.<\/p>\n<p>## Support<\/p>\n<p>If you need help or have suggestions, please open an issue on the GitHub repository or join the linked Discord and navigate to # plugin-help<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Minecraft Bukkit\/Spigot plugin that makes phantoms spawn natrually in the end (no overworld spawn) &#038; are passive until they are attacked by a player.<\/p>\n","protected":false},"featured_media":119675,"template":"","meta":{"_minecraft_slug":"passivephantoms","_minecraft_project_id":"zdnQbWA0","_minecraft_author":"MightyFinger77","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":192,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"passivephantoms.zip","_minecraft_size_bytes":108610,"_minecraft_version_count":7,"_minecraft_updated_at":"2026-05-16T12:48:01.430743Z","_minecraft_date_created":"2025-07-11T05:03:25.232254Z","_minecraft_date_modified":"2026-03-21T04:55:03.504159Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/passivephantoms","_minecraft_icon_attachment_id":119675,"_minecraft_imported_at":"2026-06-07T01:00:31+00:00","_minecraft_import_hash":"868aa51671e29018a527e2180045f164","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[125,89,126,137,127,128,129],"mod_loader":[131,132,133,134],"minecraft_version":[438,446,449,110,111,112,113,114,115,116,117,118,119,120,46,47,48,49,50,51,52,53,54,55,56,57,58,59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-119674","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-folia","mod_category-game-mechanics","mod_category-management","mod_category-mobs","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_loader-folia","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-13","minecraft_version-1-13-1","minecraft_version-1-13-2","minecraft_version-1-14","minecraft_version-1-14-1","minecraft_version-1-14-2","minecraft_version-1-14-3","minecraft_version-1-14-4","minecraft_version-1-15","minecraft_version-1-15-1","minecraft_version-1-15-2","minecraft_version-1-16","minecraft_version-1-16-1","minecraft_version-1-16-2","minecraft_version-1-16-3","minecraft_version-1-16-4","minecraft_version-1-16-5","minecraft_version-1-17","minecraft_version-1-17-1","minecraft_version-1-18","minecraft_version-1-18-1","minecraft_version-1-18-2","minecraft_version-1-19","minecraft_version-1-19-1","minecraft_version-1-19-2","minecraft_version-1-19-3","minecraft_version-1-19-4","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","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>PassivePhantoms - 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\/passivephantoms\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PassivePhantoms - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A Minecraft Bukkit\/Spigot plugin that makes phantoms spawn natrually in the end (no overworld spawn) &amp; are passive until they are attacked by a player.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/\" \/>\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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/passivephantoms\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/passivephantoms\\\/\",\"name\":\"PassivePhantoms - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/passivephantoms\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/passivephantoms\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/passivephantoms-icon-8c4091ab77e08fb4e03a4d66026eca7cc85c0d75_96.webp\",\"datePublished\":\"2026-06-07T01:00:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/passivephantoms\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/passivephantoms\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/passivephantoms\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/passivephantoms-icon-8c4091ab77e08fb4e03a4d66026eca7cc85c0d75_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/passivephantoms-icon-8c4091ab77e08fb4e03a4d66026eca7cc85c0d75_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/passivephantoms\\\/#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\":\"PassivePhantoms\"}]},{\"@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":"PassivePhantoms - 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\/passivephantoms\/","og_locale":"en_US","og_type":"article","og_title":"PassivePhantoms - Minecraft","og_description":"A Minecraft Bukkit\/Spigot plugin that makes phantoms spawn natrually in the end (no overworld spawn) & are passive until they are attacked by a player.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/","name":"PassivePhantoms - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/passivephantoms-icon-8c4091ab77e08fb4e03a4d66026eca7cc85c0d75_96.webp","datePublished":"2026-06-07T01:00:30+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/passivephantoms-icon-8c4091ab77e08fb4e03a4d66026eca7cc85c0d75_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/passivephantoms-icon-8c4091ab77e08fb4e03a4d66026eca7cc85c0d75_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/passivephantoms\/#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":"PassivePhantoms"}]},{"@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\/119674","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\/119675"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=119674"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=119674"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=119674"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=119674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}