https://github.com/Siphalor/push-to-craft
A minecraft mod to enable expanding items/tags in recipes
https://github.com/Siphalor/push-to-craft
minecraft minecraft-fabric minecraft-fabric-mod minecraft-mod
Last synced: 4 months ago
JSON representation
A minecraft mod to enable expanding items/tags in recipes
- Host: GitHub
- URL: https://github.com/Siphalor/push-to-craft
- Owner: Siphalor
- License: mit
- Created: 2020-08-05T17:34:42.000Z (almost 5 years ago)
- Default Branch: 1.15
- Last Pushed: 2022-11-14T21:36:33.000Z (over 2 years ago)
- Last Synced: 2025-02-28T22:21:46.598Z (5 months ago)
- Topics: minecraft, minecraft-fabric, minecraft-fabric-mod, minecraft-mod
- Language: Java
- Homepage:
- Size: 169 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-fabric - Push To Craft - Allows to provide alternatives for recipe ingredients in a general fashion. `MIT` (Uncategorized / Uncategorized)
README
![]()
# Push To Craft

[](https://curseforge.com/minecraft/mc-mods/push-to-craft)
[](https://modrinth.com/mod/push-to-craft)
[](https://maven.siphalor.de/de/siphalor/pushtocraft-1.15/)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:
```json
{
"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:
```json
{
"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:```groovy
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+"
}
```