Map block families (#1965)

* Map block families

* Move the RecipeJsonFactory class to the proper package

* Rename the RecipeJsonFactory class to CraftingRecipeJsonFactory

* Fix the Javadoc for the RecipesProvider.getVariantRecipeInput method
This commit is contained in:
haykam821 2021-01-21 18:33:13 -05:00 committed by GitHub
parent 256df6a630
commit ade9c3ded9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 186 additions and 2 deletions

View File

@ -89,4 +89,5 @@ CLASS net/minecraft/class_161 net/minecraft/advancement/Advancement
ARG 1 parentId
METHOD method_709 criterion (Ljava/lang/String;Lnet/minecraft/class_184;)Lnet/minecraft/class_161$class_162;
ARG 1 name
ARG 2 conditions
METHOD method_710 getCriteria ()Ljava/util/Map;

View File

@ -1,2 +0,0 @@
CLASS net/minecraft/class_5797
METHOD method_10431 offerTo (Ljava/util/function/Consumer;)V

View File

@ -2,6 +2,7 @@ CLASS net/minecraft/class_4910 net/minecraft/data/client/model/BlockStateModelGe
FIELD field_22830 blockStateCollector Ljava/util/function/Consumer;
FIELD field_22831 modelCollector Ljava/util/function/BiConsumer;
FIELD field_22832 simpleItemModelExemptionCollector Ljava/util/function/Consumer;
FIELD field_28552 VARIANT_POOL_FUNCTIONS Ljava/util/Map;
METHOD <init> (Ljava/util/function/Consumer;Ljava/util/function/BiConsumer;Ljava/util/function/Consumer;)V
ARG 2 modelCollector
ARG 3 simpleItemModelExemptionCollector
@ -378,6 +379,7 @@ CLASS net/minecraft/class_4910 net/minecraft/data/client/model/BlockStateModelGe
CLASS class_4912 BlockTexturePool
FIELD field_22837 texture Lnet/minecraft/class_4944;
FIELD field_22838 baseModelId Lnet/minecraft/class_2960;
FIELD field_28554 family Lnet/minecraft/class_5794;
METHOD method_25716 button (Lnet/minecraft/class_2248;)Lnet/minecraft/class_4910$class_4912;
ARG 1 buttonBlock
METHOD method_25717 sign (Lnet/minecraft/class_2248;)Lnet/minecraft/class_4910$class_4912;
@ -395,6 +397,8 @@ CLASS net/minecraft/class_4910 net/minecraft/data/client/model/BlockStateModelGe
ARG 1 pressurePlateBlock
METHOD method_25724 slab (Lnet/minecraft/class_2248;)Lnet/minecraft/class_4910$class_4912;
METHOD method_25725 stairs (Lnet/minecraft/class_2248;)Lnet/minecraft/class_4910$class_4912;
METHOD method_33522 family (Lnet/minecraft/class_5794;)Lnet/minecraft/class_4910$class_4912;
ARG 1 family
CLASS class_4913 TintType
METHOD method_25726 getCrossModel ()Lnet/minecraft/class_4942;
METHOD method_25727 getFlowerPotCrossModel ()Lnet/minecraft/class_4942;

View File

@ -0,0 +1,50 @@
CLASS net/minecraft/class_5793 net/minecraft/data/family/BlockFamilies
FIELD field_28480 POLISHED_DIORITE Lnet/minecraft/class_5794;
FIELD field_28481 GRANITE Lnet/minecraft/class_5794;
FIELD field_28482 POLISHED_GRANITE Lnet/minecraft/class_5794;
FIELD field_28483 NETHER_BRICK Lnet/minecraft/class_5794;
FIELD field_28484 RED_NETHER_BRICK Lnet/minecraft/class_5794;
FIELD field_28485 PRISMARINE Lnet/minecraft/class_5794;
FIELD field_28486 PURPUR Lnet/minecraft/class_5794;
FIELD field_28487 PRISMARINE_BRICK Lnet/minecraft/class_5794;
FIELD field_28488 DARK_PRISMARINE Lnet/minecraft/class_5794;
FIELD field_28489 QUARTZ_BLOCK Lnet/minecraft/class_5794;
FIELD field_28490 SMOOTH_QUARTZ Lnet/minecraft/class_5794;
FIELD field_28491 SANDSTONE Lnet/minecraft/class_5794;
FIELD field_28492 CUT_SANDSTONE Lnet/minecraft/class_5794;
FIELD field_28493 SMOOTH_SANDSTONE Lnet/minecraft/class_5794;
FIELD field_28494 RED_SANDSTONE Lnet/minecraft/class_5794;
FIELD field_28495 CUT_RED_SANDSTONE Lnet/minecraft/class_5794;
FIELD field_28496 SMOOTH_RED_SANDSTONE Lnet/minecraft/class_5794;
FIELD field_28497 STONE Lnet/minecraft/class_5794;
FIELD field_28498 STONE_BRICK Lnet/minecraft/class_5794;
FIELD field_28499 BASE_BLOCKS_TO_FAMILIES Ljava/util/Map;
FIELD field_28500 ACACIA Lnet/minecraft/class_5794;
FIELD field_28501 BIRCH Lnet/minecraft/class_5794;
FIELD field_28502 CRIMSON Lnet/minecraft/class_5794;
FIELD field_28503 JUNGLE Lnet/minecraft/class_5794;
FIELD field_28504 OAK Lnet/minecraft/class_5794;
FIELD field_28505 DARK_OAK Lnet/minecraft/class_5794;
FIELD field_28506 SPRUCE Lnet/minecraft/class_5794;
FIELD field_28507 WARPED Lnet/minecraft/class_5794;
FIELD field_28508 ANDESITE Lnet/minecraft/class_5794;
FIELD field_28509 POLISHED_ANDESITE Lnet/minecraft/class_5794;
FIELD field_28510 BLACKSTONE Lnet/minecraft/class_5794;
FIELD field_28511 POLISHED_BLACKSTONE Lnet/minecraft/class_5794;
FIELD field_28512 POLISHED_BLACKSTONE_BRICK Lnet/minecraft/class_5794;
FIELD field_28513 BRICK Lnet/minecraft/class_5794;
FIELD field_28514 END_STONE_BRICK Lnet/minecraft/class_5794;
FIELD field_28515 MOSSY_STONE_BRICK Lnet/minecraft/class_5794;
FIELD field_28516 CUT_COPPER Lnet/minecraft/class_5794;
FIELD field_28517 WAXED_CUT_COPPER Lnet/minecraft/class_5794;
FIELD field_28518 LIGHTLY_WEATHERED_CUT_COPPER Lnet/minecraft/class_5794;
FIELD field_28519 WAXED_LIGHTLY_WEATHERED_CUT_COPPER Lnet/minecraft/class_5794;
FIELD field_28520 SEMI_WEATHERED_CUT_COPPER Lnet/minecraft/class_5794;
FIELD field_28521 WAXED_SEMI_WEATHERED_CUT_COPPER Lnet/minecraft/class_5794;
FIELD field_28522 WEATHERED_CUT_COPPER Lnet/minecraft/class_5794;
FIELD field_28523 COBBLESTONE Lnet/minecraft/class_5794;
FIELD field_28524 MOSSY_COBBLESTONE Lnet/minecraft/class_5794;
FIELD field_28525 DIORITE Lnet/minecraft/class_5794;
METHOD method_33467 getFamilies ()Ljava/util/stream/Stream;
METHOD method_33468 register (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 0 baseBlock

View File

@ -0,0 +1,58 @@
CLASS net/minecraft/class_5794 net/minecraft/data/family/BlockFamily
FIELD field_28526 baseBlock Lnet/minecraft/class_2248;
FIELD field_28527 variants Ljava/util/Map;
FIELD field_28528 generateModels Z
FIELD field_28529 generateRecipes Z
FIELD field_28530 group Ljava/lang/String;
FIELD field_28531 unlockCriterionName Ljava/lang/String;
METHOD <init> (Lnet/minecraft/class_2248;)V
ARG 1 baseBlock
METHOD method_33469 getBaseBlock ()Lnet/minecraft/class_2248;
METHOD method_33470 getVariant (Lnet/minecraft/class_5794$class_5796;)Lnet/minecraft/class_2248;
ARG 1 variant
METHOD method_33474 getVariants ()Ljava/util/Map;
METHOD method_33477 shouldGenerateModels ()Z
METHOD method_33478 shouldGenerateRecipes ()Z
METHOD method_33479 getGroup ()Ljava/util/Optional;
METHOD method_33480 getUnlockCriterionName ()Ljava/util/Optional;
CLASS class_5795 Builder
FIELD field_28532 family Lnet/minecraft/class_5794;
METHOD <init> (Lnet/minecraft/class_2248;)V
ARG 1 baseBlock
METHOD method_33481 build ()Lnet/minecraft/class_5794;
METHOD method_33482 button (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33483 sign (Lnet/minecraft/class_2248;Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
ARG 2 wallBlock
METHOD method_33484 group (Ljava/lang/String;)Lnet/minecraft/class_5794$class_5795;
ARG 1 group
METHOD method_33485 noGenerateModels ()Lnet/minecraft/class_5794$class_5795;
METHOD method_33486 chsieled (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33487 unlockCriterionName (Ljava/lang/String;)Lnet/minecraft/class_5794$class_5795;
ARG 1 unlockCriterionName
METHOD method_33488 noGenerateRecipes ()Lnet/minecraft/class_5794$class_5795;
METHOD method_33489 door (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33490 fence (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33491 fenceGate (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33492 slab (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33493 stairs (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33494 pressurePlate (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33495 polished (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33496 trapdoor (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
METHOD method_33497 wall (Lnet/minecraft/class_2248;)Lnet/minecraft/class_5794$class_5795;
ARG 1 block
CLASS class_5796 Variant
FIELD field_28546 name Ljava/lang/String;
METHOD <init> (Ljava/lang/String;ILjava/lang/String;)V
ARG 3 name
METHOD method_33498 getName ()Ljava/lang/String;

View File

@ -2,9 +2,11 @@ CLASS net/minecraft/class_2446 net/minecraft/data/server/RecipesProvider
FIELD field_11373 root Lnet/minecraft/class_2403;
FIELD field_11374 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_11375 GSON Lcom/google/gson/Gson;
FIELD field_28555 VARIANT_FACTORIES Ljava/util/Map;
METHOD <init> (Lnet/minecraft/class_2403;)V
ARG 1 root
METHOD method_10419 generate (Ljava/util/function/Consumer;)V
ARG 0 exporter
METHOD method_10420 conditionsFromTag (Lnet/minecraft/class_3494;)Lnet/minecraft/class_2066$class_2068;
ARG 0 tag
METHOD method_10422 requireEnteringFluid (Lnet/minecraft/class_2248;)Lnet/minecraft/class_2037$class_2039;
@ -21,84 +23,147 @@ CLASS net/minecraft/class_2446 net/minecraft/data/server/RecipesProvider
ARG 1 json
ARG 2 path
METHOD method_17585 generateCookingRecipes (Ljava/util/function/Consumer;Ljava/lang/String;Lnet/minecraft/class_3957;I)V
ARG 0 exporter
ARG 1 cooker
ARG 2 serializer
ARG 3 cookingTime
METHOD method_24475 offerPlanksRecipe2 (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_3494;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24476 offerBarkBlockRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24477 offerPlanksRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_3494;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24478 offerBoatRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24884 offerWoolDyeingRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24885 offerCarpetRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24886 offerCarpetDyeingRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
METHOD method_24887 offerBedRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
METHOD method_24888 offerBedDyeingRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24889 offerBannerRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24890 offerStainedGlassDyeingRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24891 offerStainedGlassPaneRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24892 offerStainedGlassPaneDyeingRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24893 offerTerracottaDyeingRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_24894 offerConcretePowderDyeingRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_29728 offerNetheriteUpgradeRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1792;Lnet/minecraft/class_1792;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_32233 offerCandleDyeingRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_32804 createSlabRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_32805 createChiseledBlockRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_2447;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_32806 createPressurePlateRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_32807 hasItem (Lnet/minecraft/class_1935;)Ljava/lang/String;
ARG 0 item
METHOD method_32808 createStairsRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_32809 offerWallRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_32810 offerPolishedStoneRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_32811 offerCutCopperRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_32812 offerChiseledBlockRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_32813 createPressurePlateRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_32814 offerSlabRecipe (Ljava/util/function/Consumer;Lnet/minecraft/class_1935;Lnet/minecraft/class_1935;)V
ARG 0 exporter
ARG 1 outputItem
ARG 2 inputItem
METHOD method_33531 getWallRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_33533 getVariantRecipeInput (Lnet/minecraft/class_5794;Lnet/minecraft/class_5794$class_5796;)Lnet/minecraft/class_2248;
COMMENT Gets the block used to craft a certain {@linkplain net.minecraft.data.family.BlockFamily.Variant variant} of a base block.
COMMENT
COMMENT <p>Normally, the block used to craft a variant is the base block.
COMMENT For chiseled variants, this is the slab variant of that block.
COMMENT
COMMENT <p>Purpur is handled separately because both purpur and purpur pillars can be used to craft purpur slabs and stairs.
ARG 0 family
ARG 1 variant
METHOD method_33535 generateFamily (Ljava/util/function/Consumer;Lnet/minecraft/class_5794;)V
ARG 0 exporter
ARG 1 family
METHOD method_33537 createCondensingRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_33542 createTransmutationRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_33544 createDoorRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_33546 createFenceRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_33548 createFenceGateRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_33553 createTrapdoorRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem
METHOD method_33555 createSignRecipe (Lnet/minecraft/class_1935;Lnet/minecraft/class_1856;)Lnet/minecraft/class_5797;
ARG 0 outputItem
ARG 1 inputItem

View File

@ -0,0 +1,8 @@
CLASS net/minecraft/class_5797 net/minecraft/data/server/recipe/CraftingRecipeJsonFactory
METHOD method_10431 offerTo (Ljava/util/function/Consumer;)V
ARG 1 exporter
METHOD method_33529 group (Ljava/lang/String;)Lnet/minecraft/class_5797;
ARG 1 group
METHOD method_33530 criterion (Ljava/lang/String;Lnet/minecraft/class_184;)Lnet/minecraft/class_5797;
ARG 1 name
ARG 2 conditions