Home›Java›Mods›Create Bugfix: Schematic Patch
Create Bugfix: Schematic Patch
ModsJava

Create Bugfix: Schematic Patch

Java mod listed for Minecraft 1.21. Downloads from the MC Java Mods app on Android.

by cff1028 · on CurseForge

⬇ Download on CurseForge

The author built this one for Minecraft 1.21.1 on NeoForge. On other versions it may install and then do nothing.

This mod has been discontinued and will no longer receive updates or support. Please visit https://www.curseforge.com/minecraft/mc-mods/create-schematicchecker 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

For mod_version<1.1.3

For mod_version≥1.1.3

Admin Benefits

  1. Real-time exploit blocking
  2. Automatic evidence preservation
  3. Customizable filter rules
  4. 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:

Path Syntax:

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:

  1. Use /schematic-config reload to reload configuration after changes
  2. Use /schematic-config rules to view loaded rules
  3. Use /schematic-config status to check mod status
  4. All operations are removal operations only, no replacement functionality
  5. Regular expressions use Java standard syntax
  6. Make sure YAML file uses proper indentation (spaces, not tabs)
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more