Package net.minecraft.recipe
Interface RecipeSerializer<T extends Recipe<?>>
- All Known Implementing Classes:
CookingRecipeSerializer,CuttingRecipe.Serializer,ShapedRecipe.Serializer,ShapelessRecipe.Serializer,SmithingTransformRecipe.Serializer,SmithingTrimRecipe.Serializer,SpecialRecipeSerializer
public interface RecipeSerializer<T extends Recipe<?>>
The recipe serializer controls the serialization and deserialization of
recipe content. The caller should handle the serialization of recipes' IDs.
Even though they are referred to by the type field in recipe
JSON format, they are stored in a registry with key
minecraft:root/minecraft:recipe_serializer, and is hence named.
If a recipe's serializer exists only on the server but not on the client, the client will disconnect upon receiving the recipe; if a recipe JSON intended for an absent recipe serializer is read, it is skipped.
- Mappings:
Namespace Name official cjcintermediary net/minecraft/class_1865named net/minecraft/recipe/RecipeSerializer
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final RecipeSerializer<ArmorDyeRecipe>static final RecipeSerializer<BannerDuplicateRecipe>static final RecipeSerializer<BlastingRecipe>static final RecipeSerializer<BookCloningRecipe>static final RecipeSerializer<CampfireCookingRecipe>static final RecipeSerializer<CraftingDecoratedPotRecipe>static final RecipeSerializer<FireworkRocketRecipe>static final RecipeSerializer<FireworkStarRecipe>static final RecipeSerializer<FireworkStarFadeRecipe>static final RecipeSerializer<MapCloningRecipe>static final RecipeSerializer<MapExtendingRecipe>static final RecipeSerializer<RepairItemRecipe>static final RecipeSerializer<ShapedRecipe>static final RecipeSerializer<ShapelessRecipe>static final RecipeSerializer<ShieldDecorationRecipe>static final RecipeSerializer<ShulkerBoxColoringRecipe>static final RecipeSerializer<SmeltingRecipe>static final RecipeSerializer<SmithingTransformRecipe>static final RecipeSerializer<SmithingTrimRecipe>static final RecipeSerializer<SmokingRecipe>static final RecipeSerializer<StonecuttingRecipe>static final RecipeSerializer<SuspiciousStewRecipe>static final RecipeSerializer<TippedArrowRecipe> -
Method Summary
Modifier and TypeMethodDescriptionread(Identifier id, JsonObject json) Reads a recipe from a JSON object.read(Identifier id, PacketByteBuf buf) Reads a recipe from a packet byte buf, usually on the client.static <S extends RecipeSerializer<T>,T extends Recipe<?>>
Svoidwrite(PacketByteBuf buf, T recipe) Writes a recipe to a packet byte buf, usually on the server.
-
Field Details
-
SHAPED
- Mappings:
Namespace Name Mixin selector official aLcjc;a:Lcjc;intermediary field_9035Lnet/minecraft/class_1865;field_9035:Lnet/minecraft/class_1865;named SHAPEDLnet/minecraft/recipe/RecipeSerializer;SHAPED:Lnet/minecraft/recipe/RecipeSerializer;
-
SHAPELESS
- Mappings:
Namespace Name Mixin selector official bLcjc;b:Lcjc;intermediary field_9031Lnet/minecraft/class_1865;field_9031:Lnet/minecraft/class_1865;named SHAPELESSLnet/minecraft/recipe/RecipeSerializer;SHAPELESS:Lnet/minecraft/recipe/RecipeSerializer;
-
ARMOR_DYE
- Mappings:
Namespace Name Mixin selector official cLcjc;c:Lcjc;intermediary field_9028Lnet/minecraft/class_1865;field_9028:Lnet/minecraft/class_1865;named ARMOR_DYELnet/minecraft/recipe/RecipeSerializer;ARMOR_DYE:Lnet/minecraft/recipe/RecipeSerializer;
-
BOOK_CLONING
- Mappings:
Namespace Name Mixin selector official dLcjc;d:Lcjc;intermediary field_9029Lnet/minecraft/class_1865;field_9029:Lnet/minecraft/class_1865;named BOOK_CLONINGLnet/minecraft/recipe/RecipeSerializer;BOOK_CLONING:Lnet/minecraft/recipe/RecipeSerializer;
-
MAP_CLONING
- Mappings:
Namespace Name Mixin selector official eLcjc;e:Lcjc;intermediary field_9044Lnet/minecraft/class_1865;field_9044:Lnet/minecraft/class_1865;named MAP_CLONINGLnet/minecraft/recipe/RecipeSerializer;MAP_CLONING:Lnet/minecraft/recipe/RecipeSerializer;
-
MAP_EXTENDING
- Mappings:
Namespace Name Mixin selector official fLcjc;f:Lcjc;intermediary field_9039Lnet/minecraft/class_1865;field_9039:Lnet/minecraft/class_1865;named MAP_EXTENDINGLnet/minecraft/recipe/RecipeSerializer;MAP_EXTENDING:Lnet/minecraft/recipe/RecipeSerializer;
-
FIREWORK_ROCKET
- Mappings:
Namespace Name Mixin selector official gLcjc;g:Lcjc;intermediary field_9043Lnet/minecraft/class_1865;field_9043:Lnet/minecraft/class_1865;named FIREWORK_ROCKETLnet/minecraft/recipe/RecipeSerializer;FIREWORK_ROCKET:Lnet/minecraft/recipe/RecipeSerializer;
-
FIREWORK_STAR
- Mappings:
Namespace Name Mixin selector official hLcjc;h:Lcjc;intermediary field_9036Lnet/minecraft/class_1865;field_9036:Lnet/minecraft/class_1865;named FIREWORK_STARLnet/minecraft/recipe/RecipeSerializer;FIREWORK_STAR:Lnet/minecraft/recipe/RecipeSerializer;
-
FIREWORK_STAR_FADE
- Mappings:
Namespace Name Mixin selector official iLcjc;i:Lcjc;intermediary field_9034Lnet/minecraft/class_1865;field_9034:Lnet/minecraft/class_1865;named FIREWORK_STAR_FADELnet/minecraft/recipe/RecipeSerializer;FIREWORK_STAR_FADE:Lnet/minecraft/recipe/RecipeSerializer;
-
TIPPED_ARROW
- Mappings:
Namespace Name Mixin selector official jLcjc;j:Lcjc;intermediary field_9037Lnet/minecraft/class_1865;field_9037:Lnet/minecraft/class_1865;named TIPPED_ARROWLnet/minecraft/recipe/RecipeSerializer;TIPPED_ARROW:Lnet/minecraft/recipe/RecipeSerializer;
-
BANNER_DUPLICATE
- Mappings:
Namespace Name Mixin selector official kLcjc;k:Lcjc;intermediary field_9038Lnet/minecraft/class_1865;field_9038:Lnet/minecraft/class_1865;named BANNER_DUPLICATELnet/minecraft/recipe/RecipeSerializer;BANNER_DUPLICATE:Lnet/minecraft/recipe/RecipeSerializer;
-
SHIELD_DECORATION
- Mappings:
Namespace Name Mixin selector official lLcjc;l:Lcjc;intermediary field_9040Lnet/minecraft/class_1865;field_9040:Lnet/minecraft/class_1865;named SHIELD_DECORATIONLnet/minecraft/recipe/RecipeSerializer;SHIELD_DECORATION:Lnet/minecraft/recipe/RecipeSerializer;
-
SHULKER_BOX
- Mappings:
Namespace Name Mixin selector official mLcjc;m:Lcjc;intermediary field_9041Lnet/minecraft/class_1865;field_9041:Lnet/minecraft/class_1865;named SHULKER_BOXLnet/minecraft/recipe/RecipeSerializer;SHULKER_BOX:Lnet/minecraft/recipe/RecipeSerializer;
-
SUSPICIOUS_STEW
- Mappings:
Namespace Name Mixin selector official nLcjc;n:Lcjc;intermediary field_9030Lnet/minecraft/class_1865;field_9030:Lnet/minecraft/class_1865;named SUSPICIOUS_STEWLnet/minecraft/recipe/RecipeSerializer;SUSPICIOUS_STEW:Lnet/minecraft/recipe/RecipeSerializer;
-
REPAIR_ITEM
- Mappings:
Namespace Name Mixin selector official oLcjc;o:Lcjc;intermediary field_19421Lnet/minecraft/class_1865;field_19421:Lnet/minecraft/class_1865;named REPAIR_ITEMLnet/minecraft/recipe/RecipeSerializer;REPAIR_ITEM:Lnet/minecraft/recipe/RecipeSerializer;
-
SMELTING
- Mappings:
Namespace Name Mixin selector official pLcjc;p:Lcjc;intermediary field_9042Lnet/minecraft/class_1865;field_9042:Lnet/minecraft/class_1865;named SMELTINGLnet/minecraft/recipe/RecipeSerializer;SMELTING:Lnet/minecraft/recipe/RecipeSerializer;
-
BLASTING
- Mappings:
Namespace Name Mixin selector official qLcjc;q:Lcjc;intermediary field_17084Lnet/minecraft/class_1865;field_17084:Lnet/minecraft/class_1865;named BLASTINGLnet/minecraft/recipe/RecipeSerializer;BLASTING:Lnet/minecraft/recipe/RecipeSerializer;
-
SMOKING
- Mappings:
Namespace Name Mixin selector official rLcjc;r:Lcjc;intermediary field_17085Lnet/minecraft/class_1865;field_17085:Lnet/minecraft/class_1865;named SMOKINGLnet/minecraft/recipe/RecipeSerializer;SMOKING:Lnet/minecraft/recipe/RecipeSerializer;
-
CAMPFIRE_COOKING
- Mappings:
Namespace Name Mixin selector official sLcjc;s:Lcjc;intermediary field_17347Lnet/minecraft/class_1865;field_17347:Lnet/minecraft/class_1865;named CAMPFIRE_COOKINGLnet/minecraft/recipe/RecipeSerializer;CAMPFIRE_COOKING:Lnet/minecraft/recipe/RecipeSerializer;
-
STONECUTTING
- Mappings:
Namespace Name Mixin selector official tLcjc;t:Lcjc;intermediary field_17640Lnet/minecraft/class_1865;field_17640:Lnet/minecraft/class_1865;named STONECUTTINGLnet/minecraft/recipe/RecipeSerializer;STONECUTTING:Lnet/minecraft/recipe/RecipeSerializer;
-
SMITHING_TRANSFORM
- Mappings:
Namespace Name Mixin selector official uLcjc;u:Lcjc;intermediary field_42027Lnet/minecraft/class_1865;field_42027:Lnet/minecraft/class_1865;named SMITHING_TRANSFORMLnet/minecraft/recipe/RecipeSerializer;SMITHING_TRANSFORM:Lnet/minecraft/recipe/RecipeSerializer;
-
SMITHING_TRIM
- Mappings:
Namespace Name Mixin selector official vLcjc;v:Lcjc;intermediary field_42028Lnet/minecraft/class_1865;field_42028:Lnet/minecraft/class_1865;named SMITHING_TRIMLnet/minecraft/recipe/RecipeSerializer;SMITHING_TRIM:Lnet/minecraft/recipe/RecipeSerializer;
-
CRAFTING_DECORATED_POT
- Mappings:
Namespace Name Mixin selector official wLcjc;w:Lcjc;intermediary field_42718Lnet/minecraft/class_1865;field_42718:Lnet/minecraft/class_1865;named CRAFTING_DECORATED_POTLnet/minecraft/recipe/RecipeSerializer;CRAFTING_DECORATED_POT:Lnet/minecraft/recipe/RecipeSerializer;
-
-
Method Details
-
read
Reads a recipe from a JSON object.- Parameters:
id- the recipe's IDjson- the recipe JSON- Returns:
- the read recipe
- Throws:
JsonParseException- if the recipe JSON is incorrect- Implementation Note:
- If this throws any exception besides
JsonParseExceptionandIllegalArgumentException, it will terminate and affect loading of all recipes from data packs beyond the current recipe. - Mappings:
Namespace Name Mixin selector official aLcjc;a(Lacq;Lcom/google/gson/JsonObject;)Lcja;intermediary method_8121Lnet/minecraft/class_1865;method_8121(Lnet/minecraft/class_2960;Lcom/google/gson/JsonObject;)Lnet/minecraft/class_1860;named readLnet/minecraft/recipe/RecipeSerializer;read(Lnet/minecraft/util/Identifier;Lcom/google/gson/JsonObject;)Lnet/minecraft/recipe/Recipe;
-
read
Reads a recipe from a packet byte buf, usually on the client.This can throw whatever exception the packet byte buf throws. This may be called in the netty event loop than the client game engine thread.
- Parameters:
id- the recipe's IDbuf- the recipe buf- Returns:
- the read recipe
- Mappings:
Namespace Name Mixin selector official aLcjc;a(Lacq;Lsf;)Lcja;intermediary method_8122Lnet/minecraft/class_1865;method_8122(Lnet/minecraft/class_2960;Lnet/minecraft/class_2540;)Lnet/minecraft/class_1860;named readLnet/minecraft/recipe/RecipeSerializer;read(Lnet/minecraft/util/Identifier;Lnet/minecraft/network/PacketByteBuf;)Lnet/minecraft/recipe/Recipe;
-
write
Writes a recipe to a packet byte buf, usually on the server.The recipe's ID is already written into the buf when this is called.
This can throw whatever exception the packet byte buf throws. This may be called in the netty event loop than the server game engine thread.
- Parameters:
buf- the recipe bufrecipe- the recipe- Mappings:
Namespace Name Mixin selector official aLcjc;a(Lsf;Lcja;)Vintermediary method_8124Lnet/minecraft/class_1865;method_8124(Lnet/minecraft/class_2540;Lnet/minecraft/class_1860;)Vnamed writeLnet/minecraft/recipe/RecipeSerializer;write(Lnet/minecraft/network/PacketByteBuf;Lnet/minecraft/recipe/Recipe;)V
-
register
- Mappings:
Namespace Name Mixin selector official aLcjc;a(Ljava/lang/String;Lcjc;)Lcjc;intermediary method_17724Lnet/minecraft/class_1865;method_17724(Ljava/lang/String;Lnet/minecraft/class_1865;)Lnet/minecraft/class_1865;named registerLnet/minecraft/recipe/RecipeSerializer;register(Ljava/lang/String;Lnet/minecraft/recipe/RecipeSerializer;)Lnet/minecraft/recipe/RecipeSerializer;
-