Auto convert grinder recipes to datagen
This commit is contained in:
parent
acccaaa84c
commit
d305a7f092
128 changed files with 675 additions and 2792 deletions
|
@ -153,4 +153,16 @@ public class StackIngredient extends RebornIngredient {
|
|||
public int getCount() {
|
||||
return count.orElse(1);
|
||||
}
|
||||
|
||||
public ItemStack getStack() {
|
||||
return stack;
|
||||
}
|
||||
|
||||
public Optional<NbtCompound> getNbt() {
|
||||
return nbt;
|
||||
}
|
||||
|
||||
public boolean isRequireEmptyNbt() {
|
||||
return requireEmptyNbt;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -158,4 +158,8 @@ public class TagIngredient extends RebornIngredient {
|
|||
public int getCount() {
|
||||
return count.orElse(1);
|
||||
}
|
||||
|
||||
public TagKey<Item> getTag() {
|
||||
return tag;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ import net.minecraft.registry.RegistryKeys
|
|||
import techreborn.TechReborn
|
||||
import techreborn.datagen.models.BlockLootTableProvider
|
||||
import techreborn.datagen.models.ModelProvider
|
||||
import techreborn.datagen.recipes.Json2Datagen
|
||||
import techreborn.datagen.recipes.crafting.CraftingRecipesProvider
|
||||
import techreborn.datagen.recipes.machine.alloy_smelter.AlloySmelterRecipesProvider
|
||||
import techreborn.datagen.recipes.machine.assembling_machine.AssemblingMachineRecipesProvider
|
||||
|
@ -52,6 +53,11 @@ class TechRebornDataGen implements DataGeneratorEntrypoint {
|
|||
|
||||
@Override
|
||||
void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
|
||||
// if (true) {
|
||||
// Json2Datagen.processAll()
|
||||
// return
|
||||
// }
|
||||
|
||||
def pack = fabricDataGenerator.createPack()
|
||||
|
||||
def add = { FabricDataGenerator.Pack.RegistryDependentFactory factory ->
|
||||
|
|
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
* This file is part of TechReborn, licensed under the MIT License (MIT).
|
||||
*
|
||||
* Copyright (c) 2023 TechReborn
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
package techreborn.datagen.recipes
|
||||
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.JsonObject
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.registry.Registries
|
||||
import net.minecraft.util.Identifier
|
||||
import reborncore.common.crafting.RebornRecipe
|
||||
import reborncore.common.crafting.ingredient.RebornIngredient
|
||||
import reborncore.common.crafting.ingredient.StackIngredient
|
||||
import reborncore.common.crafting.ingredient.TagIngredient
|
||||
import techreborn.init.ModRecipes
|
||||
|
||||
class Json2Datagen {
|
||||
private static final Gson GSON = new Gson()
|
||||
|
||||
static void processAll() {
|
||||
def sj = new StringJoiner("\n")
|
||||
|
||||
new File("../../src/main/resources/data/techreborn/recipes/grinder").eachFile {
|
||||
def json = GSON.fromJson(it.text, JsonObject.class)
|
||||
def recipe = ModRecipes.GRINDER.read(new Identifier("techreborn:convert"), json)
|
||||
sj.add process(recipe)
|
||||
}
|
||||
|
||||
println sj
|
||||
}
|
||||
|
||||
static String process(RebornRecipe recipe) {
|
||||
StringBuilder stringBuilder = new StringBuilder()
|
||||
|
||||
/**
|
||||
* offerAlloySmelterRecipe {
|
||||
* power 6
|
||||
* time 200
|
||||
* ingredients new ItemStack(Items.COPPER_INGOT, 3), TRConventionalTags.ZINC_INGOTS
|
||||
* output new ItemStack(TRContent.Ingots.BRASS, 4)
|
||||
* }
|
||||
*/
|
||||
|
||||
stringBuilder.append("offerGrinderRecipe {\n")
|
||||
stringBuilder.append("\tpower ").append(recipe.power).append("\n")
|
||||
stringBuilder.append("\ttime ").append(recipe.time).append("\n")
|
||||
stringBuilder.append("\tingredients ").append(formatIngredients(recipe.getRebornIngredients())).append("\n")
|
||||
stringBuilder.append("\toutputs ").append(formatOutputs(recipe.getOutputs())).append("\n")
|
||||
stringBuilder.append("}")
|
||||
|
||||
return stringBuilder
|
||||
}
|
||||
|
||||
private static String formatOutputs(List<ItemStack> outputs) {
|
||||
StringJoiner sj = new StringJoiner(", ")
|
||||
|
||||
for (ItemStack output : outputs) {
|
||||
sj.add(formatStack(output))
|
||||
}
|
||||
|
||||
return sj.toString()
|
||||
}
|
||||
|
||||
private static String formatIngredients(List<RebornIngredient> ingredients) {
|
||||
StringJoiner sj = new StringJoiner(", ")
|
||||
for (RebornIngredient ingredient : ingredients) {
|
||||
if (ingredient instanceof StackIngredient) {
|
||||
if (ingredient.getNbt().isPresent()) {
|
||||
throw new UnsupportedOperationException()
|
||||
}
|
||||
|
||||
ItemStack stack = ingredient.getStack().copy()
|
||||
stack.setCount(ingredient.getCount())
|
||||
|
||||
sj.add(formatStack(stack))
|
||||
} else if (ingredient instanceof TagIngredient) {
|
||||
int count = ingredient.getCount()
|
||||
if (count == 1) {
|
||||
sj.add("tag(\"%s\")".formatted(ingredient.getTag().id()))
|
||||
} else {
|
||||
sj.add("tag(\"%s\", \"%s\")".formatted(ingredient.getTag().id(), ingredient.getCount()))
|
||||
}
|
||||
} else {
|
||||
throw new UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
|
||||
return sj.toString()
|
||||
}
|
||||
|
||||
private static String formatStack(ItemStack stack) {
|
||||
String name = Registries.ITEM.getId(stack.getItem()).toString()
|
||||
if (stack.getCount() == 1) {
|
||||
return "stack(\"%s\")".formatted(name)
|
||||
} else {
|
||||
return "stack(\"%s\", %s)".formatted(name, stack.getCount())
|
||||
}
|
||||
}
|
||||
}
|
|
@ -28,8 +28,12 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput
|
|||
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider
|
||||
import net.minecraft.advancement.criterion.CriterionConditions
|
||||
import net.minecraft.data.server.recipe.RecipeJsonProvider
|
||||
import net.minecraft.item.Item
|
||||
import net.minecraft.item.ItemConvertible
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.recipe.Ingredient
|
||||
import net.minecraft.registry.Registries
|
||||
import net.minecraft.registry.RegistryKeys
|
||||
import net.minecraft.registry.RegistryWrapper
|
||||
import net.minecraft.registry.tag.TagKey
|
||||
import net.minecraft.util.Identifier
|
||||
|
@ -44,6 +48,8 @@ import java.util.function.Consumer
|
|||
|
||||
abstract class TechRebornRecipesProvider extends FabricRecipeProvider {
|
||||
protected Consumer<RecipeJsonProvider> exporter
|
||||
public Set<Identifier> exportedRecipes = []
|
||||
|
||||
TechRebornRecipesProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
|
||||
super(output)
|
||||
}
|
||||
|
@ -127,40 +133,59 @@ abstract class TechRebornRecipesProvider extends FabricRecipeProvider {
|
|||
throw new IllegalArgumentException()
|
||||
}
|
||||
|
||||
static ItemStack stack(ItemConvertible itemConvertible, int count = 1) {
|
||||
return new ItemStack(itemConvertible, count)
|
||||
}
|
||||
|
||||
// Todo refactor me out, used to help port json recipes
|
||||
static ItemStack stack(String id, int count = 1) {
|
||||
def item = Registries.ITEM.get(new Identifier(id))
|
||||
return new ItemStack(item, count)
|
||||
}
|
||||
|
||||
// Todo refactor me out, used to help port json recipes
|
||||
static TagKey<Item> tag(String id, count = 1) {
|
||||
if (count != 1) {
|
||||
throw new UnsupportedOperationException()
|
||||
}
|
||||
|
||||
return TagKey.of(RegistryKeys.ITEM, new Identifier(id))
|
||||
}
|
||||
|
||||
def offerAlloySmelterRecipe(@DelegatesTo(value = MachineRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
MachineRecipeJsonFactory.create(ModRecipes.ALLOY_SMELTER, closure).offerTo(exporter)
|
||||
MachineRecipeJsonFactory.create(ModRecipes.ALLOY_SMELTER, this, closure).offerTo(exporter)
|
||||
}
|
||||
|
||||
def offerGrinderRecipe(@DelegatesTo(value = MachineRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
MachineRecipeJsonFactory.create(ModRecipes.GRINDER, closure).offerTo(exporter)
|
||||
MachineRecipeJsonFactory.create(ModRecipes.GRINDER, this, closure).offerTo(exporter)
|
||||
}
|
||||
|
||||
def offerCompressorRecipe(@DelegatesTo(value = MachineRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
MachineRecipeJsonFactory.create(ModRecipes.COMPRESSOR, closure).offerTo(exporter)
|
||||
MachineRecipeJsonFactory.create(ModRecipes.COMPRESSOR, this, closure).offerTo(exporter)
|
||||
}
|
||||
|
||||
def offerExtractorRecipe(@DelegatesTo(value = MachineRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
MachineRecipeJsonFactory.create(ModRecipes.EXTRACTOR, closure).offerTo(exporter)
|
||||
MachineRecipeJsonFactory.create(ModRecipes.EXTRACTOR, this, closure).offerTo(exporter)
|
||||
}
|
||||
|
||||
def offerChemicalReactorRecipe(@DelegatesTo(value = MachineRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
MachineRecipeJsonFactory.create(ModRecipes.CHEMICAL_REACTOR, closure).offerTo(exporter)
|
||||
MachineRecipeJsonFactory.create(ModRecipes.CHEMICAL_REACTOR, this, closure).offerTo(exporter)
|
||||
}
|
||||
|
||||
def offerAssemblingMachineRecipe(@DelegatesTo(value = MachineRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
MachineRecipeJsonFactory.create(ModRecipes.ASSEMBLING_MACHINE, closure).offerTo(exporter)
|
||||
MachineRecipeJsonFactory.create(ModRecipes.ASSEMBLING_MACHINE, this, closure).offerTo(exporter)
|
||||
}
|
||||
|
||||
def offerBlastFurnaceRecipe(@DelegatesTo(value = BlastFurnaceRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
BlastFurnaceRecipeJsonFactory.createBlastFurnace(closure).offerTo(exporter)
|
||||
BlastFurnaceRecipeJsonFactory.createBlastFurnace(this, closure).offerTo(exporter)
|
||||
}
|
||||
|
||||
def offerIndustrialGrinderRecipe(@DelegatesTo(value = IndustrialGrinderRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
IndustrialGrinderRecipeJsonFactory.createIndustrialGrinder(closure).offerTo(exporter)
|
||||
IndustrialGrinderRecipeJsonFactory.createIndustrialGrinder(this, closure).offerTo(exporter)
|
||||
}
|
||||
|
||||
def offerIndustrialSawmillRecipe(@DelegatesTo(value = IndustrialSawmillRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
IndustrialSawmillRecipeJsonFactory.createIndustrialSawmill(closure).offerTo(exporter)
|
||||
IndustrialSawmillRecipeJsonFactory.createIndustrialSawmill(this, closure).offerTo(exporter)
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -67,7 +67,9 @@ class IngredientBuilder {
|
|||
}
|
||||
|
||||
if (stacks.size() == 1) {
|
||||
return new StackIngredient(stacks.get(0), Optional.of(stacks.get(0).getCount()), Optional.empty(), false)
|
||||
def stack = stacks[0]
|
||||
def count = stack.getCount() > 1 ? Optional.of(stack.getCount()) : Optional.empty()
|
||||
return new StackIngredient(stack, count, Optional.empty(), false)
|
||||
}
|
||||
|
||||
throw new IllegalStateException()
|
||||
|
|
|
@ -40,15 +40,18 @@ import net.minecraft.registry.tag.TagKey
|
|||
import net.minecraft.resource.featuretoggle.FeatureFlag
|
||||
import net.minecraft.util.Identifier
|
||||
import org.jetbrains.annotations.NotNull
|
||||
import org.jetbrains.annotations.Nullable
|
||||
import reborncore.common.crafting.RebornRecipe
|
||||
import reborncore.common.crafting.RebornRecipeType
|
||||
import reborncore.common.crafting.RecipeUtils
|
||||
import reborncore.common.crafting.ingredient.RebornIngredient
|
||||
import techreborn.datagen.recipes.TechRebornRecipesProvider
|
||||
|
||||
import java.util.function.Consumer
|
||||
|
||||
class MachineRecipeJsonFactory<R extends RebornRecipe> {
|
||||
protected final RebornRecipeType<R> type
|
||||
protected final TechRebornRecipesProvider provider
|
||||
protected final Builder builder = Builder.create()
|
||||
|
||||
protected final List<RebornIngredient> ingredients = new ArrayList<>()
|
||||
|
@ -59,16 +62,17 @@ class MachineRecipeJsonFactory<R extends RebornRecipe> {
|
|||
protected String source = null
|
||||
protected List<ConditionJsonProvider> conditions = []
|
||||
|
||||
protected MachineRecipeJsonFactory(RebornRecipeType<R> type) {
|
||||
protected MachineRecipeJsonFactory(RebornRecipeType<R> type, TechRebornRecipesProvider provider) {
|
||||
this.type = type
|
||||
this.provider = provider
|
||||
}
|
||||
|
||||
static <R extends RebornRecipe> MachineRecipeJsonFactory<R> create(RebornRecipeType<R> type) {
|
||||
return new MachineRecipeJsonFactory<R>(type)
|
||||
static <R extends RebornRecipe> MachineRecipeJsonFactory<R> create(RebornRecipeType<R> type, TechRebornRecipesProvider provider) {
|
||||
return new MachineRecipeJsonFactory<R>(type, provider)
|
||||
}
|
||||
|
||||
static <R extends RebornRecipe> MachineRecipeJsonFactory<R> create(RebornRecipeType<R> type, @DelegatesTo(value = MachineRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
def factory = new MachineRecipeJsonFactory<R>(type)
|
||||
static <R extends RebornRecipe> MachineRecipeJsonFactory<R> create(RebornRecipeType<R> type, TechRebornRecipesProvider provider, @DelegatesTo(value = MachineRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
def factory = new MachineRecipeJsonFactory<R>(type, provider)
|
||||
closure.setDelegate(factory)
|
||||
closure.call(factory)
|
||||
return factory
|
||||
|
@ -114,21 +118,27 @@ class MachineRecipeJsonFactory<R extends RebornRecipe> {
|
|||
|
||||
def outputs(Object... objects) {
|
||||
for (object in objects) {
|
||||
if (object instanceof ItemStack) {
|
||||
output(object)
|
||||
} else if (object instanceof ItemConvertible) {
|
||||
output(new ItemStack(object.asItem()))
|
||||
}
|
||||
}
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
def output(ItemStack stack) {
|
||||
def stack = ofStack(object)
|
||||
outputs.add(stack)
|
||||
}
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
private static ItemStack ofStack(Object object) {
|
||||
if (object instanceof ItemStack) {
|
||||
return object
|
||||
} else if (object instanceof ItemConvertible) {
|
||||
return new ItemStack(object.asItem())
|
||||
} else if (object instanceof String) {
|
||||
// TODO remove me, done to aid porting from json files
|
||||
def item = Registries.ITEM.get(new Identifier(object))
|
||||
return new ItemStack(item)
|
||||
} else {
|
||||
throw new UnsupportedOperationException()
|
||||
}
|
||||
}
|
||||
|
||||
def power(int power) {
|
||||
this.power = power
|
||||
return this
|
||||
|
@ -196,7 +206,21 @@ class MachineRecipeJsonFactory<R extends RebornRecipe> {
|
|||
|
||||
void offerTo(Consumer<RecipeJsonProvider> exporter) {
|
||||
validate()
|
||||
Identifier recipeId = getIdentifier()
|
||||
def recipeId = getIdentifier()
|
||||
|
||||
if (provider.exportedRecipes.contains(recipeId) && !customId) {
|
||||
int i = 1
|
||||
def id
|
||||
do {
|
||||
i++
|
||||
id = new Identifier(recipeId.toString() + "_" + i)
|
||||
} while (provider.exportedRecipes.contains(id))
|
||||
|
||||
recipeId = id
|
||||
}
|
||||
|
||||
provider.exportedRecipes.add(recipeId)
|
||||
|
||||
Identifier advancementId = new Identifier(recipeId.getNamespace(), "recipes/" + recipeId.getPath())
|
||||
RecipeUtils.addToastDefaults(builder, recipeId)
|
||||
exporter.accept(new MachineRecipeJsonProvider<R>(type, createRecipe(recipeId), advancementId, builder, conditions))
|
||||
|
|
|
@ -28,6 +28,7 @@ import net.minecraft.fluid.Fluid
|
|||
import net.minecraft.fluid.Fluids
|
||||
import reborncore.common.crafting.RebornFluidRecipe
|
||||
import reborncore.common.crafting.RebornRecipeType
|
||||
import techreborn.datagen.recipes.TechRebornRecipesProvider
|
||||
|
||||
abstract class MachineRecipeWithFluidJsonFactory<R extends RebornFluidRecipe> extends MachineRecipeJsonFactory<R> {
|
||||
protected Fluid fluid = Fluids.WATER // default
|
||||
|
@ -43,8 +44,8 @@ abstract class MachineRecipeWithFluidJsonFactory<R extends RebornFluidRecipe> ex
|
|||
return this
|
||||
}
|
||||
|
||||
protected MachineRecipeWithFluidJsonFactory(RebornRecipeType<R> type) {
|
||||
super(type)
|
||||
protected MachineRecipeWithFluidJsonFactory(RebornRecipeType<R> type, TechRebornRecipesProvider provider) {
|
||||
super(type, provider)
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -44,36 +44,36 @@ class AlloySmelterRecipesProvider extends TechRebornRecipesProvider {
|
|||
offerAlloySmelterRecipe {
|
||||
power 6
|
||||
time 200
|
||||
ingredients new ItemStack(Items.COPPER_INGOT, 3), TRConventionalTags.ZINC_INGOTS
|
||||
output new ItemStack(TRContent.Ingots.BRASS, 4)
|
||||
ingredients stack(Items.COPPER_INGOT, 3), TRConventionalTags.ZINC_INGOTS
|
||||
outputs stack(TRContent.Ingots.BRASS, 4)
|
||||
}
|
||||
|
||||
offerAlloySmelterRecipe {
|
||||
power 6
|
||||
time 200
|
||||
ingredients new ItemStack(Items.COPPER_INGOT, 3), TRConventionalTags.TIN_INGOTS
|
||||
output new ItemStack(TRContent.Ingots.BRONZE, 4)
|
||||
ingredients stack(Items.COPPER_INGOT, 3), TRConventionalTags.TIN_INGOTS
|
||||
outputs stack(TRContent.Ingots.BRONZE, 4)
|
||||
}
|
||||
|
||||
offerAlloySmelterRecipe {
|
||||
power 6
|
||||
time 200
|
||||
ingredients Items.GOLD_INGOT, TRConventionalTags.SILVER_INGOTS
|
||||
output new ItemStack(TRContent.Ingots.ELECTRUM, 2)
|
||||
outputs stack(TRContent.Ingots.ELECTRUM, 2)
|
||||
}
|
||||
|
||||
offerAlloySmelterRecipe {
|
||||
power 6
|
||||
time 200
|
||||
ingredients new ItemStack(Items.IRON_INGOT, 3), TRConventionalTags.NICKEL_INGOTS
|
||||
output new ItemStack(TRContent.Ingots.INVAR, 3)
|
||||
ingredients stack(Items.IRON_INGOT, 3), TRConventionalTags.NICKEL_INGOTS
|
||||
outputs stack(TRContent.Ingots.INVAR, 3)
|
||||
}
|
||||
|
||||
offerAlloySmelterRecipe {
|
||||
power 6
|
||||
time 600
|
||||
ingredients new ItemStack(Items.GOLD_INGOT, 10), new ItemStack(Items.NETHERITE_SCRAP, 10)
|
||||
output new ItemStack(Items.NETHERITE_INGOT, 3)
|
||||
ingredients stack(Items.GOLD_INGOT, 10), stack(Items.NETHERITE_SCRAP, 10)
|
||||
outputs stack(Items.NETHERITE_INGOT, 3)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -64,8 +64,8 @@ class AssemblingMachineRecipesProvider extends TechRebornRecipesProvider {
|
|||
(Items.YELLOW_DYE): Items.YELLOW_BED
|
||||
].each {(wool, bed) ->
|
||||
offerAssemblingMachineRecipe {
|
||||
ingredients new ItemStack(wool, 2), ItemTags.PLANKS
|
||||
output bed
|
||||
ingredients stack(wool, 2), ItemTags.PLANKS
|
||||
outputs bed
|
||||
source "wool"
|
||||
power 25
|
||||
time 250
|
||||
|
|
|
@ -26,6 +26,7 @@ package techreborn.datagen.recipes.machine.blast_furnace
|
|||
|
||||
import net.minecraft.util.Identifier
|
||||
import techreborn.api.recipe.recipes.BlastFurnaceRecipe
|
||||
import techreborn.datagen.recipes.TechRebornRecipesProvider
|
||||
import techreborn.datagen.recipes.machine.MachineRecipeJsonFactory
|
||||
import techreborn.init.ModRecipes
|
||||
|
||||
|
@ -37,16 +38,16 @@ class BlastFurnaceRecipeJsonFactory extends MachineRecipeJsonFactory<BlastFurnac
|
|||
return this
|
||||
}
|
||||
|
||||
protected BlastFurnaceRecipeJsonFactory() {
|
||||
super(ModRecipes.BLAST_FURNACE)
|
||||
protected BlastFurnaceRecipeJsonFactory(TechRebornRecipesProvider provider) {
|
||||
super(ModRecipes.BLAST_FURNACE, provider)
|
||||
}
|
||||
|
||||
static BlastFurnaceRecipeJsonFactory create() {
|
||||
return new BlastFurnaceRecipeJsonFactory()
|
||||
static BlastFurnaceRecipeJsonFactory create(TechRebornRecipesProvider provider) {
|
||||
return new BlastFurnaceRecipeJsonFactory(provider)
|
||||
}
|
||||
|
||||
static BlastFurnaceRecipeJsonFactory createBlastFurnace(@DelegatesTo(value = BlastFurnaceRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
def factory = new BlastFurnaceRecipeJsonFactory()
|
||||
static BlastFurnaceRecipeJsonFactory createBlastFurnace(TechRebornRecipesProvider provider, @DelegatesTo(value = BlastFurnaceRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
def factory = new BlastFurnaceRecipeJsonFactory(provider)
|
||||
closure.setDelegate(factory)
|
||||
closure.call(factory)
|
||||
return factory
|
||||
|
|
|
@ -65,11 +65,11 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generateBoots() {
|
||||
final int count = 2
|
||||
[
|
||||
(Items.GOLDEN_BOOTS) : new ItemStack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_BOOTS) : new ItemStack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_BOOTS) : new ItemStack(TRContent.Ingots.BRONZE, count),
|
||||
(TRContent.SILVER_BOOTS) : new ItemStack(TRContent.Ingots.SILVER, count),
|
||||
(TRContent.STEEL_BOOTS) : new ItemStack(TRContent.Ingots.STEEL, count)
|
||||
(Items.GOLDEN_BOOTS) : stack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_BOOTS) : stack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_BOOTS) : stack(TRContent.Ingots.BRONZE, count),
|
||||
(TRContent.SILVER_BOOTS) : stack(TRContent.Ingots.SILVER, count),
|
||||
(TRContent.STEEL_BOOTS) : stack(TRContent.Ingots.STEEL, count)
|
||||
].each {boots, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients boots, Items.SAND
|
||||
|
@ -86,11 +86,11 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generateChestplate() {
|
||||
final int count = 5
|
||||
[
|
||||
(Items.GOLDEN_CHESTPLATE) : new ItemStack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_CHESTPLATE) : new ItemStack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_CHESTPLATE) : new ItemStack(TRContent.Ingots.BRONZE, count),
|
||||
(TRContent.SILVER_CHESTPLATE) : new ItemStack(TRContent.Ingots.SILVER, count),
|
||||
(TRContent.STEEL_CHESTPLATE) : new ItemStack(TRContent.Ingots.STEEL, count)
|
||||
(Items.GOLDEN_CHESTPLATE) : stack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_CHESTPLATE) : stack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_CHESTPLATE) : stack(TRContent.Ingots.BRONZE, count),
|
||||
(TRContent.SILVER_CHESTPLATE) : stack(TRContent.Ingots.SILVER, count),
|
||||
(TRContent.STEEL_CHESTPLATE) : stack(TRContent.Ingots.STEEL, count)
|
||||
].each {chestplate, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients chestplate, Items.SAND
|
||||
|
@ -107,11 +107,11 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generateHelmet() {
|
||||
final int count = 3
|
||||
[
|
||||
(Items.GOLDEN_HELMET) : new ItemStack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_HELMET) : new ItemStack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_HELMET) : new ItemStack(TRContent.Ingots.BRONZE, count),
|
||||
(TRContent.SILVER_HELMET) : new ItemStack(TRContent.Ingots.SILVER, count),
|
||||
(TRContent.STEEL_HELMET) : new ItemStack(TRContent.Ingots.STEEL, count)
|
||||
(Items.GOLDEN_HELMET) : stack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_HELMET) : stack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_HELMET) : stack(TRContent.Ingots.BRONZE, count),
|
||||
(TRContent.SILVER_HELMET) : stack(TRContent.Ingots.SILVER, count),
|
||||
(TRContent.STEEL_HELMET) : stack(TRContent.Ingots.STEEL, count)
|
||||
].each {helmet, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients helmet, Items.SAND
|
||||
|
@ -128,11 +128,11 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generateLeggings() {
|
||||
final int count = 4
|
||||
[
|
||||
(Items.GOLDEN_LEGGINGS) : new ItemStack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_LEGGINGS) : new ItemStack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_LEGGINGS) : new ItemStack(TRContent.Ingots.BRONZE, count),
|
||||
(TRContent.SILVER_LEGGINGS) : new ItemStack(TRContent.Ingots.SILVER, count),
|
||||
(TRContent.STEEL_LEGGINGS) : new ItemStack(TRContent.Ingots.STEEL, count)
|
||||
(Items.GOLDEN_LEGGINGS) : stack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_LEGGINGS) : stack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_LEGGINGS) : stack(TRContent.Ingots.BRONZE, count),
|
||||
(TRContent.SILVER_LEGGINGS) : stack(TRContent.Ingots.SILVER, count),
|
||||
(TRContent.STEEL_LEGGINGS) : stack(TRContent.Ingots.STEEL, count)
|
||||
].each {leggings, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients leggings, Items.SAND
|
||||
|
@ -149,8 +149,8 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generateHorseArmor() {
|
||||
final int count = 4
|
||||
[
|
||||
(Items.GOLDEN_HORSE_ARMOR) : new ItemStack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_HORSE_ARMOR) : new ItemStack(Items.IRON_INGOT, count)
|
||||
(Items.GOLDEN_HORSE_ARMOR) : stack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_HORSE_ARMOR) : stack(Items.IRON_INGOT, count)
|
||||
].each {horseArmor, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients horseArmor, Items.SAND
|
||||
|
@ -167,9 +167,9 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generateSword() {
|
||||
final int count = 5
|
||||
[
|
||||
(Items.GOLDEN_SWORD) : new ItemStack(Items.GOLD_NUGGET, count),
|
||||
(Items.IRON_SWORD) : new ItemStack(Items.IRON_NUGGET, count),
|
||||
(TRContent.BRONZE_SWORD) : new ItemStack(TRContent.Nuggets.BRONZE, count)
|
||||
(Items.GOLDEN_SWORD) : stack(Items.GOLD_NUGGET, count),
|
||||
(Items.IRON_SWORD) : stack(Items.IRON_NUGGET, count),
|
||||
(TRContent.BRONZE_SWORD) : stack(TRContent.Nuggets.BRONZE, count)
|
||||
].each {sword, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients sword, Items.SAND
|
||||
|
@ -186,9 +186,9 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generateShovel() {
|
||||
final int count = 3
|
||||
[
|
||||
(Items.GOLDEN_SHOVEL) : new ItemStack(Items.GOLD_NUGGET, count),
|
||||
(Items.IRON_SHOVEL) : new ItemStack(Items.IRON_NUGGET, count),
|
||||
(TRContent.BRONZE_SPADE) : new ItemStack(TRContent.Nuggets.BRONZE, count)
|
||||
(Items.GOLDEN_SHOVEL) : stack(Items.GOLD_NUGGET, count),
|
||||
(Items.IRON_SHOVEL) : stack(Items.IRON_NUGGET, count),
|
||||
(TRContent.BRONZE_SPADE) : stack(TRContent.Nuggets.BRONZE, count)
|
||||
].each {shovel, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients shovel, Items.SAND
|
||||
|
@ -205,9 +205,9 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generateHoe() {
|
||||
final int count = 5
|
||||
[
|
||||
(Items.GOLDEN_HOE) : new ItemStack(Items.GOLD_NUGGET, count),
|
||||
(Items.IRON_HOE) : new ItemStack(Items.IRON_NUGGET, count),
|
||||
(TRContent.BRONZE_HOE) : new ItemStack(TRContent.Nuggets.BRONZE, count)
|
||||
(Items.GOLDEN_HOE) : stack(Items.GOLD_NUGGET, count),
|
||||
(Items.IRON_HOE) : stack(Items.IRON_NUGGET, count),
|
||||
(TRContent.BRONZE_HOE) : stack(TRContent.Nuggets.BRONZE, count)
|
||||
].each {hoe, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients hoe, Items.SAND
|
||||
|
@ -224,9 +224,9 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generateAxe() {
|
||||
final int count = 1
|
||||
[
|
||||
(Items.GOLDEN_AXE) : new ItemStack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_AXE) : new ItemStack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_AXE) : new ItemStack(TRContent.Ingots.BRONZE, count)
|
||||
(Items.GOLDEN_AXE) : stack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_AXE) : stack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_AXE) : stack(TRContent.Ingots.BRONZE, count)
|
||||
].each {axe, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients axe, Items.SAND
|
||||
|
@ -243,9 +243,9 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
void generatePickaxe() {
|
||||
final int count = 1
|
||||
[
|
||||
(Items.GOLDEN_PICKAXE) : new ItemStack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_PICKAXE) : new ItemStack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_PICKAXE) : new ItemStack(TRContent.Ingots.BRONZE, count)
|
||||
(Items.GOLDEN_PICKAXE) : stack(Items.GOLD_INGOT, count),
|
||||
(Items.IRON_PICKAXE) : stack(Items.IRON_INGOT, count),
|
||||
(TRContent.BRONZE_PICKAXE) : stack(TRContent.Ingots.BRONZE, count)
|
||||
].each {pickaxe, materialStack ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients pickaxe, Items.SAND
|
||||
|
@ -280,8 +280,8 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
(Items.YELLOW_STAINED_GLASS_PANE) : Items.YELLOW_STAINED_GLASS
|
||||
].each {(pane,glass) ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients new ItemStack(pane, 10)
|
||||
outputs new ItemStack(glass, 3)
|
||||
ingredients stack(pane, 10)
|
||||
outputs stack(glass, 3)
|
||||
power 128
|
||||
time 150
|
||||
heat 1000
|
||||
|
@ -298,8 +298,8 @@ class BlastFurnaceRecipesProvider extends TechRebornRecipesProvider {
|
|||
(Items.DAMAGED_ANVIL) : 6,
|
||||
].each {(anvil,amount) ->
|
||||
offerBlastFurnaceRecipe {
|
||||
ingredients anvil, new ItemStack(Items.SAND, 2)
|
||||
outputs new ItemStack(Items.IRON_INGOT, amount), new ItemStack(TRContent.Dusts.DARK_ASHES, 2)
|
||||
ingredients anvil, stack(Items.SAND, 2)
|
||||
outputs stack(Items.IRON_INGOT, amount), stack(TRContent.Dusts.DARK_ASHES, 2)
|
||||
power 128
|
||||
time 300
|
||||
heat 1500
|
||||
|
|
|
@ -56,8 +56,8 @@ class ChemicalReactorRecipesProvider extends TechRebornRecipesProvider {
|
|||
for (ColoredItem color : ColoredItem.values())
|
||||
ColoredItem.createExtendedMixingColorStream(color, false, true).forEach(pair ->
|
||||
offerChemicalReactorRecipe {
|
||||
ingredients color.getDye(), new ItemStack(pair.getLeft().getWool(), 4)
|
||||
output new ItemStack(pair.getRight().getWool(), 4)
|
||||
ingredients color.getDye(), stack(pair.getLeft().getWool(), 4)
|
||||
outputs stack(pair.getRight().getWool(), 4)
|
||||
source pair.getLeft().getWool().toString() + "_with_" + color.getDye().toString()
|
||||
power DYE_POWER
|
||||
time DYE_TIME
|
||||
|
@ -70,8 +70,8 @@ class ChemicalReactorRecipesProvider extends TechRebornRecipesProvider {
|
|||
for (ColoredItem color : ColoredItem.values())
|
||||
ColoredItem.createExtendedMixingColorStream(color, false, true).forEach(pair ->
|
||||
offerChemicalReactorRecipe {
|
||||
ingredients color.getDye(), new ItemStack(pair.getLeft().getCarpet(), 8)
|
||||
output new ItemStack(pair.getRight().getCarpet(), 8)
|
||||
ingredients color.getDye(), stack(pair.getLeft().getCarpet(), 8)
|
||||
outputs stack(pair.getRight().getCarpet(), 8)
|
||||
source pair.getLeft().getCarpet().toString() + "_with_" + color.getDye().toString()
|
||||
power DYE_POWER
|
||||
time DYE_TIME
|
||||
|
@ -84,8 +84,8 @@ class ChemicalReactorRecipesProvider extends TechRebornRecipesProvider {
|
|||
for (ColoredItem color : ColoredItem.values())
|
||||
ColoredItem.createExtendedMixingColorStream(color, false, true).forEach(pair ->
|
||||
offerChemicalReactorRecipe {
|
||||
ingredients color.getDye(), new ItemStack(pair.getLeft().getConcretePowder(), 8)
|
||||
output new ItemStack(pair.getRight().getCarpet(), 8)
|
||||
ingredients color.getDye(), stack(pair.getLeft().getConcretePowder(), 8)
|
||||
outputs stack(pair.getRight().getCarpet(), 8)
|
||||
source pair.getLeft().getConcretePowder().toString() + "_with_" + color.getDye().toString()
|
||||
power DYE_POWER
|
||||
time DYE_TIME
|
||||
|
@ -101,8 +101,8 @@ class ChemicalReactorRecipesProvider extends TechRebornRecipesProvider {
|
|||
if (color != ColoredItem.NEUTRAL)
|
||||
ColoredItem.createExtendedMixingColorStream(color, true, true).forEach(pair ->
|
||||
offerChemicalReactorRecipe {
|
||||
ingredients color.getDye(), new ItemStack(pair.getLeft().getCandle(), 2)
|
||||
output new ItemStack(pair.getRight().getCandle(), 2)
|
||||
ingredients color.getDye(), stack(pair.getLeft().getCandle(), 2)
|
||||
outputs stack(pair.getRight().getCandle(), 2)
|
||||
source pair.getLeft().getCandle().toString() + "_with_" + color.getDye().toString()
|
||||
power DYE_POWER
|
||||
time DYE_TIME
|
||||
|
@ -117,8 +117,8 @@ class ChemicalReactorRecipesProvider extends TechRebornRecipesProvider {
|
|||
if (color != ColoredItem.NEUTRAL)
|
||||
ColoredItem.createExtendedMixingColorStream(color, true, true).forEach(pair ->
|
||||
offerChemicalReactorRecipe {
|
||||
ingredients color.getDye(), new ItemStack(pair.getLeft().getGlass(), 12)
|
||||
output new ItemStack(pair.getRight().getGlass(), 12)
|
||||
ingredients color.getDye(), stack(pair.getLeft().getGlass(), 12)
|
||||
outputs stack(pair.getRight().getGlass(), 12)
|
||||
source pair.getLeft().getGlass().toString() + "_with_" + color.getDye().toString()
|
||||
power DYE_POWER
|
||||
time DYE_TIME
|
||||
|
@ -133,8 +133,8 @@ class ChemicalReactorRecipesProvider extends TechRebornRecipesProvider {
|
|||
if (color != ColoredItem.NEUTRAL)
|
||||
ColoredItem.createExtendedMixingColorStream(color, true, true).forEach(pair ->
|
||||
offerChemicalReactorRecipe {
|
||||
ingredients color.getDye(), new ItemStack(pair.getLeft().getGlassPane(), 16)
|
||||
output new ItemStack(pair.getRight().getGlassPane(), 16)
|
||||
ingredients color.getDye(), stack(pair.getLeft().getGlassPane(), 16)
|
||||
outputs stack(pair.getRight().getGlassPane(), 16)
|
||||
source pair.getLeft().getGlassPane().toString() + "_with_" + color.getDye().toString()
|
||||
power DYE_POWER
|
||||
time DYE_TIME
|
||||
|
@ -149,8 +149,8 @@ class ChemicalReactorRecipesProvider extends TechRebornRecipesProvider {
|
|||
if (color != ColoredItem.NEUTRAL)
|
||||
ColoredItem.createExtendedMixingColorStream(color, true, true).forEach(pair ->
|
||||
offerChemicalReactorRecipe {
|
||||
ingredients color.getDye(), new ItemStack(pair.getLeft().getTerracotta(), 8)
|
||||
output new ItemStack(pair.getRight().getTerracotta(), 8)
|
||||
ingredients color.getDye(), stack(pair.getLeft().getTerracotta(), 8)
|
||||
outputs stack(pair.getRight().getTerracotta(), 8)
|
||||
source pair.getLeft().getTerracotta().toString() + "_with_" + color.getDye().toString()
|
||||
power DYE_POWER
|
||||
time DYE_TIME
|
||||
|
|
|
@ -49,7 +49,7 @@ class CompressorRecipesProvider extends TechRebornRecipesProvider {
|
|||
var ingredient = TagConvertible.convertIf(plate.getSource())
|
||||
offerCompressorRecipe {
|
||||
ingredients ingredient
|
||||
outputs new ItemStack(plate, 1)
|
||||
outputs stack(plate, 1)
|
||||
power 10
|
||||
time 300
|
||||
criterion getCriterionName(ingredient), getCriterionConditions(ingredient)
|
||||
|
@ -59,7 +59,7 @@ class CompressorRecipesProvider extends TechRebornRecipesProvider {
|
|||
var ingredient = TagConvertible.convertIf(plate.getSourceBlock())
|
||||
offerCompressorRecipe {
|
||||
ingredients ingredient
|
||||
outputs new ItemStack(plate, 9)
|
||||
outputs stack(plate, 9)
|
||||
power 10
|
||||
time 300
|
||||
source "block"
|
||||
|
|
|
@ -69,7 +69,7 @@ class ExtractorRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { item, dye ->
|
||||
offerExtractorRecipe {
|
||||
ingredients item
|
||||
outputs new ItemStack(dye, 2)
|
||||
outputs stack(dye, 2)
|
||||
source item.toString()
|
||||
power 10
|
||||
time 300
|
||||
|
@ -88,7 +88,7 @@ class ExtractorRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { item, dye ->
|
||||
offerExtractorRecipe {
|
||||
ingredients item
|
||||
outputs new ItemStack(dye, 4)
|
||||
outputs stack(dye, 4)
|
||||
source item.toString()
|
||||
power 10
|
||||
time 300
|
||||
|
@ -104,7 +104,7 @@ class ExtractorRecipesProvider extends TechRebornRecipesProvider {
|
|||
(Items.PEARLESCENT_FROGLIGHT) : Items.PURPLE_DYE
|
||||
].each { item, dye ->
|
||||
offerExtractorRecipe {
|
||||
ingredients new ItemStack(item, 3)
|
||||
ingredients stack(item, 3)
|
||||
outputs dye
|
||||
source item.toString()
|
||||
power 10
|
||||
|
|
|
@ -58,6 +58,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
generateRedSand()
|
||||
generateConcretePowder()
|
||||
generateSawdust()
|
||||
generateMiscRecipes()
|
||||
}
|
||||
|
||||
void generateVanillaRawMetals() {
|
||||
|
@ -68,7 +69,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { raw, oreTag ->
|
||||
offerGrinderRecipe {
|
||||
ingredients oreTag
|
||||
outputs new ItemStack(raw, 2)
|
||||
outputs stack(raw, 2)
|
||||
power 2
|
||||
time 270
|
||||
criterion getCriterionName(oreTag), getCriterionConditions(oreTag)
|
||||
|
@ -81,7 +82,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
if (!ore.isIndustrial())
|
||||
offerGrinderRecipe {
|
||||
ingredients ore.asTag()
|
||||
outputs new ItemStack(raw, 2)
|
||||
outputs stack(raw, 2)
|
||||
power 2
|
||||
time 270
|
||||
criterion getCriterionName(ore.asTag()), getCriterionConditions(ore.asTag())
|
||||
|
@ -101,7 +102,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
if (gem.getOre() != null)
|
||||
offerGrinderRecipe {
|
||||
ingredients gem.getOre().asTag()
|
||||
outputs new ItemStack(dust,2)
|
||||
outputs stack(dust,2)
|
||||
power 2
|
||||
time 220
|
||||
source "ore"
|
||||
|
@ -110,7 +111,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
if (gem.getStorageBlock() != null)
|
||||
offerGrinderRecipe {
|
||||
ingredients gem.getStorageBlock().asTag()
|
||||
outputs new ItemStack(dust,9)
|
||||
outputs stack(dust,9)
|
||||
power 2
|
||||
time 1500
|
||||
source "block"
|
||||
|
@ -131,7 +132,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
if (ingot.getStorageBlock() != null)
|
||||
offerGrinderRecipe {
|
||||
ingredients ingot.getStorageBlock().asTag()
|
||||
outputs new ItemStack(dust,9)
|
||||
outputs stack(dust,9)
|
||||
power 5
|
||||
time 1500
|
||||
source "block"
|
||||
|
@ -155,7 +156,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {item, count ->
|
||||
offerGrinderRecipe {
|
||||
ingredients item
|
||||
outputs new ItemStack(Items.SAND, count)
|
||||
outputs stack(Items.SAND, count)
|
||||
power count
|
||||
time 200
|
||||
source item.toString()
|
||||
|
@ -179,7 +180,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {item, count ->
|
||||
offerGrinderRecipe {
|
||||
ingredients item
|
||||
outputs new ItemStack(Items.RED_SAND, count)
|
||||
outputs stack(Items.RED_SAND, count)
|
||||
power count
|
||||
time 200
|
||||
source item.toString()
|
||||
|
@ -232,7 +233,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { item, count ->
|
||||
offerGrinderRecipe {
|
||||
ingredients item
|
||||
outputs new ItemStack(TRContent.SmallDusts.SAW, count)
|
||||
outputs stack(TRContent.SmallDusts.SAW, count)
|
||||
power 3
|
||||
time 180
|
||||
source item.id().path
|
||||
|
@ -246,7 +247,7 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { item, count ->
|
||||
offerGrinderRecipe {
|
||||
ingredients item
|
||||
outputs new ItemStack(TRContent.SmallDusts.SAW, count)
|
||||
outputs stack(TRContent.SmallDusts.SAW, count)
|
||||
power 3
|
||||
time 180
|
||||
source item.toString()
|
||||
|
@ -254,4 +255,331 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
void generateMiscRecipes() {
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 220
|
||||
ingredients stack("minecraft:glowstone")
|
||||
outputs stack("minecraft:glowstone_dust", 4)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 200
|
||||
ingredients stack("minecraft:netherrack")
|
||||
outputs stack("techreborn:netherrack_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 200
|
||||
ingredients tag("c:lapis_ores")
|
||||
outputs stack("minecraft:lapis_lazuli", 10)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 180
|
||||
ingredients stack("minecraft:gravel")
|
||||
outputs stack("minecraft:sand")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 1080
|
||||
ingredients stack("minecraft:quartz_block")
|
||||
outputs stack("techreborn:quartz_dust", 4)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 220
|
||||
ingredients tag("c:sphalerite_ores")
|
||||
outputs stack("techreborn:sphalerite_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 100
|
||||
ingredients tag("techreborn:calcite_small_dust_material")
|
||||
outputs stack("techreborn:calcite_small_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 300
|
||||
ingredients stack("minecraft:shroomlight")
|
||||
outputs stack("techreborn:glowstone_small_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 230
|
||||
ingredients stack("minecraft:coal")
|
||||
outputs stack("techreborn:coal_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients tag("c:emerald_ores")
|
||||
outputs stack("minecraft:emerald")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 170
|
||||
ingredients stack("minecraft:bone")
|
||||
outputs stack("minecraft:bone_meal", 6)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 180
|
||||
ingredients tag("techreborn:gravel_material")
|
||||
outputs stack("minecraft:gravel")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 3
|
||||
time 300
|
||||
ingredients tag("minecraft:wool")
|
||||
outputs stack("minecraft:string", 4)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 400
|
||||
ingredients tag("c:froglights")
|
||||
outputs stack("minecraft:prismarine_crystals", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 400
|
||||
ingredients stack("minecraft:sea_lantern")
|
||||
outputs stack("minecraft:prismarine_crystals", 4)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 180
|
||||
ingredients stack("minecraft:clay_ball")
|
||||
outputs stack("techreborn:clay_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients tag("c:pyrite_ores")
|
||||
outputs stack("techreborn:pyrite_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 200
|
||||
ingredients stack("minecraft:blaze_rod")
|
||||
outputs stack("minecraft:blaze_powder", 4)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 150
|
||||
ingredients stack("minecraft:glow_berries", 4)
|
||||
outputs stack("techreborn:glowstone_small_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients stack("minecraft:andesite")
|
||||
outputs stack("techreborn:andesite_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients stack("minecraft:emerald")
|
||||
outputs stack("techreborn:emerald_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 270
|
||||
ingredients tag("c:cinnabar_ores")
|
||||
outputs stack("techreborn:cinnabar_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 220
|
||||
ingredients tag("c:sodalite_ores")
|
||||
outputs stack("techreborn:sodalite_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 200
|
||||
ingredients stack("minecraft:ender_pearl")
|
||||
outputs stack("techreborn:ender_pearl_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 200
|
||||
ingredients stack("minecraft:ender_eye")
|
||||
outputs stack("techreborn:ender_eye_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 200
|
||||
ingredients tag("c:sponges")
|
||||
outputs stack("techreborn:sponge_piece", 5)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 400
|
||||
ingredients stack("minecraft:coal_block")
|
||||
outputs stack("techreborn:coal_dust", 9)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 200
|
||||
ingredients stack("minecraft:crimson_nylium")
|
||||
outputs stack("techreborn:netherrack_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 230
|
||||
ingredients stack("minecraft:charcoal")
|
||||
outputs stack("techreborn:charcoal_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 400
|
||||
ingredients tag("techreborn:calcite_dust_material")
|
||||
outputs stack("techreborn:calcite_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients tag("c:diamond_ores")
|
||||
outputs stack("minecraft:diamond")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients stack("minecraft:amethyst_block")
|
||||
outputs stack("techreborn:amethyst_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 500
|
||||
ingredients stack("minecraft:conduit")
|
||||
outputs stack("techreborn:calcite_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients tag("c:bauxite_ores")
|
||||
outputs stack("techreborn:bauxite_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 200
|
||||
ingredients stack("minecraft:end_stone")
|
||||
outputs stack("techreborn:endstone_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 200
|
||||
ingredients stack("minecraft:ancient_debris")
|
||||
outputs stack("minecraft:netherite_scrap", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 1440
|
||||
ingredients stack("minecraft:diorite")
|
||||
outputs stack("techreborn:diorite_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 270
|
||||
ingredients tag("c:galena_ores")
|
||||
outputs stack("techreborn:galena_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 220
|
||||
ingredients tag("c:sulfur_ores")
|
||||
outputs stack("techreborn:sulfur_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 200
|
||||
ingredients tag("c:sulfurs")
|
||||
outputs stack("techreborn:sulfur_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 400
|
||||
ingredients stack("minecraft:prismarine_bricks")
|
||||
outputs stack("minecraft:prismarine_shard", 7)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 180
|
||||
ingredients tag("c:limestone")
|
||||
outputs stack("techreborn:marble_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients stack("minecraft:granite")
|
||||
outputs stack("techreborn:granite_dust", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients tag("c:redstone_ores")
|
||||
outputs stack("minecraft:redstone", 8)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients stack("minecraft:nether_quartz_ore")
|
||||
outputs stack("minecraft:quartz", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 180
|
||||
ingredients tag("c:marble")
|
||||
outputs stack("techreborn:marble_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients stack("minecraft:diamond")
|
||||
outputs stack("techreborn:diamond_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 270
|
||||
ingredients stack("minecraft:quartz")
|
||||
outputs stack("techreborn:quartz_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 6
|
||||
time 400
|
||||
ingredients stack("minecraft:obsidian")
|
||||
outputs stack("techreborn:obsidian_dust", 4)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 200
|
||||
ingredients tag("c:coal_ores")
|
||||
outputs stack("minecraft:coal", 2)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 4
|
||||
time 200
|
||||
ingredients stack("minecraft:warped_nylium")
|
||||
outputs stack("techreborn:netherrack_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 400
|
||||
ingredients stack("minecraft:prismarine")
|
||||
outputs stack("minecraft:prismarine_shard", 3)
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 270
|
||||
ingredients stack("minecraft:flint")
|
||||
outputs stack("techreborn:flint_dust")
|
||||
}
|
||||
offerGrinderRecipe {
|
||||
power 2
|
||||
time 180
|
||||
ingredients tag("c:basalt")
|
||||
outputs stack("techreborn:basalt_dust")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,21 +28,22 @@ import net.minecraft.util.Identifier
|
|||
import reborncore.common.fluid.FluidValue
|
||||
import reborncore.common.fluid.container.FluidInstance
|
||||
import techreborn.api.recipe.recipes.IndustrialGrinderRecipe
|
||||
import techreborn.datagen.recipes.TechRebornRecipesProvider
|
||||
import techreborn.datagen.recipes.machine.MachineRecipeWithFluidJsonFactory
|
||||
import techreborn.init.ModRecipes
|
||||
|
||||
class IndustrialGrinderRecipeJsonFactory extends MachineRecipeWithFluidJsonFactory<IndustrialGrinderRecipe> {
|
||||
|
||||
protected IndustrialGrinderRecipeJsonFactory() {
|
||||
super(ModRecipes.INDUSTRIAL_GRINDER)
|
||||
protected IndustrialGrinderRecipeJsonFactory(TechRebornRecipesProvider provider) {
|
||||
super(ModRecipes.INDUSTRIAL_GRINDER, provider)
|
||||
}
|
||||
|
||||
static IndustrialGrinderRecipeJsonFactory create() {
|
||||
return new IndustrialGrinderRecipeJsonFactory()
|
||||
static IndustrialGrinderRecipeJsonFactory create(TechRebornRecipesProvider provider) {
|
||||
return new IndustrialGrinderRecipeJsonFactory(provider)
|
||||
}
|
||||
|
||||
static IndustrialGrinderRecipeJsonFactory createIndustrialGrinder(@DelegatesTo(value = IndustrialGrinderRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
def factory = new IndustrialGrinderRecipeJsonFactory()
|
||||
static IndustrialGrinderRecipeJsonFactory createIndustrialGrinder(TechRebornRecipesProvider provider, @DelegatesTo(value = IndustrialGrinderRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
def factory = new IndustrialGrinderRecipeJsonFactory(provider)
|
||||
closure.setDelegate(factory)
|
||||
closure.call(factory)
|
||||
return factory
|
||||
|
|
|
@ -72,7 +72,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {boots, smallDust ->
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients boots
|
||||
outputs new ItemStack(dustMap.get(smallDust), count-1), new ItemStack(smallDust, 2)
|
||||
outputs stack(dustMap.get(smallDust), count-1), stack(smallDust, 2)
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -81,7 +81,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients boots
|
||||
outputs new ItemStack(dustMap.get(smallDust), count+1), smallDust
|
||||
outputs stack(dustMap.get(smallDust), count+1), smallDust
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -102,7 +102,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {chestplate, smallDust ->
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients chestplate
|
||||
outputs new ItemStack(dustMap.get(smallDust), count-1), new ItemStack(smallDust, 2)
|
||||
outputs stack(dustMap.get(smallDust), count-1), stack(smallDust, 2)
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -111,7 +111,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients chestplate
|
||||
outputs new ItemStack(dustMap.get(smallDust), count+1), smallDust
|
||||
outputs stack(dustMap.get(smallDust), count+1), smallDust
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -132,7 +132,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {helmet, smallDust ->
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients helmet
|
||||
outputs new ItemStack(dustMap.get(smallDust), count-1), new ItemStack(smallDust, 2)
|
||||
outputs stack(dustMap.get(smallDust), count-1), stack(smallDust, 2)
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -141,7 +141,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients helmet
|
||||
outputs new ItemStack(dustMap.get(smallDust), count+1), smallDust
|
||||
outputs stack(dustMap.get(smallDust), count+1), smallDust
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -162,7 +162,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {leggings, smallDust ->
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients leggings
|
||||
outputs new ItemStack(dustMap.get(smallDust), count-1), new ItemStack(smallDust, 2)
|
||||
outputs stack(dustMap.get(smallDust), count-1), stack(smallDust, 2)
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -171,7 +171,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients leggings
|
||||
outputs new ItemStack(dustMap.get(smallDust), count+1), smallDust
|
||||
outputs stack(dustMap.get(smallDust), count+1), smallDust
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -189,7 +189,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {horseArmor, smallDust ->
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients horseArmor
|
||||
outputs new ItemStack(dustMap.get(smallDust), count-1), new ItemStack(smallDust, 2)
|
||||
outputs stack(dustMap.get(smallDust), count-1), stack(smallDust, 2)
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -198,7 +198,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients horseArmor
|
||||
outputs new ItemStack(dustMap.get(smallDust), count+1), smallDust
|
||||
outputs stack(dustMap.get(smallDust), count+1), smallDust
|
||||
power ARMOR_POWER
|
||||
time ARMOR_TIME
|
||||
fluidAmount ARMOR_FLUID_AMOUNT
|
||||
|
@ -218,7 +218,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {sword, smallDust ->
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients sword
|
||||
outputs new ItemStack(smallDust, 2), TRContent.SmallDusts.SAW
|
||||
outputs stack(smallDust, 2), TRContent.SmallDusts.SAW
|
||||
power TOOL_POWER
|
||||
time TOOL_TIME
|
||||
fluidAmount TOOL_FLUID_AMOUNT
|
||||
|
@ -256,7 +256,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients shovel
|
||||
outputs new ItemStack(smallDust, 2), TRContent.SmallDusts.SAW
|
||||
outputs stack(smallDust, 2), TRContent.SmallDusts.SAW
|
||||
power TOOL_POWER
|
||||
time TOOL_TIME
|
||||
fluidAmount TOOL_FLUID_AMOUNT
|
||||
|
@ -276,7 +276,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {hoe, smallDust ->
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients hoe
|
||||
outputs new ItemStack(smallDust, 2), TRContent.SmallDusts.SAW
|
||||
outputs stack(smallDust, 2), TRContent.SmallDusts.SAW
|
||||
power TOOL_POWER
|
||||
time TOOL_TIME
|
||||
fluidAmount TOOL_FLUID_AMOUNT
|
||||
|
@ -305,7 +305,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {axe, smallDust ->
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients axe
|
||||
outputs new ItemStack(smallDust, 3), TRContent.SmallDusts.SAW
|
||||
outputs stack(smallDust, 3), TRContent.SmallDusts.SAW
|
||||
power TOOL_POWER
|
||||
time TOOL_TIME
|
||||
fluidAmount TOOL_FLUID_AMOUNT
|
||||
|
@ -314,7 +314,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients axe
|
||||
outputs dustMap.get(smallDust), new ItemStack(smallDust, 3), TRContent.SmallDusts.SAW
|
||||
outputs dustMap.get(smallDust), stack(smallDust, 3), TRContent.SmallDusts.SAW
|
||||
power TOOL_POWER
|
||||
time TOOL_TIME
|
||||
fluidAmount TOOL_FLUID_AMOUNT
|
||||
|
@ -334,7 +334,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {pickaxe, smallDust ->
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients pickaxe
|
||||
outputs new ItemStack(smallDust, 3), TRContent.SmallDusts.SAW
|
||||
outputs stack(smallDust, 3), TRContent.SmallDusts.SAW
|
||||
power TOOL_POWER
|
||||
time TOOL_TIME
|
||||
fluidAmount TOOL_FLUID_AMOUNT
|
||||
|
@ -343,7 +343,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialGrinderRecipe {
|
||||
ingredients pickaxe
|
||||
outputs dustMap.get(smallDust), new ItemStack(smallDust, 3), TRContent.SmallDusts.SAW
|
||||
outputs dustMap.get(smallDust), stack(smallDust, 3), TRContent.SmallDusts.SAW
|
||||
power TOOL_POWER
|
||||
time TOOL_TIME
|
||||
fluidAmount TOOL_FLUID_AMOUNT
|
||||
|
|
|
@ -29,21 +29,22 @@ import net.minecraft.util.Identifier
|
|||
import reborncore.common.fluid.FluidValue
|
||||
import reborncore.common.fluid.container.FluidInstance
|
||||
import techreborn.api.recipe.recipes.IndustrialSawmillRecipe
|
||||
import techreborn.datagen.recipes.TechRebornRecipesProvider
|
||||
import techreborn.datagen.recipes.machine.MachineRecipeWithFluidJsonFactory
|
||||
import techreborn.init.ModRecipes
|
||||
|
||||
class IndustrialSawmillRecipeJsonFactory extends MachineRecipeWithFluidJsonFactory<IndustrialSawmillRecipe> {
|
||||
|
||||
protected IndustrialSawmillRecipeJsonFactory() {
|
||||
super(ModRecipes.INDUSTRIAL_SAWMILL)
|
||||
protected IndustrialSawmillRecipeJsonFactory(TechRebornRecipesProvider provider) {
|
||||
super(ModRecipes.INDUSTRIAL_SAWMILL, provider)
|
||||
}
|
||||
|
||||
static IndustrialSawmillRecipeJsonFactory create() {
|
||||
return new IndustrialSawmillRecipeJsonFactory()
|
||||
static IndustrialSawmillRecipeJsonFactory create(TechRebornRecipesProvider provider) {
|
||||
return new IndustrialSawmillRecipeJsonFactory(provider)
|
||||
}
|
||||
|
||||
static IndustrialSawmillRecipeJsonFactory createIndustrialSawmill(@DelegatesTo(value = IndustrialSawmillRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
def factory = new IndustrialSawmillRecipeJsonFactory()
|
||||
static IndustrialSawmillRecipeJsonFactory createIndustrialSawmill(TechRebornRecipesProvider provider, @DelegatesTo(value = IndustrialSawmillRecipeJsonFactory.class, strategy = Closure.DELEGATE_FIRST) Closure closure) {
|
||||
def factory = new IndustrialSawmillRecipeJsonFactory(provider)
|
||||
closure.setDelegate(factory)
|
||||
closure.call(factory)
|
||||
return factory
|
||||
|
|
|
@ -57,7 +57,7 @@ class IndustrialSawmillRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {logs, planks ->
|
||||
offerIndustrialSawmillRecipe {
|
||||
ingredients logs
|
||||
outputs new ItemStack(planks,4), new ItemStack(TRContent.Dusts.SAW, 3)
|
||||
outputs stack(planks,4), stack(TRContent.Dusts.SAW, 3)
|
||||
power 40
|
||||
time 200
|
||||
fluidAmount 1000 // in millibuckets
|
||||
|
@ -65,7 +65,7 @@ class IndustrialSawmillRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialSawmillRecipe {
|
||||
ingredients ItemTags.BAMBOO_BLOCKS
|
||||
outputs new ItemStack(Items.BAMBOO_PLANKS,2), new ItemStack(TRContent.Dusts.SAW, 1)
|
||||
outputs stack(Items.BAMBOO_PLANKS,2), stack(TRContent.Dusts.SAW, 1)
|
||||
power 40
|
||||
time 100
|
||||
fluidAmount 500 // in millibuckets
|
||||
|
@ -85,7 +85,7 @@ class IndustrialSawmillRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { stairs, slab ->
|
||||
offerIndustrialSawmillRecipe {
|
||||
ingredients stairs
|
||||
outputs slab, new ItemStack(TRContent.Dusts.SAW, 2)
|
||||
outputs slab, stack(TRContent.Dusts.SAW, 2)
|
||||
power 30
|
||||
time 100
|
||||
fluidAmount 250 // in millibuckets
|
||||
|
@ -99,7 +99,7 @@ class IndustrialSawmillRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { stairs, slab ->
|
||||
offerIndustrialSawmillRecipe {
|
||||
ingredients stairs
|
||||
outputs slab, new ItemStack(TRContent.Dusts.SAW, 2)
|
||||
outputs slab, stack(TRContent.Dusts.SAW, 2)
|
||||
power 30
|
||||
time 100
|
||||
fluidAmount 250 // in millibuckets
|
||||
|
@ -122,7 +122,7 @@ class IndustrialSawmillRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { slab, plate ->
|
||||
offerIndustrialSawmillRecipe {
|
||||
ingredients slab
|
||||
outputs new ItemStack(plate, 2), new ItemStack(TRContent.Dusts.SAW, 2)
|
||||
outputs stack(plate, 2), stack(TRContent.Dusts.SAW, 2)
|
||||
power 30
|
||||
time 200
|
||||
fluidAmount 250 // in millibuckets
|
||||
|
@ -136,7 +136,7 @@ class IndustrialSawmillRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { slab, plate ->
|
||||
offerIndustrialSawmillRecipe {
|
||||
ingredients slab
|
||||
outputs new ItemStack(plate, 2), new ItemStack(TRContent.Dusts.SAW, 2)
|
||||
outputs stack(plate, 2), stack(TRContent.Dusts.SAW, 2)
|
||||
power 30
|
||||
time 200
|
||||
fluidAmount 250 // in millibuckets
|
||||
|
@ -157,7 +157,7 @@ class IndustrialSawmillRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each { item, count ->
|
||||
offerIndustrialSawmillRecipe {
|
||||
ingredients item
|
||||
outputs new ItemStack(TRContent.Dusts.SAW, count)
|
||||
outputs stack(TRContent.Dusts.SAW, count)
|
||||
power 30
|
||||
time 200
|
||||
fluidAmount 125*count // in millibuckets
|
||||
|
@ -177,7 +177,7 @@ class IndustrialSawmillRecipesProvider extends TechRebornRecipesProvider {
|
|||
].each {item, count ->
|
||||
offerIndustrialSawmillRecipe {
|
||||
ingredients item
|
||||
outputs new ItemStack(TRContent.SmallDusts.SAW, count)
|
||||
outputs stack(TRContent.SmallDusts.SAW, count)
|
||||
power 30
|
||||
time 100
|
||||
fluidAmount 100 // in millibuckets
|
||||
|
@ -187,7 +187,7 @@ class IndustrialSawmillRecipesProvider extends TechRebornRecipesProvider {
|
|||
}
|
||||
offerIndustrialSawmillRecipe {
|
||||
ingredients ItemTags.WOODEN_BUTTONS
|
||||
outputs new ItemStack(TRContent.SmallDusts.SAW, 1)
|
||||
outputs stack(TRContent.SmallDusts.SAW, 1)
|
||||
power 20
|
||||
time 50
|
||||
fluidAmount 50 // in millibuckets
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/amethyst_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_amethyst_block": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:amethyst_block"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/amethyst_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_amethyst_block",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/andesite_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_andesite": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:andesite"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/andesite_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_andesite",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/basalt_dust_from_basalt"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_basalt": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:basalt"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/basalt_dust_from_basalt"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_basalt",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/bauxite_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_bauxite_ore": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:bauxite_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/bauxite_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_bauxite_ore",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/blaze_powder"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_blaze_rod": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:blaze_rod"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/blaze_powder"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_blaze_rod",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/bone_meal"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_bone": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:bone"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/bone_meal"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_bone",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/calcite_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_calcite_dust_material": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "techreborn:calcite_dust_material"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/calcite_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_calcite_dust_material",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/calcite_dust_from_conduit"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_conduit": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:conduit"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/calcite_dust_from_conduit"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_conduit",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/calcite_small_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_calcite_small_dust_material": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "techreborn:calcite_small_dust_material"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/calcite_small_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_calcite_small_dust_material",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/charcoal_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_charcoal": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:charcoal"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/charcoal_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_charcoal",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/cinnabar_dust_dust_from_ore"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_cinnabar_ore": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:cinnabar_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/cinnabar_dust_dust_from_ore"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_cinnabar_ore",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/clay_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_clay_ball": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:clay_ball"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/clay_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_clay_ball",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/coal"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_coal_ores": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:coal_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/coal"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_coal_ores",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/coal_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_coal": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:coal"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/coal_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_coal",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/coal_dust_from_block"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_coal_block": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:coal_block"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/coal_dust_from_block"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_coal_block",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/diamond"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_diamond_ores": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:diamond_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/diamond"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_diamond_ores",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/diamond_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_diamond": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:diamond"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/diamond_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_diamond",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/diorite_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_diorite": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:diorite"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/diorite_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_diorite",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/emerald"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_emerald_ores": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:emerald_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/emerald"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_emerald_ores",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/emerald_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_emerald": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:emerald"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/emerald_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_emerald",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/ender_pearl_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_ender_pearl": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:ender_pearl"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/ender_pearl_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_ender_pearl",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/endstone_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_endstone": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:end_stone"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/endstone_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_endstone",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/flint_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_flint": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:flint"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/flint_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_flint",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/galena_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_galena_ore": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:galena_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/galena_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_galena_ore",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/glowstone_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_glowstone": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:glowstone"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/glowstone_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_glowstone",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/glowstone_small_dust_from_glow_berries"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_glow_berries": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:glow_berries"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/glowstone_small_dust_from_glow_berries"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_glow_berries",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/glowstone_small_dust_from_shroomlight"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_shroomlight": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:shroomlight"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/glowstone_small_dust_from_shroomlight"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_shroomlight",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/granite_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_granite": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:granite"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/granite_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_granite",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/gravel"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_gravel_material": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "techreborn:gravel_material"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/gravel"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_gravel_material",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/lapis_lazuli"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_lapis_lazuli_ores": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:lapis_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/lapis_lazuli"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_lapis_lazuli_ores",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/marble_dust_from_limestone"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_limestone": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:limestone"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/marble_dust_from_limestone"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_limestone",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"fabric:load_conditions": [
|
||||
{
|
||||
"condition": "fabric:item_tags_populated",
|
||||
"values": [
|
||||
"c:limestone"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/marble_dust_from_marble"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_marble": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:marble"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/marble_dust_from_marble"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_marble",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"fabric:load_conditions": [
|
||||
{
|
||||
"condition": "fabric:item_tags_populated",
|
||||
"values": [
|
||||
"c:marble"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/netherite_scrap"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_ancient_debris": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:ancient_debris"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/netherite_scrap"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_ancient_debris",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/netherrack_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_netherrack": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:netherrack"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/netherrack_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_netherrack",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/netherrack_dust_from_crimson"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_crimson_nylium": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:crimson_nylium"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/netherrack_dust_from_crimson"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_crimson_nylium",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/netherrack_dust_from_warped"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_warped_nylium": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:warped_nylium"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/netherrack_dust_from_warped"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_warped_nylium",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/obsidian_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_obsidian": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:obsidian"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/obsidian_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_obsidian",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/prismarine_crystals"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_prismarine_shard": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:prismarine_shard"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/prismarine_crystals"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_prismarine_shard",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/prismarine_crystals_from_froglight"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_froglight": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:froglight"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/prismarine_crystals_from_froglight"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_froglight",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/prismarine_crystals_from_sea_lantern"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_sea_lantern": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:sea_lantern"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/prismarine_crystals_from_sea_lantern"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_sea_lantern",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/prismarine_shards_from_prismarine"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_prismarine": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:prismarine"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/prismarine_shards_from_prismarine"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_prismarine",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/prismarine_shards_from_prismarine_bricks"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_prismarine": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:prismarine"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/prismarine_shards_from_prismarine_bricks"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_prismarine",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/pyrite_dust_from_ore"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_pyrite_ore": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:pyrite_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/pyrite_dust_from_ore"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_pyrite_ore",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/quartz"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_nether_quartz_ore": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:nether_quartz_ore"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/quartz"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_nether_quartz_ore",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/quartz_dust_from_gem"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_quartz": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:quartz"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/quartz_dust_from_gem"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_quartz",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/quartz_dust_from_quartz_block"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_quartz": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:quartz_block"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/quartz_dust_from_quartz_block"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_quartz",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/redstone"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_redstone_ores": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:redstone_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/redstone"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_redstone_ores",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/sand"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_gravel": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": ["minecraft:gravel"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/sand"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_gravel",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/sodalite_dust_from_ore"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_sodalite_ore": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:sodalite_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/sodalite_dust_from_ore"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_sodalite_ore",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/sphalerite_dust_from_ore"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_sphalerite_ore": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:sphalerite_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/sphalerite_dust_from_ore"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_sphalerite_ore",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/sponge_piece"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_sponges": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:sponges"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/sponge_piece"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_sponges",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/string_from_wool"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_wool": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "minecraft:wool"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/string_from_wool"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_wool",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/sulfur_dust"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_sulfur": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:sulfurs"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/sulfur_dust"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_sulfur",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"fabric:load_conditions": [
|
||||
{
|
||||
"condition": "fabric:item_tags_populated",
|
||||
"values": [
|
||||
"c:sulfurs"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"techreborn:grinder/sulfur_dust_from_ore"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_sulfur_ore": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "c:sulfur_ores"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "techreborn:grinder/sulfur_dust_from_ore"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_sulfur_ore",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"fabric:load_conditions": [
|
||||
{
|
||||
"condition": "fabric:item_tags_populated",
|
||||
"values": [
|
||||
"c:sulfur_ores"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:amethyst_block"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:amethyst_dust",
|
||||
"count": 2
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:andesite"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:andesite_dust",
|
||||
"count": 2
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 180,
|
||||
|
||||
"ingredients" : [
|
||||
{
|
||||
"tag": "c:basalt"
|
||||
}
|
||||
],
|
||||
|
||||
"results" : [
|
||||
{
|
||||
"item": "techreborn:basalt_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"tag": "c:bauxite_ores"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:bauxite_dust",
|
||||
"count": 2
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 200,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:blaze_rod"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:blaze_powder",
|
||||
"count": 4
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 170,
|
||||
"ingredients" : [
|
||||
{
|
||||
"item": "minecraft:bone"
|
||||
}
|
||||
],
|
||||
"results" : [
|
||||
{
|
||||
"item": "minecraft:bone_meal",
|
||||
"count": 6
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 400,
|
||||
"ingredients" : [
|
||||
{
|
||||
"tag": "techreborn:calcite_dust_material"
|
||||
}
|
||||
],
|
||||
"results" : [
|
||||
{
|
||||
"item": "techreborn:calcite_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 500,
|
||||
"ingredients" : [
|
||||
{
|
||||
"item": "minecraft:conduit"
|
||||
}
|
||||
],
|
||||
"results" : [
|
||||
{
|
||||
"item": "techreborn:calcite_dust",
|
||||
"count": 2
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 100,
|
||||
"ingredients" : [
|
||||
{
|
||||
"tag": "techreborn:calcite_small_dust_material"
|
||||
}
|
||||
],
|
||||
"results" : [
|
||||
{
|
||||
"item": "techreborn:calcite_small_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 230,
|
||||
"ingredients" : [
|
||||
{
|
||||
"item": "minecraft:charcoal"
|
||||
}
|
||||
],
|
||||
"results" : [
|
||||
{
|
||||
"item": "techreborn:charcoal_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"tag": "c:cinnabar_ores"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:cinnabar_dust",
|
||||
"count": 2
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 180,
|
||||
"ingredients" : [
|
||||
{
|
||||
"item": "minecraft:clay_ball"
|
||||
}
|
||||
],
|
||||
"results" : [
|
||||
{
|
||||
"item": "techreborn:clay_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 200,
|
||||
"ingredients": [
|
||||
{
|
||||
"tag": "c:coal_ores"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:coal",
|
||||
"count": 2
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 230,
|
||||
"ingredients" : [
|
||||
{
|
||||
"item": "minecraft:coal"
|
||||
}
|
||||
],
|
||||
"results" : [
|
||||
{
|
||||
"item": "techreborn:coal_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 400,
|
||||
"ingredients" : [
|
||||
{
|
||||
"item": "minecraft:coal_block"
|
||||
}
|
||||
],
|
||||
"results" : [
|
||||
{
|
||||
"item": "techreborn:coal_dust",
|
||||
"count": 9
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"tag": "c:diamond_ores"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:diamond"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:diamond"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:diamond_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 1440,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:diorite",
|
||||
"count": 1
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:diorite_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"tag": "c:emerald_ores"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:emerald"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:emerald"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:emerald_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 200,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:ender_eye"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:ender_eye_dust",
|
||||
"count": 2
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 200,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:ender_pearl_dust",
|
||||
"count": 2
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 4,
|
||||
"time": 200,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:end_stone"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:endstone_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:flint"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:flint_dust"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 270,
|
||||
"ingredients": [
|
||||
{
|
||||
"tag": "c:galena_ores"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "techreborn:galena_dust",
|
||||
"count": 2
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
"type": "techreborn:grinder",
|
||||
"power": 2,
|
||||
"time": 220,
|
||||
"ingredients" : [
|
||||
{
|
||||
"item": "minecraft:glowstone"
|
||||
}
|
||||
],
|
||||
"results" : [
|
||||
{
|
||||
"item": "minecraft:glowstone_dust",
|
||||
"count": 4
|
||||
}
|
||||
]
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue