CustomThings Mod — Guide
Getting Started
To begin adding content, you must first install the mod and its dependency, EnderCore. Upon the first launch, the mod will generate a directory structure within your Minecraft instance.
Directory Structure
All custom content is managed within the config/CustomThings/ folder. You should create the following subfolders if they do not exist:
/blocks/: JSON files for custom blocks./items/: JSON files for custom items./recipes/: JSON files for crafting and smelting recipes./worldgen/: JSON files for ore generation./creativetabs/: JSON files for custom creative inventory tabs./achievements/: JSON files for custom achievements./fuels/: JSON files for defining furnace fuels.
Texture Allocation
Textures for your custom things should be placed in a resource pack under assets/customthings/textures/blocks/ or assets/customthings/textures/items/. The textureName property in your JSON files will point to these locations.
World Generation
CustomThings allows you to spawn your custom blocks as ores in the natural world. Define these in config/CustomThings/worldgen/.
World Gen Properties
- block: The block to generate (e.g.,
customthings:ruby_ore). - baseBlock: The block to replace (usually
minecraft:stone). - clusterSize: The number of blocks in a single vein.
- numClusters: The number of veins per chunk.
- minHeight: The minimum Y-level for spawning.
- maxHeight: The maximum Y-level for spawning.
Example World Gen JSON
{
"block": "customthings:ruby_ore",
"baseBlock": "minecraft:stone",
"clusterSize": 6,
"numClusters": 4,
"minHeight": 0,
"maxHeight": 32
}
Fuels and Smelting
You can turn any item into a furnace fuel by defining its burn time in config/CustomThings/fuels/.
Fuel Properties
- item: The item ID to be used as fuel.
- burnTime: The duration the fuel lasts in ticks (200 ticks = 1 item smelted).
Example Fuel JSON
{
"item": "customthings:compressed_coal",
"burnTime": 16000
}
Creative Tabs
To keep your custom items organized, you can create a custom tab in the Creative Inventory via config/CustomThings/creativetabs/.
Creative Tab Properties
- label: The internal name of the tab.
- iconItem: The item ID to use as the tab's icon.
Example Creative Tab JSON
{
"label": "my_mod_tab",
"iconItem": "customthings:ruby_gem"
}
Localization
To give your items and blocks proper names in-game, you must use a language file within a resource pack. Create a file at assets/customthings/lang/en_US.lang and add entries using the following format:
tile.customthings:ruby_ore.name=Ruby Ore
item.customthings:ruby_gem.name=Ruby
itemGroup.my_mod_tab=My Custom Mod