70 lines
4.1 KiB
Diff
70 lines
4.1 KiB
Diff
--- a/net/minecraft/item/crafting/RecipeSerializers.java
|
|
+++ b/net/minecraft/item/crafting/RecipeSerializers.java
|
|
@@ -10,7 +10,7 @@
|
|
import net.minecraft.util.ResourceLocation;
|
|
|
|
public class RecipeSerializers {
|
|
- private static final Map<String, IRecipeSerializer<?>> field_199590_p = Maps.<String, IRecipeSerializer<?>>newHashMap();
|
|
+ private static final Map<ResourceLocation, IRecipeSerializer<?>> field_199590_p = Maps.newHashMap();
|
|
public static final IRecipeSerializer<ShapedRecipe> field_199575_a = func_199573_a(new ShapedRecipe.Serializer());
|
|
public static final IRecipeSerializer<ShapelessRecipe> field_199576_b = func_199573_a(new ShapelessRecipe.Serializer());
|
|
public static final RecipeSerializers.SimpleSerializer<RecipesArmorDyes> field_199577_c = func_199573_a(new RecipeSerializers.SimpleSerializer<RecipesArmorDyes>("crafting_special_armordye", RecipesArmorDyes::new));
|
|
@@ -27,18 +27,19 @@
|
|
public static final RecipeSerializers.SimpleSerializer<ShieldRecipes> field_199588_n = func_199573_a(new RecipeSerializers.SimpleSerializer<ShieldRecipes>("crafting_special_shielddecoration", ShieldRecipes::new));
|
|
public static final RecipeSerializers.SimpleSerializer<ShulkerBoxColoringRecipe> field_199589_o = func_199573_a(new RecipeSerializers.SimpleSerializer<ShulkerBoxColoringRecipe>("crafting_special_shulkerboxcoloring", ShulkerBoxColoringRecipe::new));
|
|
public static final IRecipeSerializer<FurnaceRecipe> field_201839_p = func_199573_a(new FurnaceRecipe.Serializer());
|
|
+ private static final java.util.Set<ResourceLocation> VANILLA_TYPES = new java.util.HashSet<>(field_199590_p.keySet()); //Copy of vanilla so we can keep track for compatibility.
|
|
|
|
public static <S extends IRecipeSerializer<T>, T extends IRecipe> S func_199573_a(S p_199573_0_) {
|
|
- if (field_199590_p.containsKey(p_199573_0_.func_199567_a())) {
|
|
- throw new IllegalArgumentException("Duplicate recipe serializer " + p_199573_0_.func_199567_a());
|
|
+ if (field_199590_p.containsKey(p_199573_0_.getName())) {
|
|
+ throw new IllegalArgumentException("Duplicate recipe serializer " + p_199573_0_.getName());
|
|
} else {
|
|
- field_199590_p.put(p_199573_0_.func_199567_a(), p_199573_0_);
|
|
+ field_199590_p.put(p_199573_0_.getName(), p_199573_0_);
|
|
return p_199573_0_;
|
|
}
|
|
}
|
|
|
|
public static IRecipe func_199572_a(ResourceLocation p_199572_0_, JsonObject p_199572_1_) {
|
|
- String s = JsonUtils.func_151200_h(p_199572_1_, "type");
|
|
+ ResourceLocation s = new ResourceLocation(JsonUtils.func_151200_h(p_199572_1_, "type"));
|
|
IRecipeSerializer<?> irecipeserializer = field_199590_p.get(s);
|
|
if (irecipeserializer == null) {
|
|
throw new JsonSyntaxException("Invalid or unsupported recipe type '" + s + "'");
|
|
@@ -49,7 +50,7 @@
|
|
|
|
public static IRecipe func_199571_a(PacketBuffer p_199571_0_) {
|
|
ResourceLocation resourcelocation = p_199571_0_.func_192575_l();
|
|
- String s = p_199571_0_.func_150789_c(32767);
|
|
+ ResourceLocation s = new ResourceLocation(p_199571_0_.func_150789_c(32767));
|
|
IRecipeSerializer<?> irecipeserializer = field_199590_p.get(s);
|
|
if (irecipeserializer == null) {
|
|
throw new IllegalArgumentException("Unknown recipe serializer " + s);
|
|
@@ -68,10 +69,12 @@
|
|
public static final class SimpleSerializer<T extends IRecipe> implements IRecipeSerializer<T> {
|
|
private final String field_199569_a;
|
|
private final Function<ResourceLocation, T> field_199570_b;
|
|
+ private final ResourceLocation name;
|
|
|
|
public SimpleSerializer(String p_i48188_1_, Function<ResourceLocation, T> p_i48188_2_) {
|
|
this.field_199569_a = p_i48188_1_;
|
|
this.field_199570_b = p_i48188_2_;
|
|
+ this.name = new ResourceLocation(field_199569_a);
|
|
}
|
|
|
|
public T func_199425_a_(ResourceLocation p_199425_1_, JsonObject p_199425_2_) {
|
|
@@ -85,8 +88,9 @@
|
|
public void func_199427_a_(PacketBuffer p_199427_1_, T p_199427_2_) {
|
|
}
|
|
|
|
- public String func_199567_a() {
|
|
- return this.field_199569_a;
|
|
+ @Override
|
|
+ public ResourceLocation getName() {
|
|
+ return this.name;
|
|
}
|
|
}
|
|
}
|