Create Mod Wiki

website·Indexed 32 days ago

https://wiki.createmod.net

Official documentation for the Create mod, featuring guides on using the Schematic module to save, load, and print .nbt structures via the Schematicannon. Includes comprehensive changelogs for versions ranging from 0.3 to 6.0.10, supported game versions for Minecraft (including 1.18.1, 1.19.2, 1.20.1, and 1.21.1), and development status for Fabric and Forge loaders.

Tokens
22.8K
Snippets
115
Records
252
Agent score
60%

What's inside Create

  1. Overview of the Package Object in Create Logistics

    The Package Object is a snapshot of a package at a specific moment. It can be obtained via .getItemDetail() on a package (which exposes a package field) or by using a packager/re-packager's getPackage() method.

    Important Mutability Note: Because it is a snapshot, if the package data is changed by an addon or another computer using setAddress(), the snapshot will not be notified and will become outdated. If a package is currently inside a packager/re-packager (obtained via getPackage() or the package_created event), isEditable() will return true, allowing the address to be modified.

  2. Understand Order Data in Create CC-Tweaked Integration

    Order Data is attached to packages requested via methods other than a redstone signal to a packager. This immutable data is used by repackagers to reassemble packages and can be used to build custom package sorting systems. Key concepts include:

    • OrderID: A unique ID shared by all packages belonging to the same order.
    • Index: The sequence number of the package from a specific packager (e.g., if 10 stacks are requested and the first package holds 9, it is index 1; the second is index 2).
    • Link Index: The sequence number of the packager fulfilling the order (e.g., if items are pulled from two different chests, the first chest's packages have linkIndex 1, the second have linkIndex 2).
    • Crafts: A list of 3x3 crafting recipes associated with the order.
    • Item List: A comprehensive list of all items required for the complete order.
  3. Get detailed item information from network stock

    Use getStockItemDetail(index) to retrieve detailed information about an item at a specific index in the network stock. Note that index orders can change when the network reloads; it is recommended to use stock() first to identify the correct index or use stock(true) to get detailed information for all items at once. If the index is out of range, it throws an error.
    -- Example return value
    {
      name = "minecraft:apple",
      itemGroups = {},
      tags = {},
      count = 1,
      maxCount = 64,
      displayName = "Apple",
    }
  4. Get detailed item information from the payment inventory

    Use getItemDetail(slot) to retrieve comprehensive information about an item in a specific slot of the payment inventory. This includes basic data (name, count) as well as display names and durability details. If the slot is empty, it returns nil; if the slot is out of range, it throws an error.
    -- Example return value
    {
      name = "minecraft:apple",
      itemGroups = {},
      tags = {},
      count = 1,
      maxCount = 64,
      displayName = "Apple",
    }
  5. Get detailed item information from a Packager inventory slot

    The getItemDetail(slot) method returns a table containing detailed information about an item in a specific slot of the connected inventory. This includes basic info (name, count) and extended details like displayName, damage, maxDamage, and durability. For items with complex data like enchantments, use textutils.serialize to inspect the table. Throws an error if the slot is out of range.
    local item = packager.getItemDetail(1)
    if item then
      print("Item: " .. item.displayName)
      print("Count: " .. item.count)
    end
  6. New features and blocks introduced in Create 0.3

    Create 0.3 introduces a wide array of new mechanical and fluid-handling components, including:

    • Logistics & Transport: Mechanical Arms, Andesite and Brass Funnels, Chutes, Depots, and Minecart Couplings.
    • Fluid Handling: Mechanical Pumps, Fluid Pipes (including Encased and Smart versions), Item Drains, Hose Pulleys, Fluid Valves, Fluid Tanks, and Spouts.
    • Power & Rotation: Blaze Burners, Windmill Bearings, and improved Mechanical Bearings that stabilize sub-contraption rotation.
    • Construction & Aesthetics: Sail Frames/Sails, Dyeable Seats, Radiant/Shadow Casings, Copper Tiles, and decorative brackets/braziers.
    • Contraptions: Support for active Dispensers, Droppers, and bells on contraptions, and Chest-Minecart mounted contraptions.
  7. Get detailed information for a PostBox item

    Use getItemDetail(slot) to retrieve comprehensive data about an item in a specific slot. This includes basic info (name, count, nbt), display name (displayName), and durability (damage, maxDamage, durability). For packages, it includes a package object containing its own set of methods (e.g., getAddress(), list()).
    local detail = postBox.getItemDetail(1)
    if detail then
        print("Item: " .. detail.displayName)
        if detail.package then
            print("This is a package!")
        end
    end
  8. Get detailed item information from a Re-Packager inventory slot

    The getItemDetail(slot) method returns a table containing detailed information about the item in the specified slot of the connected inventory. This includes basic info (name, count) as well as display names and durability data. If the slot is empty, it returns nil. If the slot is out of range, the method throws an error.
    local item = repackager.getItemDetail(1)
    if item then
        print("Item: " .. item.displayName)
        print("Count: " .. item.count)
        print("Durability: " .. item.durability)
    end
  9. Assemble a train at a station

    To assemble a new train, the station must first be placed in assembly mode using setAssemblyMode(true). Calling assemble() will create the train and automatically cause the station to exit assembly mode upon completion. This method throws an error if the station is not in assembly mode, not connected to a track, or if assembly fails.
    station.setAssemblyMode(true)
    station.assemble()
  10. Changes to Super Glue and Contraptions in v0.5

    The super glue mechanic has been redesigned to operate as 'areas' rather than individual connections. Additionally, super glue captured by schematics or the /c clone command is now automatically cropped to the selected boundary.