/push-to-craft

A minecraft mod to enable expanding items/tags in recipes

Primary LanguageJavaMIT LicenseMIT

Logo

Push To Craft

supported Minecraft versions: 1.15 | 1.16 | 1.17 | 1.18 | 1.19

curseforge downloads modrinth downloads latest maven release

A Minecraft Fabric library mod that allows to make items equivalent to existing items in crafting recipes.
This is useful if existing recipes don't already use tags.

Usage

This mod adds a new data type called push to craft. Put the files into a push to craft directory in your datapack or data folder of your mod (beneath the recipes or tags directories).

A valid json file is built like this:

  • additions: Array - Defines all items or tags that you want to add to the targets
    • Entries are item ids as Strings. You can use tags by prepending a #.
  • targets: Array or String - Defines which items and tags to target in the recipes
    • Entries are item ids or tags as Strings.
  • recipes: Object - Gives conditions for which items to choose
    • types: Array - optional - Defines which recipe serializers to target
      • Entries are recipe serializer ids as Strings
    • ids: Array - optional - Defines which recipes to target
      • Entries are Strings that are either of these:
        • Exact recipe ids à la minecraft:anvil
        • Namespace specific regular expression that only mark the last part of the id as regex à la minecraft:.*
        • A complete regular expression beginning and ending with a forward slash à la /.*craft:.*/

Example

This allows you to use blackstone in favor of cobblestone everywhere:

{
    "additions": [
        "minecraft:blackstone"
    ],
    "targets": [
        "minecraft:cobblestone"
    ],
    "recipes": {}
}

This allows you to use emeralds and all kinds of planks as alternatives to diamonds and iron ores in crafting and smelting recipes:

{
	"additions": [
		"minecraft:emerald",
		"#minecraft:planks"
	],
	"targets": [
		"minecraft:diamond",
		"minecraft:iron_ore"
	],
	"recipes": {
		"types": [
			"crafting_shaped",
			"crafting_shapeless",
			"blasting"
		],
		"ids": [
			"minecraft:/.*/"
		]
	}
}

Modders

If you're a modder and like to use this in your projects you can do so using my maven:

repositories {
    maven {
        name "Siphalor's Maven"
        url "https://maven.siphalor.de"
    }
}

dependencies {
    modCompile "de.siphalor:pushtocraft-1.15:1+" // use the latest version from the top of the readme
    // Optionally you can include this mod into your jar
    include "de.siphalor:pushtocraft-1.15:1+"
}