{"id":123702,"date":"2026-06-07T09:34:11","date_gmt":"2026-06-07T06:34:11","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/"},"modified":"2026-06-07T09:34:11","modified_gmt":"2026-06-07T06:34:11","slug":"polymc-extra","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/","title":{"rendered":"PolyMc-Extra"},"content":{"rendered":"<p># PolyMc-Extra<br \/>\nThis is a server-side library and a tool for providing automatic patching mods for PolyMc. It functions similarly to PolyMc but is more powerful. It enables automatic patching of certain mods, and its patching functionality can be controlled by modifying configuration files.<\/p>\n<p>## The following registry entries were processed by the patch<br \/>\nList: Attribute, EntityType, SoundEvent, ComponentType, EnchantmentEffectComponentType, EnchantmentLocationBaseEffectType, EnchantmentEntityEffectType, StatusEffect, Potion, ScreenHandlers, ConsumeEffectType, StatType, CustomStat, PoiType, ItemGroup, Item, Block, BlockEntityType, Profession<\/p>\n<p>## Runtime Lifecycle:<br \/>\n1. Register the built-in ExtraModelType<br \/>\n2. Register Special Entity Mappings<br \/>\n3. Scan and execute all module&#8217;s &#8220;polymc-extra&#8221; entry points (PolyMcExtraEntrypoint.class)<br \/>\n4. Before all static registry entries freeze: Read the configuration file, iterate through the registry, and patch each missing item (server-only)<br \/>\n5. Verify item components integrity<br \/>\n6. Scan for required resources in JAR files and generate resource packages<\/p>\n<p>## For player\/server owners\/mod pack makers:<br \/>\nIt can automatically repair the state of corresponding polymer blocks for most mods, allowing Vanilla clients to join servers with mods.<\/p>\n<p>## For mod developers:<br \/>\nIt provides several APIs and tools for developers to patch complex mods; for others, you can ask questions on Discord.<\/p>\n<p>### Knowledge required<\/p>\n<p>You should first learn how to use some libraries.<\/p>\n<p>* About Polymer<br \/>\n* About blockbench-import-library<br \/>\n* About polydex<br \/>\n* About PolyMc<\/p>\n<p>### Development Environment<\/p>\n<p>1. Create a libs folder in your module project directory.<br \/>\n2. Download the JAR file and place it in the libs folder in your module project directory.<br \/>\n3. Add the following content to build.gradle:<\/p>\n<p>&#8220;`<br \/>\nrepositories {<br \/>\n    maven { url &#8220;https:\/\/maven.nucleoid.xyz&#8221; }<br \/>\n    maven { url &#8220;https:\/\/maven.tomalbrc.de&#8221; }<br \/>\n    maven { url &#8220;https:\/\/api.modrinth.com\/maven&#8221; }<br \/>\n    maven { url &#8220;https:\/\/maven.architectury.dev\/&#8221; }<br \/>\n    maven {<br \/>\n        url &#8220;https:\/\/maven.theepicblock.nl&#8221;<br \/>\n        content { includeGroup(&#8220;nl.theepicblock&#8221;) }<br \/>\n    }<br \/>\n    flatDir {<br \/>\n        dirs &#8216;libs&#8217;<br \/>\n    }<br \/>\n}<br \/>\ndependencies {<br \/>\n    modImplementation(&#8220;eu.pb4:polymer-core:[${polymer_version}]&#8221;)<br \/>\n    modImplementation(&#8220;eu.pb4:polymer-blocks:[${polymer_version}]&#8221;)<br \/>\n    modImplementation(&#8220;eu.pb4:polymer-resource-pack:[${polymer_version}]&#8221;)<br \/>\n    modImplementation(&#8220;eu.pb4:polymer-resource-pack-extras:[${polymer_version}]&#8221;)<br \/>\n    modImplementation(&#8220;eu.pb4:polymer-virtual-entity:[${polymer_version}]&#8221;)<br \/>\n    modImplementation(&#8220;eu.pb4:polymer-autohost:${polymer_version}&#8221;)<br \/>\n    modImplementation(&#8220;eu.pb4:polymer-networking:[${polymer_version}]&#8221;)<br \/>\n    modImplementation(&#8220;nl.theepicblock:resource-locator-api:${project.resource_locator_version}&#8221;)<br \/>\n    modImplementation(&#8220;eu.pb4:factorytools:[${factorytools_version}]&#8221;)<br \/>\n    modImplementation(&#8220;eu.pb4:sgui:[${sgui_version}]&#8221;)<br \/>\n    modImplementation(&#8220;xyz.nucleoid:server-translations-api:${server_translation_api_version}&#8221;)<\/p>\n<p>    modImplementation files(&#8216;libs\/PolyMc-Extra-XXXXXXX.jar&#8217;)<br \/>\n    modCompileOnly &#8216;maven.modrinth:polydex:XXXXXX&#8217;<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>### Patch Code Example<br \/>\n&#8220;`<br \/>\npublic class PolymerifyRegistry implements PolyMcExtraEntrypoint {<\/p>\n<p>    @Override<br \/>\n    public void onInitialize() {<br \/>\n        PolymerifyRegistry.initialize();<br \/>\n        PolyMcExtraPacks.NAMESPACES.add(getNamespace());<br \/>\n    }<\/p>\n<p>    public static void initialize() {<br \/>\n        registerPolymerBlock(BlockRegistry.XXX, XXXPolymerBlock.INSTANCE);<br \/>\n        registerPolymerItem(BlockRegistry.XXX, new PolymerItemImpl(BlockRegistry.XXX.asItem()));<br \/>\n    }<\/p>\n<p>    public static void registerPolymerBlock(Block block, PolymerBlock polymerBlock) {<br \/>\n        ResourceLocation key = BuiltInRegistries.BLOCK.getKey(block);<br \/>\n        PolymerBlock.registerOverlay(block, polymerBlock);<br \/>\n        if (polymerBlock instanceof BlockWithElementHolder elementHolder) {<br \/>\n            BlockWithElementHolder.registerOverlay(block, elementHolder);<br \/>\n        }<br \/>\n        PolyMcExtra.LATE_INIT.add(new Runnable() {<br \/>\n            @Override<br \/>\n            public void run() {<br \/>\n                if (PolymerBlockHelper.testJsonExist(block)) {<br \/>\n                    BlockStateModelManager.addBlock(key, block);<br \/>\n                }<br \/>\n            }<br \/>\n        });<br \/>\n    }<\/p>\n<p>    public static void registerPolymerItem(ItemLike item, PolymerItem polymerItem) {<br \/>\n        PolymerItem.registerOverlay(item.asItem(), polymerItem);<br \/>\n    }<\/p>\n<p>    @Override<br \/>\n    public String getNamespace() {<br \/>\n        return MOD_ID;<br \/>\n    }<br \/>\n}<\/p>\n<p>public class XXXPolymerBlock {<br \/>\n    public static final BlockState OVERLAY_0 = PolymerBlockResourceUtils.requestEmpty(BlockModelType.ACTIVE_PRESSURE_PLATE);<br \/>\n    public static final BlockState OVERLAY_1 = PolymerBlockResourceUtils.requestEmpty(BlockModelType.KELP_BLOCK);<br \/>\n    public static final BaseFactoryBlock INSTANCE = new BaseFactoryBlock(OVERLAY_0, false, BlockStateModel::midRange) {<br \/>\n        @Override<br \/>\n        public BlockState getPolymerBlockState(BlockState state, PacketContext context) {<br \/>\n            if (state.hasProperty(BlockStateProperties.WATERLOGGED) &#038;&#038; state.getValue(BlockStateProperties.WATERLOGGED)) {<br \/>\n                return OVERLAY_1;<br \/>\n            }<br \/>\n            return super.getPolymerBlockState(state, context);<br \/>\n        }<br \/>\n    };<br \/>\n}<\/p>\n<p>&#8220;`<\/p>\n<p>## Example Config:<br \/>\nThe configuration file is located at `\/config\/polymc-extra.json`<br \/>\n&#8220;`<br \/>\n{<br \/>\n\t&#8220;DisabledOpaqueBlocks&#8221;: [],<br \/>\n\t&#8220;CustomBlockModelTypeMappings&#8221;: {<br \/>\n\t\t&#8220;citymod:stone_table&#8221;: &#8220;BLOCK_DISPLAY_ENTITY&#8221;,<br \/>\n\t\t&#8220;citymod:road_block&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:road_yellow&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:road_yellow_connect&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:road_white_connect&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:road_yellow_double&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:road_zebra_crossing&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:roadblock_oblique&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:roadblock_yellow_oblique&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:roadblock_double_oblique&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:zebracrossing_oblique&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:road_straight&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;citymod:road_diamond&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:modern_light&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:computer_mouse&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:black_mirror&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:laptop&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:modern_clock&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:led_floor_lamp&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:shower&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:portable_laptop_stand&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:laptop_closed_portable_laptop_stand&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:cooktop&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:keyboard&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:monitor_setup&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:shower&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:socket&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:modern_chair&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:wood_chair&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;^js_furniture_mod:midi_.+$&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;^js_furniture_mod:.*&#8221;: &#8220;BLOCK_DISPLAY_ENTITY&#8221;,<br \/>\n\t\t&#8220;^skniro_furniture:.*_(drawer|cabinet|fridge|kitchen_sink|oven|tv_stand)$&#8221;: &#8220;BLOCK_DISPLAY_ENTITY&#8221;,<br \/>\n\t\t&#8220;^skniro_furniture:.*_(bed|cushion|sofa|window(?:_style.*)?|plate|chair(?:_.*)?|lamp)$&#8221;: &#8220;BLOCK_DISPLAY_ENTITY_NO_COLLISION&#8221;,<br \/>\n\t\t&#8220;^skniro_furniture:.*_window(_.*)?$&#8221;: &#8220;CLOSEABLE_BLOCK&#8221;,<br \/>\n\t\t&#8220;^skniro_furniture:.*_(door)$&#8221;: &#8220;CLOSEABLE_BLOCK&#8221;,<br \/>\n\t\t&#8220;^skniro_furniture:.*_glass_table&#8221;: &#8220;BLOCK_DISPLAY_ENTITY&#8221;,<br \/>\n\t\t&#8220;terrestria:cattail&#8221;: &#8220;WATER_PLANT&#8221;,<br \/>\n\t\t&#8220;terrestria:andisol_grass_block&#8221;: &#8220;POLYMER:BIOME_TRANSPARENT_BLOCK&#8221;,<br \/>\n\t\t&#8220;^storagedelight:.*$&#8221;: &#8220;BLOCK_DISPLAY_ENTITY&#8221;,<br \/>\n\t\t&#8220;^terrestria:.*_log$&#8221;: &#8220;BLOCK_DISPLAY_ENTITY&#8221;<br \/>\n\t},<br \/>\n\t&#8220;CustomEntityModelMappings&#8221;: {<br \/>\n\t\t&#8220;js_furniture_mod:chair_entity&#8221;: &#8220;polymc-extra:chair&#8221;,<br \/>\n\t\t&#8220;js_furniture_mod:sofa_entity&#8221;: &#8220;polymc-extra:chair&#8221;,<br \/>\n\t\t&#8220;skniro_furniture:chair_entity&#8221;: &#8220;polymc-extra:chair&#8221;,<br \/>\n\t\t&#8220;skniro_furniture:sofa_entity&#8221;: &#8220;polymc-extra:chair&#8221;,<br \/>\n\t\t&#8220;skniro_furniture:cushion_entity&#8221;: &#8220;polymc-extra:chair&#8221;,<br \/>\n\t\t&#8220;citymod:explode_bow_projectile&#8221;: &#8220;minecraft:arrow&#8221;,<br \/>\n\t\t&#8220;citymod:rifle_legacy_projectile&#8221;: &#8220;minecraft:arrow&#8221;<br \/>\n\t},<br \/>\n\t&#8220;CustomModelExpansionMappings&#8221;: {<br \/>\n\t\t&#8220;js_furniture_mod:sofa&#8221;: 0.0,<br \/>\n\t\t&#8220;js_furniture_mod:wood_light_table&#8221;: 0.0,<br \/>\n\t\t&#8220;js_furniture_mod:led_floor_lamp_rgb_off&#8221;: 0.0,<br \/>\n\t\t&#8220;js_furniture_mod:led_floor_lamp_rgb_off_2&#8221;: 0.0,<br \/>\n\t\t&#8220;js_furniture_mod:studio_light&#8221;: 0.0,<br \/>\n\t\t&#8220;citymod:road_block&#8221;: 0.0,<br \/>\n\t\t&#8220;citymod:road_yellow&#8221;: 0.0,<br \/>\n\t\t&#8220;citymod:road_yellow_connect&#8221;: 0.0,<br \/>\n\t\t&#8220;citymod:road_white_connect&#8221;: 0.0,<br \/>\n\t\t&#8220;citymod:road_yellow_double&#8221;: 0.0,<br \/>\n\t\t&#8220;citymod:road_zebra_crossing&#8221;: 0.0<br \/>\n\t}<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>## Commands<br \/>\n* \/polymc-extra:<br \/>\n  * export-extra-block-models-mappings: Export the PolyMc-processed block map to ExtraBlockMapping.txt<br \/>\n  * get-all-model-types: Showing all block mapping types<br \/>\n  * get-client-state: Showing the true mapping and overlay mapping of the square the crosshair is pointing at.<br \/>\n  * get-item-info: Showing the real ID of the item in your hand and its component information.<\/p>\n<p>## What this library\/mod doesn&#8217;t do<br \/>\nIt does not support client-side rendering.<\/p>\n<p>If the module uses ASM to modify certain enums or replaces Vanilla&#8217;s registry entries, it will cause some abnormal errors.<\/p>\n<p>## License<br \/>\nThis mod is partially based on code from enderscape-patch and PolyMc that are licensed with GNU Lesser General Public License v3.0 and GNU Lesser General Public License 3.0<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automatically patch mods so that regular players don&#8217;t need to install mods to join your server!<\/p>\n","protected":false},"featured_media":123703,"template":"","meta":{"_minecraft_slug":"polymc-extra","_minecraft_project_id":"Tz04BvZF","_minecraft_author":"SAGUMEDREAM","_minecraft_license":"GPL-3.0-only","_minecraft_downloads":323,"_minecraft_follows":2,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"polymc-extra.zip","_minecraft_size_bytes":3685716,"_minecraft_version_count":6,"_minecraft_updated_at":"2026-05-15T17:06:11.369121Z","_minecraft_date_created":"2026-01-29T01:34:56.060659Z","_minecraft_date_modified":"2026-02-04T09:07:47.291292Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/polymc-extra","_minecraft_icon_attachment_id":123703,"_minecraft_imported_at":"2026-06-07T06:34:11+00:00","_minecraft_import_hash":"f8b7f1e74aff1818e924cd865a96e4bd","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[97,873],"mod_loader":[99],"minecraft_version":[40,41,79,80,81],"class_list":["post-123702","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-fabric","mod_category-library","mod_loader-fabric","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PolyMc-Extra - 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\/polymc-extra\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PolyMc-Extra - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Automatically patch mods so that regular players don&#039;t need to install mods to join your server!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/\" \/>\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\\\/polymc-extra\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/polymc-extra\\\/\",\"name\":\"PolyMc-Extra - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/polymc-extra\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/polymc-extra\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/polymc-extra-icon-4f92b4bec5cad2353d67a94998a0588db0e03700_96.webp\",\"datePublished\":\"2026-06-07T06:34:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/polymc-extra\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/polymc-extra\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/polymc-extra\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/polymc-extra-icon-4f92b4bec5cad2353d67a94998a0588db0e03700_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/polymc-extra-icon-4f92b4bec5cad2353d67a94998a0588db0e03700_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/polymc-extra\\\/#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\":\"PolyMc-Extra\"}]},{\"@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":"PolyMc-Extra - 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\/polymc-extra\/","og_locale":"en_US","og_type":"article","og_title":"PolyMc-Extra - Minecraft","og_description":"Automatically patch mods so that regular players don't need to install mods to join your server!","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/","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\/polymc-extra\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/","name":"PolyMc-Extra - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/polymc-extra-icon-4f92b4bec5cad2353d67a94998a0588db0e03700_96.webp","datePublished":"2026-06-07T06:34:11+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/polymc-extra-icon-4f92b4bec5cad2353d67a94998a0588db0e03700_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/polymc-extra-icon-4f92b4bec5cad2353d67a94998a0588db0e03700_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/polymc-extra\/#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":"PolyMc-Extra"}]},{"@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\/123702","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\/123703"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=123702"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=123702"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=123702"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=123702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}