This page contains an index and reference for content creation.
Check out ProjectRay12's Tutorial here: Xie Coding for Dummies
Essential learning[]
Before diving headfirst into creating content for Xie's Mod, there will be a little elementary knowledge you'll need to pick up. Expect to be a little frustrated here or there, but if you persevere you will be well on your way to making custom content with the best of them!
- JSON syntax
- Textures
- IDs
- Block/item identifier
- TUTORIAL: Making a bacon tree (original post)
Blocks[]
- Blocks
- Declarations:
- name - The default name of the block
- names - The names of each metadata value of the block
- type - One of several choices for the type of the block to implement
- override - The identifier that this block should delete and replace
- id - The Minecraft ID of the block (if omitted, must be specified in a ".xid" file instead)
- tex - The side textures, used when the block is in the game world
- sides - One of several declarations to specify to which sides a texture applies to the block
- texFile - The filename of the spritesheet to reference the texture(s) from
- material - What the block is made out of, for purposes of tools
- stepSound - What sound the block makes when stepped on or landed on
- blockBounds - The dimensions of the 3D block when rendered in the game
- hardness - How hard is the block to harvest with tools
- renderType - How should the block be rendered (as a pane, cube, X, etc.)
- lightValue - How much light the block gives off
- lightOpacity - How much light can/cannot pass through this block
- opaque - Whether light can/cannot pass through this block at all
- smelted/cooked - The product when this block is smelted
- fuel - The duration, in 1/20 sec, that this block will provide fuel when burned
- walkthroughable - Whether this block is/isn't intangible (can be walked through)
- becomesWhenDestroyed - A block to replace this block with when destroyed
- tool - The types of tools that are "effective" against this block
- spikey - Whether this block causes damage on contact
- canBePlacedOn - Where this block can be placed on/against
- spawn - How this block should spawn (deprecated - use a full spawn declaration instead)
- drops - What identifiers this block should drop when destroyed
- Basic
- dropSelf - Whether the block's own identifier should be dropped (shorthand for specifying directly in "drops")
- inheritMeta - Whether each specific subtype of this block should be treated as a separate block
- Plant
- growthRate - The percentage chance this block will grow on a given block update (average every ~35~75 sec)
- growsOn - The list of blocks this plant will grow on top of
- growsAgainst - The list of blocks this plant will grow on the side of (untested)
- growthHeight - How tall should the plant grow, in Minecraft blocks
- growsInto - What type the block should change into when it reaches its maximum growth
- growsNearWater - The maximum distance this block can be from water to continue growing
- lightLevel - The minimum light level for the block to continue growing
- reproductive - Whether the block should spawn another of itself nearby when at maximum growth
- fertilisable/fertilizable - Whether Xie's Mod fertiliser can be used to grow this plant
- Crop
- Bush
- Sapling
- Tree (leaves)
- shape - One of several choices to specify the shape of the tree
- trunk - Which block is used as the tree's trunk
- trunkMeta - Which block is used for each corresponding subtype of the tree
- sheds - A list of items or blocks to spawn as drops nearby, on a periodic basis
- shedSaturation - The maximum number of drops that can be nearby before no more drops are made
- colorise/colorize - Whether the leaves should be tinted based on biome shading
- Log
- Stem
- grows - The type of block to spawn nearby
- Furnace
- idle - The block ID to place when this furnace runs out of fuel (BUG: will always show burning particles even when out of fuel)
- initialBurnTime - Whether the furnace starts with fuel, and how much it starts with
- naked - Whether the furnace will set fire on contact
- volatility - A chance of the furnace setting fire to nearby blocks
- burnLevels - A set of metadata values corresponding to amount of fuel remaining (BUG: does not reverse when refueled)
- cookTime - The amount of time, in 1/20 sec, to smelt/cook a single object
- fuels - What types of items or blocks can be used as fuel for this furnace, and their durations
- Mounted
- facing - What faces the block can be mounted on
- isMovable - Whether the block can be moved with a special item or with bare hands
- moveWithItem - The item used to move the block -- uses bare hands if not specified
- Fence
- Glass
- Pane
- Grass
- dirt - The type of block that this grass will replace
- canDie - Whether the grass will revert to dirt in darkness or when smothered
- lightLevel - The minimum light level to grow and spread
- colorise - (No "-ize" equivalent) Whether the grass should be tinted based on biome shading
- Chest
- largeName - Name tag shown at top of interface when the chest is large
- animate - Whether the chest should be animated
- jammable - Whether the chest is blocked by an opaque/solid block placed on top
- merge - Whether the chest can auto-join with nearby chest blocks to make a large chest
- mergeHorizontally - Whether the chest can merge horizontally
- mergeVertically - Whether the chest can merge vertically
- openSound - The sound played when chest is opened
- closeSound - The sound played when chest is closed
- mesh - The filename of the texture to apply to the animated chest model
- Declarations:
Items[]
- Items
- Declarations:
- name - The name of the item (not "itemName" as specified in official documentation)
- id - The Minecraft ID of the item (if omitted, must be specified in a ".xid" file instead)
- type - One of several choices for the type of the item to implement
- override - The identifier that this item should delete and replace
- icon - The texture and sprite of the icon, for voxel model in hand as well as icon in inventory
- texFile - The filename of the spritesheet to reference the icon from
- smelted/cooked - The product when this object is smelted in a standard furnace
- drops - List of blocks and/or objects added to player's inventory when this item is used in the hotbar
- stackSize - The maximum number of these items that can be stacked together
- container - The item added to the player's inventory when the object is used in a crafting recipe or is smelted
- fuel - The smelting time, in 1/20 sec, that this object will contribute to a furnace when used in the fuel slot
- Basic
- Food (also for beverages)
- hunger - Amount of (visible) food points added to player (a full meter is 20 food points)
- thirst - Amount of hydration points added to player (CURRENTLY UNUSED)
- nourishment - Amount of (invisible) food points added to player as a surplus to hunger (see Hunger (Mechanics) on Minecraft Wiki)
- dogFood - Whether this item can be fed to wolves
- action - Which animation and sound effects should play when the food/beverage item is right-clicked
- potionEffect - A list of magic effects to apply to the player when the food/beverage item consumed
- Seeds (also generic block placer)
- growsInto - What type of block to place when right-clicked
- inheritMeta - Whether the metadata of the block should be the same as the seeds when placed
- Fertiliser/Fertilizer
- worksOn - The list of plants that will be instantly grown to maximum when fertilised
- Stick
- blocks - Specifies the list of drops created when the stick is used to beat a specified block type
- destroyChance - The chance per hit that the beaten block is destroyed
- uses - The number of times the stick can be used to beat a block
- Tool
- blocksEffective - The block types that this tool can be used against to destroy quickly
- materialsEffective -- The block materials that this tool can be used against to destroy quickly
- canHarvest - A whitelist of blocks that can be harvested
- cannotHarvest - A blacklist of blocks that cannot be harvested
- transforms - A list of blocks that the tool will transform into another block on a right-click
- efficiency - The speed multiplier when used against an effective block instead of an ineffective block
- magicWand - Whether the metadata of any block right-clicked with this tool should be increased by 1 (DEBUGGING)
- damage - The amount of damage, in half-hearts, applied on a successful hit with this tool
- Bucket
- canHoldWater - Whether the bucket can carry water
- canHoldLava - Whether the bucket can carry lava
- canHoldMilk - Whether the bucket can carry milk
- names/bucketNames - The name of the bucket can be specified according to carried liquid
- icon - The icon of the bucket can also be specified according to carried liquid
- Sword (or other melee weapon)
- damage - The amount of damage, in half-hearts, applied on a successful hit with this melee weapon
- uses - The maximum number of successful hits possible with this weapon before it breaks
- enchantability - The maximum level of enchantment possible (weapon cannot be enchanted without this)
- flame - The chance of setting the target on fire
- Bow
- ammo - Type of ammo used
- ammoConsumed - Whether the arrows fired are not retrievable
- semiAutomatic - Whether the bow fires instantly on a right-click
- power - The power of the launched shot for a semi-automatic bow
- Declarations:
Aliases[]
- Aliases
Recipes[]
- Recipes
- Quick recipe
- Cull recipe
- cull - The identifier for which all existing recipes should be deleted
- Smelting recipe:
- content - The identifier of the item to be smelted
- smelt - The identifier produced by smelting in any vanilla furnace (NOTE: quantity is ignored)
- Shapeless recipe:
- product - The identifier produced when the necessary ingredients are combined on a crafting grid
- content - The list of identifiers required on the crafting grid
- Shaped recipe:
- pattern - The specific shape, with each new symbol corresponding to the order of identifiers in the "content"
Spawns[]
- Spawns
- Declarations:
- block - The block identifier to spawn (optional)
- type - Where the identifier should be spawned (which world generator to tie into)
- rarity - The average number of chunks that must be generated before a spawn is attempted ("15" means 1 in every 15 chunks)
- spawnsOn - A block identifier that must be directly BELOW the randomly selected tile
- spawnsIn - A block identifier that IS the randomly selected tile to replace
- spawnsNear - A block identifier that must be present before spawning is allowed
- nearDistance - The maximum distance away that the "spawnsNear" block can be
- spawnsUnder - The block identifier that must be directly ABOVE the randomly selected tile
- biomes - The substring to match in the biome name when checking for spawning
- cluster - The chances of spawning each different metadata value in the same lode
- clusterSize - The maximum number of elements in the same lode (in ideal conditions)
- clump - Whether the elements of the lode must be touching each other
- Declarations: