Skip to main content

Items and Blocks

MiXianTu does not preset numbers for any gameplay system, but it does provide a small set of generic carrier items and components. Data-driven item gameplay usually matches existing items through the binding tables instead.

Generic Materials

ItemIDDefault currency valueFramework role
Lesser Spirit Stonemxt:spirit_stone1The basic aura medium and trading unit.
Medium Spirit Stonemxt:medium_spirit_stone10A compressed basic spirit stone.
Greater Spirit Stonemxt:high_spirit_stone100The default medium for high-tier trades and high-consumption systems.
Supreme Spirit Stonemxt:supreme_spirit_stone1000A rare, high-value medium.
Chequemxt:chequeSet by its item componentA signable value carrier for the existing trade system.

The four spirit stones share the SpiritStoneItem base class and implement spirit power charge and drain. Capacity is not defined in code: it is taken from the aura of the matching item_aura entry, and after a datapack reload the first real access truncates old values above the new maximum. A spirit stone without the mxt:spirit_storage component is treated as fully charged, while a component with amount: 0 means empty. The Display Stand tries to charge the spirit stone it displays when it receives spirit power, and when cultivation fuel runs out the same stone is drained and returned.

The bundled currency datapack only defines a 10:1 two-way exchange and the values above. Content packs can overwrite these entries directly, or reference any of the four spirit stones from an item_binding, formation, artifact, cultivation or trade definition. The mod also registers Copper Coin, Iron Coin, Gold Coin, Diamond Coin, Emerald Coin and Netherite Coin (mxt:copper_coin, mxt:iron_coin, mxt:gold_coin, mxt:diamond_coin, mxt:emerald_coin, mxt:netherite_coin), which have no item behaviour of their own: their values and exchanges come from the same currency registry and its bundled entries.

The remaining materials carry no behaviour of their own; their use is decided by binding tables, components, datapacks and KubeJS.

MaterialID
Spirit Iron Ingotmxt:spirit_iron_ingot
Spirit Iron Nuggetmxt:spirit_iron_nugget
Spirit Woodmxt:spirit_wood
Spirit Wood Coremxt:spirit_wood_core
Alchemy Dregsmxt:alchemy_dregs
Impuritymxt:impurity

Blank carriers, identity items and fixed props are ordinary items as well. Blocks and the four spirit stones are not repeated here.

CategoryItemID
Blank carrierSpirit Ringmxt:spirit_ring
Blank carrierSpirit Stone Bagmxt:spirit_stone_bag
Identity and recordSpirit Rootmxt:spirit_root
Identity and recordCultivation Jade Slipmxt:cultivation_jade_slip
Identity and recordBlank Talisman Papermxt:blank_talisman_paper
Fixed propRecall Talismanmxt:recall_talisman
Fixed propRealm Reward Boxmxt:realm_reward_box

Generic Functional Items

The items below are backed by a unified server-side implementation shipped with the mod. Each item only stores a datapack holder or persistent state; it does not copy the rules of the corresponding module, and the actual contract, formation, secret realm and resource values still come from datapacks.

ItemIDPersistent componentUnified behaviour
Contract Scrollmxt:contract_scrollmxt:contract_scrollStores a contract_type. Using it on a creature lets ContractService validate and sign the contract.
Beast Taming Bellmxt:beast_taming_bellnonePerforms a unified recall of your own contracted spirit beast.
Spirit Beast Bagmxt:spirit_beast_bagmxt:spirit_beastStores the complete persistent entity data of one contracted creature. Use it on a spirit beast to store it, and right-click an empty bag to release it.
Formation Platemxt:formation_platemxt:formation_plateStores a formation. Using it on a block calls FormationWorldService.
Realm Tokenmxt:realm_tokenmxt:realm_tokenStores a realm_instance. Right-click to enter the bound secret realm, and right-click inside the realm to return to the origin position.
Spirit Vesselmxt:spirit_vesselmxt:resource_containerStores any resource. Right-click releases it to the holder, sneak-right-click stores from the holder; each resource has a capacity of 1000.
Wooden Token / Stone Tokenmxt:wooden_token, mxt:stone_tokenmxt:tokenCarry kind, value and owner together for the sect, secret realm and trade permission systems.
Identification Mirrormxt:identification_mirrorconsumes mxt:identificationResolves items that carry an identification component in a unified way; the items to identify come from content packs or other mods.
Talisman Brush / Talisman Inkmxt:talisman_brush, mxt:talisman_inknoneGeneric base inputs for talisman crafting and formation content, used together with Blank Talisman Paper; the recipes come from datapacks or KubeJS.

