PolyMc-Extra
🟡 Updated this year⚠️ Install Order · 2 steps
Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.
🖼️ Gallery (9 images)
🔍 Analysis
- 👍 0.8% endorsement rate
- 🏆 #787 of 888 fabric mods in this game by downloads
📋 About This Mod
# PolyMc-Extra This is a server-side library and a tool for providing automatic patching mods for (https://github.com/TheEpicBlock/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. ## The following registry entries were processed by the patch List: Attribute, EntityType, SoundEvent, ComponentType, EnchantmentEffectComponentType, EnchantmentLocationBaseEffectType, EnchantmentEntityEffectType, StatusEffect, Potion, ScreenHandlers, ConsumeEffectType, StatType, CustomStat, PoiType, ItemGroup, Item, Block, BlockEntityType, Profession ## Runtime Lifecycle: 1. Register the built-in ExtraModelType 2. Register Special Entity Mappings 3. Scan and execute all module's "polymc-extra" entry points (PolyMcExtraEntrypoint.class) 4. Before all static registry entries freeze: Read the configuration file, iterate through the registry, and patch each missing item (server-only) 5. Verify item components integrity 6. Scan for required resources in JAR files and generate resource packages ## For player/server owners/mod pack makers: It can automatically repair the state of corresponding polymer blocks for most mods, allowing Vanilla clients to join servers with mods. ## For mod developers: It provides several APIs and tools for developers to patch complex mods; for others, you can ask questions on Discord. ### Knowledge required You should first learn how to use some libraries. * (https://polymer.pb4.eu/) * (https://tomalbrc.de/docs/bil) * (https://modrinth.com/mod/polydex) * (https://theepicblock.github.io/PolyMc/) ### Development Environment 1. Create a libs folder in your module project directory. 2. Download the JAR file and place it in the libs folder in your module project directory. 3. Add the following content to build.gradle: ``` repositories { maven { url "https://maven.nucleoid.xyz" } maven { url "https://maven.tomalbrc.de" } maven { url "https://api.modrinth.com/maven" } maven { url "https://maven.architectury.dev/" } maven { url "https://maven.theepicblock.nl" content { includeGroup("nl.theepicblock") } } flatDir { dirs 'libs' } } dependencies { modImplementation("eu.pb4:polymer-core:") modImplementation("eu.pb4:polymer-blocks:") modImplementation("eu.pb4:polymer-resource-pack:") modImplementation("eu.pb4:polymer-resource-pack-extras:") modImplementation("eu.pb4:polymer-virtual-entity:") modImplementation("eu.pb4:polymer-autohost:${polymer_version}") modImplementation("eu.pb4:polymer-networking:") modImplementation("nl.theepicblock:resource-locator-api:${project.resource_locator_version}") modImplementation("eu.pb4:factorytools:") modImplementation("eu.pb4:sgui:") modImplementation("xyz.nucleoid:server-translations-api:${server_translation_api_version}") modImplementation files('libs/PolyMc-Extra-XXXXXXX.jar') modCompileOnly 'maven.modrinth:polydex:XXXXXX' } ``` ### Patch Code Example ``` public class PolymerifyRegistry implements PolyMcExtraEntrypoint { @Override public void onInitialize() { PolymerifyRegistry.initialize(); PolyMcExtraPacks.NAMESPACES.add(getNamespace()); } public static void initialize() { registerPolymerBlock(BlockRegistry.XXX, XXXPolymerBlock.INSTANCE); registerPolymerItem(BlockRegistry.XXX, new PolymerItemImpl(BlockRegistry.XXX.asItem())); } public static void registerPolymerBlock(Block block, PolymerBlock polymerBlock) { ResourceLocation key = BuiltInRegistries.BLOCK.getKey(block); PolymerBlock.registerOverlay(block, polymerBlock); if (polymerBlock instanceof BlockWithElementHolder elementHolder) { BlockWithElementHolder.registerOverlay(block, elementHolder); } PolyMcExtra.LATE_INIT.add(new Runnable() { @Override public void run() { if (PolymerBlockHelper.testJsonExist(block)) { BlockStateModelManager.addBlock(key, block); } } }); } public static void registerPolymerItem(ItemLike item, PolymerItem polymerItem) { PolymerItem.registerOverlay(item.asItem(), polymerItem); } @Override public String getNamespace() { return MOD_ID; } } public class XXXPolymerBlock { public static final BlockState OVERLAY_0 = PolymerBlockResourceUtils.requestEmpty(BlockModelType.ACTIVE_PRESSURE_PLATE); public static final BlockState OVERLAY_1 = PolymerBlockResourceUtils.requestEmpty(BlockModelType.KELP_BLOCK); public static final BaseFactoryBlock I
# PolyMc-Extra This is a server-side library and a tool for providing automatic patching mods for (https://github.com/TheEpicBlock/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.
## The following registry entries were processed by the patch List: Attribute, EntityType, SoundEvent, ComponentType, EnchantmentEffectComponentType, EnchantmentLocationBaseEffectType, EnchantmentEntityEffectType, StatusEffect, Potion, ScreenHandlers, ConsumeEffectType, StatType, CustomStat, PoiType, ItemGroup, Item, Block, BlockEntityType, Profession
## Runtime Lifecycle: 1. Register the built-in ExtraModelType 2. Register Special Entity Mappings 3. Scan and execute all module's "polymc-extra" entry points (PolyMcExtraEntrypoint.class) 4. Before all static registry entries freeze: Read the configuration file, iterate through the registry, and patch each missing item (server-only) 5. Verify item components integrity 6. Scan for required resources in JAR files and generate resource packages
## For player/server owners/mod pack makers: It can automatically repair the state of corresponding polymer blocks for most mods, allowing Vanilla clients to join servers with mods.
## For mod developers: It provides several APIs and tools for developers to patch complex mods; for others, you can ask questions on Discord.
### Knowledge required
You should first learn how to use some libraries.
(https://polymer.pb4.eu/) (https://tomalbrc.de/docs/bil) (https://modrinth.com/mod/polydex) (https://theepicblock.github.io/PolyMc/)
### Development Environment
1. Create a libs folder in your module project directory. 2. Download the JAR file and place it in the libs folder in your module project directory. 3. Add the following content to build.gradle:
``` repositories { maven { url "https://maven.nucleoid.xyz" } maven { url "https://maven.tomalbrc.de" } maven { url "https://api.modrinth.com/maven" } maven { url "https://maven.architectury.dev/" } maven { url "https://maven.theepicblock.nl" content { includeGroup("nl.theepicblock") } } flatDir { dirs 'libs' } } dependencies { modImplementation("eu.pb4:polymer-core:[${polymer_version}]") modImplementation("eu.pb4:polymer-blocks:[${polymer_version}]") modImplementation("eu.pb4:polymer-resource-pack:[${polymer_version}]") modImplementation("eu.pb4:polymer-resource-pack-extras:[${polymer_version}]") modImplementation("eu.pb4:polymer-virtual-entity:[${polymer_version}]") modImplementation("eu.pb4:polymer-autohost:${polymer_version}") modImplementation("eu.pb4:polymer-networking:[${polymer_version}]") modImplementation("nl.theepicblock:resource-locator-api:${project.resource_locator_version}") modImplementation("eu.pb4:factorytools:[${factorytools_version}]") modImplementation("eu.pb4:sgui:[${sgui_version}]") modImplementation("xyz.nucleoid:server-translations-api:${server_translation_api_version}") modImplementation files('libs/PolyMc-Extra-XXXXXXX.jar') modCompileOnly 'maven.modrinth:polydex:XXXXXX' } ```
### Patch Code Example ``` public class PolymerifyRegistry implements PolyMcExtraEntrypoint {
@Override public void onInitialize() { PolymerifyRegistry.initialize(); PolyMcExtraPacks. NAMESPACES.add(getNamespace()); } public static void initialize() { registerPolymerBlock(BlockRegistry. XXX, XXXPolymerBlock. INSTANCE); registerPolymerItem(BlockRegistry. XXX, new PolymerItemImpl(BlockRegistry. XXX.asItem())); }
public static void registerPolymerBlock(Block block, PolymerBlock polymerBlock) { ResourceLocation key = BuiltInRegistries. BLOCK.getKey(block); PolymerBlock.registerOverlay(block, polymerBlock); if (polymerBlock instanceof BlockWithElementHolder elementHolder) { BlockWithElementHolder.registerOverlay(block, elementHolder); } PolyMcExtra. LATE_INIT.add(new Runnable() { @Override public void run() { if (PolymerBlockHelper.testJsonExist(block)) { BlockStateModelManager.addBlock(key, block); } } }); }
public static void registerPolymerItem(ItemLike item, PolymerItem polymerItem) { PolymerItem.registerOverlay(item.asItem(), polymerItem); } @Override public String getNamespace() { return MOD_ID; } }
public class XXXPolymerBlock { public static final BlockState OVERLAY_0 = PolymerBlockResourceUtils.requestEmpty(BlockModelType. ACTIVE_PRESSURE_PLATE); public static final BlockState OVERLAY_1 = PolymerBlockResourceUtils.requestEmpty(BlockModelType. KELP_BLOCK); public static final BaseFactoryBlock I
📊 Mod Details
- Game
- Minecraft Mods
- Author
- SAGUMEDREAM
- Version
- BETA+26.1.2+1.0.5
- Downloads
- 766
- Endorsements
- 6
- Category
- fabric
- Created
- 1/29/2026
- Updated
- 5/23/2026
- Game Versions
- 26.1, 26.1.1, 26.1.2
- Tags
- library
🔧 How to Install Minecraft Mods Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Mods →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Mods commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Mods versions does PolyMc-Extra support?
The author lists 26.1, 26.1.1, 26.1.2. Other versions may work but are untested by the author.
What is the latest version of PolyMc-Extra?
Version BETA+26.1.2+1.0.5, published 2026-05-23 with 766 downloads recorded at the source.
Keep browsing — more Minecraft Mods mods await








