summaryrefslogtreecommitdiff
path: root/src/main/java/lv/enes/mc/eris_alchemy/recipe/ErisAlchemyRecipeSerializers.java
blob: c5a6676713b8487d0dcf04332c51e926fa35b0db (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package lv.enes.mc.eris_alchemy.recipe;

import lv.enes.mc.eris_alchemy.ErisAlchemy;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.crafting.Recipe;
import net.minecraft.world.item.crafting.RecipeSerializer;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.function.BiConsumer;

public final class ErisAlchemyRecipeSerializers {
	private static final Map<ResourceLocation, RecipeSerializer<?>> serializers = new LinkedHashMap<>();

	public static final RecipeSerializer<CovalenceRepair> COVALENCE_REPAIR = register("covalence_repair", new CovalenceRepair.Serializer());

	public static void consumeSerializers(BiConsumer<? super ResourceLocation, ? super RecipeSerializer<?>> consumer) {
		serializers.forEach(consumer);
	}

	private static <T extends Recipe<?>> RecipeSerializer<T> register(String id, RecipeSerializer<T> serializer) {
		serializers.putIfAbsent(new ResourceLocation(ErisAlchemy.ID, id), serializer);
		return serializer;
	}

	private ErisAlchemyRecipeSerializers() {}
}