{"id":99100,"date":"2026-06-05T19:38:54","date_gmt":"2026-06-05T16:38:54","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/mc-missile\/"},"modified":"2026-06-05T19:38:54","modified_gmt":"2026-06-05T16:38:54","slug":"mc-missile","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/mc-missile\/","title":{"rendered":"mc-missile"},"content":{"rendered":"<p># mc_missile<br \/>\nBlow up your friends in Minecraft 1.21.4 with guided missiles.<\/p>\n<p>This is a server-only Fabric Minecraft mod.<br \/>\nIt allows all players to program guided missiles and fire them from a crossbow or dispenser.<br \/>\nSee Guided Missiles in Minecraft for what you can do with this mod.<\/p>\n<p>## Application Structure<br \/>\nThis is a special Minecraft mod that connects to external processes through gRPC.<\/p>\n<p>![architecture overview diagram](.\/images\/architecture_overview.png)<\/p>\n<p>Every player programs a guidance server application.<br \/>\nThese guidance servers could be hosted in Docker containers on the same host as the Minecraft server.<br \/>\nWhenever a missile is fired Minecraft connects to the player&#8217;s guidance server and sends the missile state (e.g., position, velocity) every tick.<br \/>\nThe guidance server can send control inputs to the missile after each received missile state.<\/p>\n<p>## Developing Missile Guidance<br \/>\nYou can implement your guidance server in any language you like.<br \/>\nIt has to do two things:<br \/>\n&#8211; Read the `PORT` environment variable.<br \/>\n&#8211; Expose a gRPC server at that port adhering to the protocol defined in [src\/main\/proto\/guidance.proto](.\/src\/main\/proto\/guidance.proto).<br \/>\n  This `guidance.proto` file contains more documentation about the specifics of that protocol.<br \/>\nThe Guided Missiles in Minecraft article by Christopher Besch gives a detailed description of what a guidance system can do and how to achieve that.<\/p>\n<p>### Guidance Server Templates<br \/>\nRight now there are these templates to get you started right away:<br \/>\n&#8211; Rust<br \/>\n&#8211; Python<br \/>\n&#8211; Java<\/p>\n<p>### Other People&#8217;s Guidance Code<br \/>\nThere are a few open-source guidance servers you can use for inspiration:<br \/>\n&#8211; Christopher Besch, Rust<br \/>\n&#8211; Thomas H\u00e4dicke, Java<\/p>\n<p>## Flight Dynamics<br \/>\nLike the player the missile is an entity in Minecraft.<br \/>\nThe missile has<br \/>\n&#8211;   a position $p = begin{pmatrix} p_1 \\ p_2 \\ p_3 end{pmatrix} in mathbb{R}^3$ (with the elevation $p_2$),<br \/>\n&#8211;   velocity $v in mathbb{R}^3$,<br \/>\n&#8211;   pitch $theta in [-90, 90]$ and<br \/>\n&#8211;   yaw $psi in [-180, 180]$.<\/p>\n<p>    These angles are in degrees and there&#8217;s no roll.<br \/>\n    Additionally, they are the negated angles displayed in the Mincraft F3 Menu.<br \/>\n    That&#8217;s because projectiles have flipped headings for some reason:<br \/>\n    $theta=90$ is up, $theta=-90$ down and $psi in {-180, 180}$ is north, $psi = 90$ east, $psi = 0$ south and $psi = -90$ west.<\/p>\n<p>Minecraft updates the missile&#8217;s state every tick (20 times a second).<br \/>\nThe update in tick $t in mathbb{N}_0$ is separated into three stages:<br \/>\n1.  Receive the control input:<br \/>\n    The missile&#8217;s only input method is an unrealisticly beefy control moment gyroscope.<br \/>\n    So the player&#8217;s guidance code produces a requested change in pitch $theta_{in}$ and yaw $psi_{in}$.<br \/>\n    It has no direct control over the missiles position, velocity, or thrust \u2014 only the rotation.<\/p>\n<p>2.  Update the missile&#8217;s state:<br \/>\n    The gyroscope is powerful but not overly powerful.<br \/>\n    When the control input is too large (larger than $M_r$ defined by the airframe), it is scaled down linearly:<br \/>\n    &#8220;`math<br \/>\n    begin{aligned}<br \/>\n    l &#038;= sqrt{theta_{in}^2 + psi_{in}^2} \\<br \/>\n    begin{pmatrix} theta_{in} \\ psi_{in} end{pmatrix}<br \/>\n      &#038;rightarrow max{left{frac{M_r}{l}, 1right}}<br \/>\n       begin{pmatrix} theta_{in} \\ psi_{in} end{pmatrix}.<br \/>\n    end{aligned}<br \/>\n    &#8220;`<br \/>\n    With this, Minecraft applies the adjusted control input plus some random noise.<br \/>\n    &#8220;`math<br \/>\n    begin{aligned}<br \/>\n    theta &#038;rightarrow theta + theta_{in} + N_r \\<br \/>\n    psi   &#038;rightarrow psi + psi_{in} + N_r \\<br \/>\n    end{aligned}<br \/>\n    &#8220;`<br \/>\n    each $N_r$ is normally distributed noise dependent on the air frame used by the missile.<br \/>\n    So you don&#8217;t have perfect control over the missiles rotation, there is always some variance.<\/p>\n<p>    Now the acceleration $a in mathbb{R}^3$ can be calculated from the rotation vector $r in mathbb{R}^3$, the current thrust $T(t) in 0, infty)$ and gravity $g = begin{pmatrix} 0 \\ -|g| \\ 0 end{pmatrix} in mathbb{R}^3$.<br \/>\n    &#8220;`math<br \/>\n    begin{aligned}<br \/>\n    r &#038; =<br \/>\n    begin{pmatrix}<br \/>\n        sin(psi) cos(theta) \\<br \/>\n        sin(theta) \\<br \/>\n        cos(psi) cos(theta)<br \/>\n    end{pmatrix} \\<br \/>\n    a &#038; = begin{pmatrix} a_1 \\ a_2 \\ a_3 end{pmatrix} \\<br \/>\n      &#038; = left(T(t) + N_T right) cdot r + g<br \/>\n    end{aligned}<br \/>\n    &#8220;`<br \/>\n    $N_T$ is normally distributed noise and like the thrust function $T$ defined by the rocket motor.<\/p>\n<p>    Lastly, the velocity and position are updated with the airframe defined drag $d in [0, 1)$.<br \/>\n    &#8220;`math<br \/>\n    begin{aligned}<br \/>\n    v &#038;rightarrow (1 &#8211; d) cdot (v + a) \\<br \/>\n    p &#038;rightarrow p + v<br \/>\n    end{aligned}<br \/>\n    &#8220;`<\/p>\n<p>3.  Now that the missile&#8217;s state has been updated Minecraft sends that state to the player&#8217;s guidance code.<br \/>\n    All these values contain some variance, too \u2014 depending on the missile&#8217;s [inertial measurement unit.<br \/>\n    The guidance server has a little less than 50ms to send the rotation change for the next tick.<\/p>\n<p>In the first tick ($t=0$), the missile doesn&#8217;t have guidance input yet and thus flies straight ahead with the velocity and rotation of the shooter.<br \/>\nNo variance is applied here.<\/p>\n<p>Disclaimer:<br \/>\nAs you can see the flight dynamics of Minecraft missiles don&#8217;t have anything to do with *real* missiles.<br \/>\nThere are no aerodynamic aspects simulated at all, for example.<br \/>\nAll we do is magically rotate a rock in vacuum.<br \/>\nThus the guidance code explained in this article can only be applied to the toy world that is Minecraft and nothing else.<br \/>\nStill, it&#8217;ll be fun!<\/p>\n<p>## Crafting Your First Missile<br \/>\nThis is a server-only mod so you don&#8217;t have to install any mods on your Minecraft client.<br \/>\nAs such there are no new items coming with this mod.<br \/>\nAll missiles are normal firework rocket items before launch.<br \/>\nThere are two special things differentiating missiles from normal Minecraft fireworks:<br \/>\n&#8211; the item&#8217;s name and<br \/>\n&#8211; the ingredients used to craft the missile.<\/p>\n<p>### Missile Naming<br \/>\nIn Minecraft you can change an item&#8217;s name with an anvil.<br \/>\nTo convert a normal firework rockt into a missile you have need to give your firework rocket a special name.<br \/>\n&#8220;`<br \/>\n  <- the id of the guidance server to use\n     <- some string that is passed to the guidance server\nm\/69\/test_name\n```\nThis allows the Minecraft mod to identify what guidance server should be used.\nAdditionally, each guidance server can implement multiple different missiles.\n\nYou still need to fulfill the ingredient requirements in the below section to craft a working missile.\n\n### Missile Budget\nYour missile needs to be crafted with at least one firework star.\nThere are many ways of crafting a missile.\nThe mc_missile mod calculated what ingredients you used to craft the firework item.\nIt gives every ingredient a value and adds these values up.\nThis is the budget of the missile, which can be used to improve the missile's characteristics, see the [Missile Components](#missile-components) section.\n\nNote:\nWhen you craft a firework rocket you get three firework rockets from one crafting recipe.\nIf you invest one diamond into such a recipe, you'll have three firework rockets with 1\/3 the value of a diamond each.\n\nExample:\nA simple firework star can be crafted from one gunpowder and one dye.\nWith this you can craft the cheapest missile:\nThat firework star, one gunpowder and a paper and you get three missile with a budget of 99\u20ac.\n\nThese are all values for every possible ingredient.\n```\n==== Material Values ====\n  PAPER =                            90\u20ac\n  GUNPOWDER =                        90\u20ac\n  DYE =                              27\u20ac\n  BLAZE_POWDER =                     900\u20ac\n  COAL =                             180\u20ac\n  GOLD_NUGGET =                      90\u20ac\n  HEAD =                             90000\u20ac\n  FEATHER =                          180\u20ac\n  DIAMOND =                          9000\u20ac\n  GLOWSTONE_DUST =                   90\u20ac\n  Lowest Possible Missile Budget =   99\u20ac\n  Highest Possible Missile Budget =  231543\u20ac\n==== Material Values ====\n```\n\n### Missile Components\nA missile is built from components, each with a price tag and effects on the missile.\nSee [guidance.proto](.\/src\/main\/proto\/guidance.proto) for what effects they have.\n\nThese are the components' prices:\n```\n==== Hardware Component Costs ====\n  == Warhead Costs ==\n    BLANK =                          0\u20ac\n    TNT_M =                          450\u20ac\n    TNT_L =                          9000\u20ac\n    TNT_XL =                         90000\u20ac\n    INCENDIARY_M =                   900\u20ac\n    INCENDIARY_L =                   18000\u20ac\n    INCENDIARY_XL =                  180000\u20ac\n    NEUTRON_BOMB_S =                 450\u20ac\n    NEUTRON_BOMB_L =                 900\u20ac\n    TUNGSTEN_PENETRATOR_S =          180\u20ac\n    TUNGSTEN_PENETRATOR_M =          450\u20ac\n    TUNGSTEN_PENETRATOR_L =          900\u20ac\n    BUNKER_BUSTER_M =                18000\u20ac\n    BUNKER_BUSTER_L =                27000\u20ac\n    BUNKER_BUSTER_XL =               180000\u20ac\n  == Warhead Costs ==\n  == Airframe Costs ==\n    SPACE_SHUTTLE =                  450000\u20ac\n    BRICK =  0\u20ac\n    DEFAULT_AIRFRAME =               180\u20ac\n    PERFECT_AIRFRAME =               1800\u20ac\n  == Airframe Costs ==\n  == Motor Costs ==\n    NO_MOTOR =                       0\u20ac\n    SIMPLE_S =                       900\u20ac\n    SIMPLE_M =                       1800\u20ac\n    SIMPLE_L =                       2700\u20ac\n    SIMPLE_XL =                      90000\u20ac\n    BOOST_S =                        450\u20ac\n    BOOST_M =                        900\u20ac\n    TWO_STAGE_M =                    450\u20ac\n    TWO_STAGE_L =                    900\u20ac\n    RANDOM_S =                       450\u20ac\n    RANDOM_L =                       900\u20ac\n    CHANGING_S =                     450\u20ac\n    CHANGING_M =                     900\u20ac\n    CHANGING_L =                     1350\u20ac\n  == Motor Costs ==\n  == Battery Costs ==\n    NO_BATTERY =                     0\u20ac\n    LI_ION_XS =                      450\u20ac\n    LI_ION_S =                       900\u20ac\n    LI_ION_M =                       1350\u20ac\n    LI_ION_L =                       2700\u20ac\n    LI_ION_XL =                      5400\u20ac\n    LI_ION_XXL =                     9000\u20ac\n    NUCLEAR =                        90000\u20ac\n  == Battery Costs ==\n  == Seeker Costs ==\n    NO_SEEKER =                      0\u20ac\n    IR_SEEKER_WIDE_S =               9000\u20ac\n    IR_SEEKER_WIDE_L =               18000\u20ac\n    IR_SEEKER_WIDE_INACCURATE_S =    6000\u20ac\n    IR_SEEKER_WIDE_INACCURATE_L =    12000\u20ac\n    IR_SEEKER_SNIPER_S =             6000\u20ac\n    IR_SEEKER_SNIPER_L =             12000\u20ac\n    IR_SEEKER_SNIPER_INACCURATE_S =  2000\u20ac\n    IR_SEEKER_SNIPER_INACCURATE_L =  4000\u20ac\n    IR_SEEKER_360_S =                12000\u20ac\n    IR_SEEKER_360_L =                24000\u20ac\n    IR_SEEKER_360_INACCURATE_S =     6000\u20ac\n    IR_SEEKER_360_INACCURATE_L =     12000\u20ac\n    LASER_DISTANCE_SEEKER =          3000\u20ac\n  == Seeker Costs ==\n  == InertialSystem Costs ==\n    BLIND =                          0\u20ac\n    BAD_IMU =                        180\u20ac\n    DEFAULT_IMU =                    1260\u20ac\n    ACCURATE_IMU =                   2700\u20ac\n    PERFECT_IMU =                    9000\u20ac\n  == InertialSystem Costs ==\n  Cheapest Possible Missile =        0\u20ac\n  Most Expensive Possible Missile =  843000\u20ac\n==== Hardware Component Costs ====\n```\n\nThe summed prices of all components must be smaller or equal to the missile's [budget](#missile-budget).\n\n## Mod Installation\nThis mod is designed to be used by a Docker deployment.\nTake a look at the [example_deployment](.\/example_deployment) and it's [docker-compose.yml](.\/example_deployment\/docker-compose.yml).\n\n## Mod Development\n\n### Development environment\n- Install Docker.\n- Create the dev container in this directory with: `sudo docker run --net host -ti --name mc_missile_java -v .\/:\/home\/gradle\/mc_missile -p 25565:25565 --entrypoint \/bin\/bash gradle`\n- When you leave that shell start the container again with: `sudo docker start mc_missile_java`\n- Now you can enter it with: `sudo docker exec -ti mc_missile_java \/bin\/bash`\n\n### Decompile Minecraft\n- run these commands in the mc_missile directory in the Docker container.\n- `.\/gradlew genSources`\n- `jar xf ..\/.gradle\/loom-cache\/minecraftMaven\/net\/minecraft\/minecraft-merged-abba00472f\/1.21.4-net.fabricmc.yarn.1_21_4.1.21.4+build.8-v2\/minecraft-merged-abba00472f-1.21.4-net.fabricmc.yarn.1_21_4.1.21.4+build.8-v2-sources.jar com \/net`\n- `jar xf ..\/.gradle\/loom-cache\/minecraftMaven\/net\/minecraft\/minecraft-merged-abba00472f\/1.21.4-net.fabricmc.yarn.1_21_4.1.21.4+build.8-v2\/minecraft-merged-abba00472f-1.21.4-net.fabricmc.yarn.1_21_4.1.21.4+build.8-v2.jar assets\/ data \/`\n\n### Gradle\n- run these commands in the mc_missile directory in the Docker container.\n- `.\/gradlew validateAccessWidener`\n- `cp .\/env.sh.example .\/env.sh` and enter your desired config\n- `.\/gradlew runServer`\n\n### Deploy\n- `cp .\/env.sh.example .\/env.sh` and enter your modrinth token (only do this once)\n- `source .\/env.sh`\n- `.\/gradlew modrinth`\n- you can also find the final jar in `.\/build\/libs\/mc_missile-1.0.0.jar`\n\n### Formatting\n- Download google-java-format\n- run `find .\/src -name '*.java' -type f -print0 | xargs -0 java -jar ~\/dwn\/google-java-format-1.26.0-all-deps.jar --aosp -r`\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Blow up your friends in Minecraft with guided missiles.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_minecraft_slug":"mc-missile","_minecraft_project_id":"FRBVBv6c","_minecraft_author":"christopher-besch","_minecraft_license":"AGPL-3.0-or-later","_minecraft_downloads":265,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"mc-missile.zip","_minecraft_size_bytes":18066359,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T20:17:14.475914Z","_minecraft_date_created":"2025-07-09T19:21:00.144798Z","_minecraft_date_modified":"2025-06-27T15:48:47.616289Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/mc-missile","_minecraft_icon_attachment_id":0,"_minecraft_imported_at":"2026-06-05T16:38:55+00:00","_minecraft_import_hash":"cef893ef8f62a72d99866080674d4b6b","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[88,97,89,123],"mod_loader":[99],"minecraft_version":[38],"class_list":["post-99100","mod","type-mod","status-publish","hentry","mod_category-equipment","mod_category-fabric","mod_category-game-mechanics","mod_category-technology","mod_loader-fabric","minecraft_version-1-21-4"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>mc-missile - 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\/mc-missile\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"mc-missile - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Blow up your friends in Minecraft with guided missiles.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/mc-missile\/\" \/>\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=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-missile\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-missile\\\/\",\"name\":\"mc-missile - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"datePublished\":\"2026-06-05T16:38:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-missile\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-missile\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mc-missile\\\/#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\":\"mc-missile\"}]},{\"@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":"mc-missile - 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\/mc-missile\/","og_locale":"en_US","og_type":"article","og_title":"mc-missile - Minecraft","og_description":"Blow up your friends in Minecraft with guided missiles.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/mc-missile\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mc-missile\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/mc-missile\/","name":"mc-missile - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"datePublished":"2026-06-05T16:38:54+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mc-missile\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/mc-missile\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mc-missile\/#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":"mc-missile"}]},{"@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\/99100","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:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=99100"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=99100"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=99100"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=99100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}