介绍
This mod has been discontinued and will no longer receive updates or support. Please visit https://modrinth.com/mod/createschematicchecker to find a similar mod.
Overview
This mod fixes a critical schematic item exploit in the Create mod for Minecraft 1.21+. Please note: when using the mod for the first time on your server (mod_version ≥1.1), execute the command /schematic-config reload to initialize the mod configuration.
Original Issue
Create’s schematics could store blocks/items with illegal components, allowing players to obtain unobtainable survival items.
Fix Features
- Anomaly Detection: Scans uploaded schematics in real-time
- Data Sanitization: Automatically removes illegal components/blacklisted blocks
- Alert Logging: Outputs server warning when player uploaded anomaly schematic
- Auto-Archiving: Backups anomalous schematics at:/schematics/anomaly/playername/schematic.nbt
For mod_version<1.1.3
- Configurable: Blacklist management via
schematicsfix-common.toml - Advanced Configuration Feature: You can define the schematic NBT detection logic using JSON in
schematicsfix.jsonl. However, please note that this feature is still experimental. Unless you know what you are doing, do not modify the default advanced configuration.
For mod_version≥1.1.3
- Configurable:Define NBT filter rules freely through
schematicsfix.yaml
Admin Benefits
- Real-time exploit blocking
- Automatic evidence preservation
- Customizable filter rules
- Zero manual review for legitimate uploads
Configuration File Format (mod_version≥1.1.3)
Configuration File Location: config/schematicsfix.yaml
Basic Structure:
version: "1.0"
rules:
- name: "rule_name"
target_path: "target_path"
conditions:
- condition_list
cleanup_actions:
- cleanup_action_list
Rule Fields:
- name: Unique identifier for the rule, used for logging and command display
- target_path: Target path to search for in NBT data, supports wildcards
- conditions: List of conditions that must all be satisfied to trigger cleanup
- cleanup_actions: List of cleanup actions to execute when conditions are met
Path Syntax:
- Normal path: Use dots to separate, e.g., “blocks.nbt.id”
- Wildcard: Use [* ] to match all array elements Example: “blocks[* ].nbt” matches nbt fields in all blocks arrays Example: “messages[* ]” matches all elements in messages array
- Specific index: Use [number] to match specific array index Example: “messages[0]” matches the first element in messages array
Condition Types:
field_equals - Field value equals
type: "field_equals"
path: "field_path"
value: expected_value
field_not_equals - Field value not equals
type: "field_not_equals"
path: "field_path"
value: expected_value
field_exists - Field exists
type: "field_exists"
path: "field_path"
string_contains - String contains
type: "string_contains"
path: "field_path"
value: "string_to_find"
Cleanup Action Types:
conditional_remove - Conditional removal
type: "conditional_remove"
target_path: "target_field_path"
condition: removal_condition (optional)
remove_strategy: "field_only" (only removes field value)
path_remove - Path removal
type: "path_remove"
target_path: "target_path"
remove_strategy: "entire_object" (removes entire object)
nested_string_remove - Nested string cleanup
type: "nested_string_remove"
target_path: "target_path"
condition: trigger_condition (optional)
remove_pattern: "regex_pattern"
remove_strategy: "regex_replace"
Complete Examples:
Example 1: Clean specific fields of valve handles
Rule name: valve_handle_capacity_cleanup
Target path: blocks[* ].nbt
Condition: id field equals “create:valve_handle”
Action1: If Network.Capacity not equals 256.0, remove this field
Action2: If Speed not equals 32.0, remove this field
Example 2: Clean container data from clipboards
Rule name: clipboard_container_cleanup
Target path: blocks[* ].nbt
Condition: id field equals “create:clipboard”
Action: Remove Item.components.minecraft:container path
Example 3: Clean click events from signs
Rule name: sign_clickevent_cleanup
Target path: blocks[* ].nbt
Condition: id field equals “minecraft:sign”
Action: Search for strings containing “clickEvent” in front_text.messages[*],
use regex to remove clickEvent objects
Configuration Example Code:
version: "1.0"
rules:
- name: "valve_handle_capacity_cleanup"
target_path: "blocks[*].nbt"
conditions:
- type: "field_equals"
path: "id"
value: "create:valve_handle"
cleanup_actions:
- type: "conditional_remove"
target_path: "Network.Capacity"
condition:
type: "field_not_equals"
path: "Network.Capacity"
value: 256.0
remove_strategy: "field_only"
- type: "conditional_remove"
target_path: "Speed"
condition:
type: "field_not_equals"
path: "Speed"
value: 32.0
remove_strategy: "field_only"
- name: "clipboard_container_cleanup"
target_path: "blocks[*].nbt"
conditions:
- type: "field_equals"
path: "id"
value: "create:clipboard"
cleanup_actions:
- type: "path_remove"
target_path: "Item.components.minecraft:container"
remove_strategy: "entire_object"
- name: "sign_clickevent_cleanup"
target_path: "blocks[*].nbt"
conditions:
- type: "field_equals"
path: "id"
value: "minecraft:sign"
cleanup_actions:
- type: "nested_string_remove"
target_path: "front_text.messages[*]"
condition:
type: "string_contains"
value: "clickEvent"
remove_pattern: "\"clickEvent\":\\s*\\{[^}]*\\}"
remove_strategy: "regex_replace"
Important Notes:
- Use
/schematic-config reloadto reload configuration after changes - Use
/schematic-config rulesto view loaded rules - Use
/schematic-config statusto check mod status - All operations are removal operations only, no replacement functionality
- Regular expressions use Java standard syntax
- Make sure YAML file uses proper indentation (spaces, not tabs)
常见问题
Create Bugfix: Schematic Patch 支持哪些 Minecraft 版本?
Create Bugfix: Schematic Patch 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。
Create Bugfix: Schematic Patch 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。
cff1028 的其他作品
查看全部 →
Create Bugfix: Clipboard Patch
This mod fixes a bug in the Create mod’s clipboard. It removes illegal data components, ensuring stability by preserving only whitelisted components.
Aeronautics: ModernUI Compat
External compatibility patch for Create Simulated/Aeronautics creative-tab section banners and Modern UI tooltips.
dimensionlock
A forge mod for managing dimension modification permissions
评论
登录后评论和评分