Map Workshop is a multi-functional tool MOD designed for Minecraft map creators and gameplay designers. It focuses on "map creation, sub-archive management, player operation control, resource playback, keyboard interaction, and engineering configuration", making it suitable for puzzle maps, story maps, server mini-games, adventure maps, and other scenarios.
The MOD supports local configuration and datapack configuration. Many functions can be controlled uniformly through configuration switches, and it also supports Chinese and English language display.
Main Features
Sub-Archive System
Map Workshop provides a sub-archive function, allowing you to manage multiple independent sub-archives within the same main world. Each sub-archive can have its own data directory, player data, scoreboards, scheduled events, boss health bars, datapacks, and built-in resource packs.
Players can switch between the main world and sub-archives via commands, making it suitable for creating multi-level maps, multi-room instances, multi-world mini-games, or large-scale map projects.
Sub-archive support:
View the list of all sub-archives
Teleport to a specified sub-archive
Return to the main world
Independent player data for each sub-archive
Independent scoreboards for each sub-archive
Independent datapacks for each sub-archive
Built-in resource packs for sub-archives automatically downloaded and sent to multiple players
Screen prompt when switching resource packs: "Map built-in resource pack is downloading"
Backpack Extension Feature
The Backpack Extension adds an extra icon bar next to the player's inventory interface. Map creators can add custom icons through configuration, and each icon can be bound to a command or a web link.
Supported functions:
Suitable for creating map menus, quick teleports, task panels, story buttons, server function entries, etc.
Custom icons
Custom names and descriptions
Execute commands on click
Open web links on click
Show or hide icons based on player tags
Support for toggleable icons
Support for local configuration or datapack configuration
Key Mapping Feature
The Key Mapping feature allows map creators to configure specific keys and let the command system detect whether players are pressing these keys.
Supported functions:
Suitable for skill keys, interaction keys, confirmation keys, task keys, quick menus, map mechanisms, etc.
Configure custom keys
Configure key names and descriptions
Keys can be enabled or disabled
Press ] to open the key mapping interface
Hover over to view descriptions of active keys
Support for datapack or local configuration
Support for multiplayer synchronization
Support for execute if/unless mapping conditional commands
Video Playback Feature
The MOD has a built-in video playback feature that allows the player executing the command to play a specified video.
Supported reading:
Supported formats include:
Resource pack reading takes priority; if not found, it will fall back to local files. Suitable for story animations, tutorial videos, cutscenes, etc.
.mp4
.avi
.mkv
.mov
.wmv
Resource pack video path: assets/summer_xtjl_dtkz/hacker/sp/
Local video directory: summer_xtjl_hacker/sp/
Image Display Feature
The MOD supports displaying an image in fullscreen on the client of a specified player via commands.
Supported reading:
Supported formats:
Suitable for displaying story CG, map descriptions, task prompts, puzzle images, fullscreen warnings, or performance scenes.
.png
Resource pack image path: assets/summer_xtjl_dtkz/hacker/cktp/
Local image directory: summer_xtjl_hacker/cktp/
Forced Fullscreen Feature
The MOD provides a pseudo-fullscreen control feature that allows the player executing the command to enter or exit pseudo-fullscreen mode on their client.
Supported functions:
Suitable for immersive story maps, performance maps, mini-game maps, or maps that require a fixed visual experience.
Enable pseudo-fullscreen
Disable pseudo-fullscreen
Forcefully restore window state
View window debugging information
Under Windows, prevents Alt and Win keys from interfering during pseudo-fullscreen
Under other operating systems, it will simply display that forced fullscreen is not available
Chat Box Command Input Control
The MOD supports restricting players from entering the / symbol in the chat box, thereby preventing normal players from directly inputting commands.
Supported functions:
Enable or disable via the OP_Control switch
Allow specific players to input / normally via the OP_ID whitelist
Does not affect other chat inputs
Does not affect other normal operations
Support for local configuration or datapack configuration
Can dynamically add player IDs allowed to use commands via commands
Safe Teleport Command (Stp)
The MOD provides an enhanced teleport command /Stp to replace or supplement the vanilla teleport operations.
Supported functions:
Teleport self to coordinates
Teleport self to an entity
Teleport multiple targets to coordinates
Teleport multiple targets to an entity
Set rotation angles
Face an entity or coordinates
Synchronize client position after teleporting to reduce positional deviation in multiplayer
Collision Entities Feature
The MOD includes a custom collision entity system that can be used for special collisions, blocking, pushing, and rotating collision scenarios in map creation.
Supported functions:
Custom collision entities
Configurable collision sizes for entities
Support for rotating collision detection
Support for parameters such as pushing, friction, gravity, etc.
Support for collision box display debugging
Support for third-person camera collision handling
Function Switches and Datapack Control
Multiple features of the MOD support switch control, which can be controlled locally or via the main world datapack.
Common switches include:
json
backpack_expansion = true
mapping = true
Video_Playback = true
Image_playback = true
Force_full_screen = true
OP_Control = false
OP_ID = ["Summer_XTJL_", "Summer_XTJL"]
Where:
backpack_expansion: Backpack Extension feature
mapping: Key Mapping feature
Video_Playback: Video Playback feature
Image_playback: Image Display feature
Force_full_screen: Forced Fullscreen feature
OP_Control: Chat box / input control
OP_ID: List of player IDs allowed to use / normally
[h1=Commands Added by the MOD]
[h2=Sub-Archive Commands]
/worldsaves list
View the list of currently available sub-archives.
/worldsaves tp <Sub-archive name>
Teleport to the specified sub-archive.
/worldsaves lobby
Return to the main world lobby.
[h2=Video Playback Commands]
/Summer XTJL Hacker spbf
View the list of available videos and usage instructions.
/Summer XTJL Hacker spbf help
View video playback help.
/Summer XTJL Hacker spbf <Video name>
Play the specified video. Whoever executes the command will play the video on their client.
/Summer XTJL Hacker spbf reload
Stop the current video playback.
[h2=Image Display Commands]
/Summer XTJL Hacker ckt
View the list of available images.
/Summer XTJL Hacker ckt help
View image display debugging information.
/Summer XTJL Hacker ckt <Image name>
Display the specified image in fullscreen. Whoever executes the command will display the image on their client.
/Summer XTJL Hacker ckt reload
Close the current image display.
/Summer XTJL Hacker tpbf
Another entry point for image playback commands, with the same function as ckt.
/Summer XTJL Hacker tpbf <Image name>
Display the specified image in fullscreen.
/Summer XTJL Hacker tpbf reload
Close the current image display.
[h2=Forced Fullscreen Commands]
/Summer XTJL Hacker fs
View current window and fullscreen status information.
/Summer XTJL Hacker fs help
View forced fullscreen debugging information.
/Summer XTJL Hacker fs reload
Forcefully restore the window state, used when the window is abnormal, fails to exit, or needs a reset.
/Summer XTJL Hacker fs 1
Enable pseudo-fullscreen mode.
/Summer XTJL Hacker fs 2
Disable pseudo-fullscreen mode and restore the window.
[h2=OP_ID Whitelist Commands]
/OP_ID <Target selector>
Add the target player to the OP_ID whitelist. After being added, these players can still input / in the chat box and use commands normally when OP_Control = true.
Example:
text
/OP_ID Summer_XTJL
/OP_ID @a
/OP_ID @p
[h2=Key Mapping Commands]
Key mapping extends the vanilla execute command.
/execute if mapping <Target> <Key code> run <Command>
When the target player is pressing the specified key, execute the following command.
Example:
text
/execute if mapping @p 75 run say Player pressed K
/execute unless mapping <Target> <Key code> run <Command>
When the target player is not pressing the specified key, execute the following command.
text
/execute unless mapping @p 75 run say Player did not press K
Key Code Settings
Enhanced Teleport Command (Stp)
This is an enhanced version based on the vanilla tp command. The vanilla tp command has a teleport animation; this command directly teleports from coordinate 1 to another coordinate instantly. (You can test it yourself to see the difference).
Examples:
/Stp <Coordinates>
Teleport yourself to the specified coordinates.
/Stp <Target entity>
Teleport yourself to the specified entity.
/Stp <Target> <Coordinates>
Teleport the specified target to the coordinates.
/Stp <Target> <Coordinates> <Rotation>
Teleport the specified target to the coordinates and set their rotation angle.
/Stp <Target> <Coordinates> facing <Coordinates>
Teleport the target and make them face the specified coordinates.
/Stp <Target> <Coordinates> facing entity <Entity>
Suitable Usage Scenarios
Map Workshop is suitable for the following types of works:
Story maps
Puzzle maps
Adventure maps
Multi-level maps
Server mini-games
Immersive performance maps
Maps requiring custom UI and quick buttons
Maps requiring key detection and player action judgments
Maps requiring independent management of multiple sub-worlds / instances / rooms
Configuration File Directories
Backpack Extension
Backpack Extension configuration file: config/summer_xtjl_dtkz/local_backpack_config.json
Backpack Extension datapack configuration location: data/summer_xtjl_dtkz/backpack_expansion_config.json
(Datapacks have higher priority; if a datapack is detected, the local configuration will not be read)
Icon (resource pack) read path: assets/minecraft/textures/gui/icons/<Icon name>.png
json
{
"backpack_expansion_tag": "",
"backpack_expansion_parameter": [
{
"Name": "§6§l mod作者{translate: 'summer'}",
"Lore": "§a点击查看详细资料\n这些都可以自定义修改",
"tags": "",
"Icon": "author",
"command": {
"command": "https://space.bilibili.com/73474743"
}
},
{
"Name": "§6§l 带有vip标签可见",
"Lore": "§a可自定义修改",
"tags": "vip",
"Icon": "vip_tb",
"command": {
"command": "/say 带有vip并且的玩家才可看到按键"
}
},
{
"Name": "§6§l 无需带有任何标签可见",
"Lore": "§a可自定义修改",
"tags": "",
"Icon": "aj_tb",
"command": {
"command": "/say MOD作者:Summer_XTJL"
}
},
{
"Name": "§6§l 可切换按键",
"Lore": "§a可自定义修改,可切换按键图标以及命令\n输入",
"tags": "",
"Icon": "kqh_tb",
"command": {
"command": "/say 这是图标1效果"
},
"switch": {
"Name": "§6§l 已切换按键",
"Lore": "§a可自定义修改,可切换按键图标以及命令",
"icon": "yqh_tb",
"command": {
"command": "/say 这是图标2效果"
}
}
}
]
}
Key Mapping
Local read path: config/summer_xtjl_dtkz/mapping_config.json
Datapack configuration location: data/summer_xtjl_dtkz/mapping_config.json
(Datapacks have higher priority; if a datapack is detected, the local configuration will not be read)
json
{
"mappingr": [
{
"Name": "§a确认动作 [K]",
"Lore": "§7示例:按 K 作为确认动作\n§a默认开启",
"Button": "75",
"Activated": true
},
{
"Name": "§e任务提示 [P]",
"Lore": "§7示例:按 P 作为任务提示\n§c默认关闭",
"Button": "80",
"Activated": false
},
{
"Name": "§d特殊菜单 [F8]",
"Lore": "§7示例:按 F8 打开/触发特殊菜单\n§a默认开启",
"Button": "119",
"Activated": true
}
]
}
Control Function Switches
Client main configuration file is located at: config/summer_xtjl_dtkz-client.toml
Datapack configuration (can only be placed in the main world datapack for reading): data/summer_xtjl_dtkz/summer_xtjl_dtkz-client.json
Datapack content below:
json
{
"backpack_expansion": true,
"mapping": true,
"Video_Playback": true,
"Image_playback": true,
"Force_full_screen": true,
"OP_Control": false,
"OP_ID": ["Summer_XTJL_", "Summer_XTJL"]
}
Video Playback
Resource pack path: assets/summer_xtjl_dtkz/hacker/sp/
Local video path: .summer_xtjl_hacker/sp/
(Both can be read simultaneously)
Image Display
Resource pack path: assets/summer_xtjl_dtkz/hacker/cktp/
Local image path: .summer_xtjl_hacker/cktp/
(Both can be read simultaneously)
Sub-Archive
Place the archives in the summerxtjl_world/ folder under the save directory.
(These are just normal Minecraft saves, and they can be read directly.)
Development Plan
MOD configuration file editor, and support for vanilla command generation features. However, it currently only supports version 1.20.1, as I am still developing a horror map and haven't had time to adapt it for other versions yet.