Component values can be written directly with the item component syntax or from KubeJS, and the referenced datapack registry IDs are parsed by the vanilla registry codec:

give @s mxt:contract_scroll[mxt:contract_scroll={contract_type:"mxt_test:master_servant"}]
give @s mxt:formation_plate[mxt:formation_plate={formation:"mxt_test:spirit_gathering"}]
give @s mxt:realm_token[mxt:realm_token={realm:"mxt_test:trial_realm"}]
give @s mxt:spirit_vessel[mxt:resource_container={values:{"mxt_test:qi":25.0}}]

When a Contract Scroll, Formation Plate or Realm Token has no binding definition, it fails safely and shows a message. The state of Spirit Beast Bags, Spirit Vessels and tokens is kept in ItemStack data components, and the server is the only authority.

Blocks and Workstations

BlockIDFunction
Spirit Crafting Tablemxt:spirit_crafting_tableReuses the vanilla crafting layout but only accepts spirit_shaped and spirit_shapeless recipes. Input items stay in the menu; aura is only accepted when a matching recipe exists, and it is deducted when the result is taken out.
Forge Tablemxt:forging_tableThe forging station: several materials are hammered into a result following a blueprint, and the quality of the result depends on the process and the number of steps.
Exchange Stationmxt:exchange_stationA stonecutter-style menu that breaks one currency item into the smaller denominations listed in that currency's exchanges entries.
Trade Stationmxt:trade_stationA station owned by the player who placed it, which players trade with directly.
System Trade Stationmxt:system_stationThe system-owned variant of the trade station: unbreakable and it drops nothing.
Cheque Tablemxt:cheque_tableConverts configured currency items to and from cheques.
Oak / Birch / Spruce / Jungle / Acacia / Dark Oak Display Standmxt:oak_display_stand, mxt:birch_display_stand, mxt:spruce_display_stand, mxt:jungle_display_stand, mxt:acacia_display_stand, mxt:dark_oak_display_standHolds a single item and drops it above the centre of the block when it is taken out. If the item implements the spirit access interface, Jade shows the item and its spirit power percentage.
Spirit Stone Oremxt:spirit_stone_oreThe mod's spirit stone ore block; it drops experience when mined. Aura contributions are defined by datapacks.
Spirit Stone Blockmxt:spirit_stone_blockThe storage block; the bundled block_aura entry makes it an aura source.

Item Bindings

MiXianTu does not create logical datapack items. Physical items must be registered by Minecraft, a content mod or KubeJS; datapacks only attach MiXianTu gameplay rules to those existing item IDs.

RegistryPurpose
item_bindingAttaches behaviour, conditions, spirit roots or generic display to an existing item.
weapon_bindingConfigures damage, attack speed, attributes and attack, use and tick behaviour.
pill_bindingConfigures pill consumption and behaviour.
technique_bindingBinds a cultivation technique definition to an existing book, jade slip or other item.

Item matching accepts a single item, a vanilla item tag, wildcards, regular expressions and mixed arrays. See Item Binding for the shared matching, condition and quality rules, and Weapon Binding, Pill Binding and Technique Binding for the fields of each binding type.

Item Aura

An item_aura definition gives an existing item a releasable aura capacity, a consumption speed, a completion behaviour and an optional result_stack.

During cultivation the whole matching stack is taken out of the inventory, and capacity, consumption speed and release speed all scale with the stack count, so the total consumption time does not change. The remaining aura is kept in the item's mxt:item_aura component, while the capacity is always computed dynamically from the datapack definition.

See Item Aura for the full runtime behaviour and the field list.