pos2obj — Area Selection OBJ Exporter (Fabric 1.21.11 / Client-Side Only)
pos2obj is a client-side Minecraft mod that allows you to select a region in-game and export all the blocks within that area as a 3D model (OBJ file) + Material (MTL file) + Textures (PNG).
🌟 Key Features & Advantages
-
Modded Block Support: Any modded blocks registered in the client's model system will be exported exactly as they appear in-game.
-
Accurate Connection States (Multipart): Walls, fences, stairs, and glass panes preserve their precise in-game connection states and shapes.
-
Resource Pack Compatible: Extracted models use the exact textures from your currently active resource pack.
🛠 How to Use
Use the following in-game chat commands to select your region and export the files:
| Command | Description |
/pos start |
Sets your current location as the starting point (Or use /pos start x y z to specify coordinates). |
/pos end |
Sets your current location as the ending point. |
/pos export <name> |
Exports the region. Textures are automatically baked into a single consolidated texture atlas. |
/pos export <name> atlas <scale> |
Same as above (Explicitly forces atlas generation). |
/pos export <name> separate |
Exports textures as individual PNG files for each sprite. |
/pos status |
Displays the current selection status. |
/pos clear |
Clears the current selection. |
📂 Output Directory
All exported files are saved to:
<game_directory>/pos2obj/<name>/
-
<name>.obj/<name>.mtl -
atlas.png(when consolidated) ORtextures/*.png(when exported separated) -
export_info.txt(Log file containing skipped blocks and warning details)
📏 Coordinate System:
1 block = 1 unit. The minimum corner (lowest coordinates) of the selected area is treated as the origin point (0, 0, 0), with the Y-axis pointing upwards.
🟢 Feature Support & Advanced Handling
-
Standard Blocks: Extracted via
BakedModel. Adjacent face culling, random model variants, model offsets (e.g., natural shifting of grass/flowers), and biome-specific tints (grass, leaves, water) are all baked directly into the textures. -
Fluids: Supports Water, Lava, and custom modded fluids (via Fabric's FluidRenderHandler). Exported as simplified geometry with flat top surfaces.
-
Mob Heads / Skulls: Supports Skeleton, Wither Skeleton, Zombie, Creeper, Piglin, and Player Heads. Player skins are dynamically downloaded from
textures.minecraft.net(falls back to the Steve skin if the download fails). -
Chests: Supports regular Chests, Trapped Chests, and Ender Chests (both Single and Double chest configurations).
-
Signs: Supports standing and wall-mounted signs for all wood types (※Text/Letters will not be exported).
-
Beds: All 16 colors supported (Includes mattress + legs via color-specific entity textures).
-
Shulker Boxes: All 16 colors + undyed versions supported. Accurately reflects all 6 placement directions.
-
Banners: Supports standing and wall-mounted variations. Layer patterns are blended dynamically to generate a unique texture for each distinct banner (Mod-added patterns are also supported if their assetId texture exists).
-
Animated Textures: Automatically freezes and uses the 1st frame (Frame 0).
-
Bleeding Protection (Padding): When generating a texture atlas, each sprite is padded by copying its edges by 4px. This prevents texture bleeding, seam lines, or rendering gaps caused by bilinear filtering or mipmapping in 3D software.