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 intermediary net/minecraft/class_1865official cjcnamed 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 intermediary field_9035Lnet/minecraft/class_1865;field_9035:Lnet/minecraft/class_1865;official aLcjc;a:Lcjc;named SHAPEDLnet/minecraft/recipe/RecipeSerializer;SHAPED:Lnet/minecraft/recipe/RecipeSerializer;
-
SHAPELESS
- Mappings:
Namespace Name Mixin selector intermediary field_9031Lnet/minecraft/class_1865;field_9031:Lnet/minecraft/class_1865;official bLcjc;b:Lcjc;named SHAPELESSLnet/minecraft/recipe/RecipeSerializer;SHAPELESS:Lnet/minecraft/recipe/RecipeSerializer;
-
ARMOR_DYE
- Mappings:
Namespace Name Mixin selector intermediary field_9028Lnet/minecraft/class_1865;field_9028:Lnet/minecraft/class_1865;official cLcjc;c:Lcjc;named ARMOR_DYELnet/minecraft/recipe/RecipeSerializer;ARMOR_DYE:Lnet/minecraft/recipe/RecipeSerializer;
-
BOOK_CLONING
- Mappings:
Namespace Name Mixin selector intermediary field_9029Lnet/minecraft/class_1865;field_9029:Lnet/minecraft/class_1865;official dLcjc;d:Lcjc;named BOOK_CLONINGLnet/minecraft/recipe/RecipeSerializer;BOOK_CLONING:Lnet/minecraft/recipe/RecipeSerializer;
-
MAP_CLONING
- Mappings:
Namespace Name Mixin selector intermediary field_9044Lnet/minecraft/class_1865;field_9044:Lnet/minecraft/class_1865;official eLcjc;e:Lcjc;named MAP_CLONINGLnet/minecraft/recipe/RecipeSerializer;MAP_CLONING:Lnet/minecraft/recipe/RecipeSerializer;
-
MAP_EXTENDING
- Mappings:
Namespace Name Mixin selector intermediary field_9039Lnet/minecraft/class_1865;field_9039:Lnet/minecraft/class_1865;official fLcjc;f:Lcjc;named MAP_EXTENDINGLnet/minecraft/recipe/RecipeSerializer;MAP_EXTENDING:Lnet/minecraft/recipe/RecipeSerializer;
-
FIREWORK_ROCKET
- Mappings:
Namespace Name Mixin selector intermediary field_9043Lnet/minecraft/class_1865;field_9043:Lnet/minecraft/class_1865;official gLcjc;g:Lcjc;named FIREWORK_ROCKETLnet/minecraft/recipe/RecipeSerializer;FIREWORK_ROCKET:Lnet/minecraft/recipe/RecipeSerializer;
-
FIREWORK_STAR
- Mappings:
Namespace Name Mixin selector intermediary field_9036Lnet/minecraft/class_1865;field_9036:Lnet/minecraft/class_1865;official hLcjc;h:Lcjc;named FIREWORK_STARLnet/minecraft/recipe/RecipeSerializer;FIREWORK_STAR:Lnet/minecraft/recipe/RecipeSerializer;
-
FIREWORK_STAR_FADE
- Mappings:
Namespace Name Mixin selector intermediary field_9034Lnet/minecraft/class_1865;field_9034:Lnet/minecraft/class_1865;official iLcjc;i:Lcjc;named FIREWORK_STAR_FADELnet/minecraft/recipe/RecipeSerializer;FIREWORK_STAR_FADE:Lnet/minecraft/recipe/RecipeSerializer;
-
TIPPED_ARROW
- Mappings:
Namespace Name Mixin selector intermediary field_9037Lnet/minecraft/class_1865;field_9037:Lnet/minecraft/class_1865;official jLcjc;j:Lcjc;named TIPPED_ARROWLnet/minecraft/recipe/RecipeSerializer;TIPPED_ARROW:Lnet/minecraft/recipe/RecipeSerializer;
-
BANNER_DUPLICATE
- Mappings:
Namespace Name Mixin selector intermediary field_9038Lnet/minecraft/class_1865;field_9038:Lnet/minecraft/class_1865;official kLcjc;k:Lcjc;named BANNER_DUPLICATELnet/minecraft/recipe/RecipeSerializer;BANNER_DUPLICATE:Lnet/minecraft/recipe/RecipeSerializer;
-
SHIELD_DECORATION
- Mappings:
Namespace Name Mixin selector intermediary field_9040Lnet/minecraft/class_1865;field_9040:Lnet/minecraft/class_1865;official lLcjc;l:Lcjc;named SHIELD_DECORATIONLnet/minecraft/recipe/RecipeSerializer;SHIELD_DECORATION:Lnet/minecraft/recipe/RecipeSerializer;
-
SHULKER_BOX
- Mappings:
Namespace Name Mixin selector intermediary field_9041Lnet/minecraft/class_1865;field_9041:Lnet/minecraft/class_1865;official mLcjc;m:Lcjc;named SHULKER_BOXLnet/minecraft/recipe/RecipeSerializer;SHULKER_BOX:Lnet/minecraft/recipe/RecipeSerializer;
-
SUSPICIOUS_STEW
- Mappings:
Namespace Name Mixin selector intermediary field_9030Lnet/minecraft/class_1865;field_9030:Lnet/minecraft/class_1865;official nLcjc;n:Lcjc;named SUSPICIOUS_STEWLnet/minecraft/recipe/RecipeSerializer;SUSPICIOUS_STEW:Lnet/minecraft/recipe/RecipeSerializer;
-
REPAIR_ITEM
- Mappings:
Namespace Name Mixin selector intermediary field_19421Lnet/minecraft/class_1865;field_19421:Lnet/minecraft/class_1865;official oLcjc;o:Lcjc;named REPAIR_ITEMLnet/minecraft/recipe/RecipeSerializer;REPAIR_ITEM:Lnet/minecraft/recipe/RecipeSerializer;
-
SMELTING
- Mappings:
Namespace Name Mixin selector intermediary field_9042Lnet/minecraft/class_1865;field_9042:Lnet/minecraft/class_1865;official pLcjc;p:Lcjc;named SMELTINGLnet/minecraft/recipe/RecipeSerializer;SMELTING:Lnet/minecraft/recipe/RecipeSerializer;
-
BLASTING
- Mappings:
Namespace Name Mixin selector intermediary field_17084Lnet/minecraft/class_1865;field_17084:Lnet/minecraft/class_1865;official qLcjc;q:Lcjc;named BLASTINGLnet/minecraft/recipe/RecipeSerializer;BLASTING:Lnet/minecraft/recipe/RecipeSerializer;
-
SMOKING
- Mappings:
Namespace Name Mixin selector intermediary field_17085Lnet/minecraft/class_1865;field_17085:Lnet/minecraft/class_1865;official rLcjc;r:Lcjc;named SMOKINGLnet/minecraft/recipe/RecipeSerializer;SMOKING:Lnet/minecraft/recipe/RecipeSerializer;
-
CAMPFIRE_COOKING
- Mappings:
Namespace Name Mixin selector intermediary field_17347Lnet/minecraft/class_1865;field_17347:Lnet/minecraft/class_1865;official sLcjc;s:Lcjc;named CAMPFIRE_COOKINGLnet/minecraft/recipe/RecipeSerializer;CAMPFIRE_COOKING:Lnet/minecraft/recipe/RecipeSerializer;
-
STONECUTTING
- Mappings:
Namespace Name Mixin selector intermediary field_17640Lnet/minecraft/class_1865;field_17640:Lnet/minecraft/class_1865;official tLcjc;t:Lcjc;named STONECUTTINGLnet/minecraft/recipe/RecipeSerializer;STONECUTTING:Lnet/minecraft/recipe/RecipeSerializer;
-
SMITHING_TRANSFORM
- Mappings:
Namespace Name Mixin selector intermediary field_42027Lnet/minecraft/class_1865;field_42027:Lnet/minecraft/class_1865;official uLcjc;u:Lcjc;named SMITHING_TRANSFORMLnet/minecraft/recipe/RecipeSerializer;SMITHING_TRANSFORM:Lnet/minecraft/recipe/RecipeSerializer;
-
SMITHING_TRIM
- Mappings:
Namespace Name Mixin selector intermediary field_42028Lnet/minecraft/class_1865;field_42028:Lnet/minecraft/class_1865;official vLcjc;v:Lcjc;named SMITHING_TRIMLnet/minecraft/recipe/RecipeSerializer;SMITHING_TRIM:Lnet/minecraft/recipe/RecipeSerializer;
-
CRAFTING_DECORATED_POT
- Mappings:
Namespace Name Mixin selector intermediary field_42718Lnet/minecraft/class_1865;field_42718:Lnet/minecraft/class_1865;official wLcjc;w:Lcjc;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 intermediary method_8121Lnet/minecraft/class_1865;method_8121(Lnet/minecraft/class_2960;Lcom/google/gson/JsonObject;)Lnet/minecraft/class_1860;official aLcjc;a(Lacq;Lcom/google/gson/JsonObject;)Lcja;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 intermediary method_8122Lnet/minecraft/class_1865;method_8122(Lnet/minecraft/class_2960;Lnet/minecraft/class_2540;)Lnet/minecraft/class_1860;official aLcjc;a(Lacq;Lsf;)Lcja;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 intermediary method_8124Lnet/minecraft/class_1865;method_8124(Lnet/minecraft/class_2540;Lnet/minecraft/class_1860;)Vofficial aLcjc;a(Lsf;Lcja;)Vnamed writeLnet/minecraft/recipe/RecipeSerializer;write(Lnet/minecraft/network/PacketByteBuf;Lnet/minecraft/recipe/Recipe;)V
-
register
- Mappings:
Namespace Name Mixin selector intermediary method_17724Lnet/minecraft/class_1865;method_17724(Ljava/lang/String;Lnet/minecraft/class_1865;)Lnet/minecraft/class_1865;official aLcjc;a(Ljava/lang/String;Lcjc;)Lcjc;named registerLnet/minecraft/recipe/RecipeSerializer;register(Ljava/lang/String;Lnet/minecraft/recipe/RecipeSerializer;)Lnet/minecraft/recipe/RecipeSerializer;
-