@@ -20,31 +20,31 @@ package one.oktw.galaxy.datagen
2020
2121import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput
2222import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider
23- import net.minecraft.data.recipe.RecipeExporter
24- import net.minecraft.data.recipe.RecipeGenerator
25- import net.minecraft.item.Items
26- import net.minecraft.recipe.book.RecipeCategory
27- import net.minecraft.registry.RegistryKeys
28- import net.minecraft.registry.RegistryWrapper
29- import net.minecraft.registry.tag.ItemTags
23+ import net.minecraft.core.HolderLookup
24+ import net.minecraft.core.registries.Registries
25+ import net.minecraft.data.recipes.RecipeCategory
26+ import net.minecraft.data.recipes.RecipeOutput
27+ import net.minecraft.data.recipes.RecipeProvider
28+ import net.minecraft.tags.ItemTags
29+ import net.minecraft.world.item.Items
3030import one.oktw.galaxy.datagen.util.ShapedRecipeJsonBuilder
3131import one.oktw.galaxy.item.CustomBlockItem
3232import one.oktw.galaxy.item.Tool
3333import java.util.concurrent.CompletableFuture
3434
35- class GalaxyRecipeProvider (output : FabricDataOutput , registriesFuture : CompletableFuture <RegistryWrapper . WrapperLookup >) :
35+ class GalaxyRecipeProvider (output : FabricDataOutput , registriesFuture : CompletableFuture <HolderLookup . Provider >) :
3636 FabricRecipeProvider (output, registriesFuture) {
37- override fun getRecipeGenerator (registries : RegistryWrapper . WrapperLookup , exporter : RecipeExporter ) = object : RecipeGenerator (registries, exporter) {
38- override fun generate () {
39- val itemLookup = registries.getOrThrow( RegistryKeys .ITEM )
37+ override fun createRecipeProvider (registries : HolderLookup . Provider , exporter : RecipeOutput ) = object : RecipeProvider (registries, exporter) {
38+ override fun buildRecipes () {
39+ val itemLookup = registries.lookupOrThrow( Registries .ITEM )
4040
4141 // Block
42- createShapeless (RecipeCategory .BUILDING_BLOCKS , CustomBlockItem .ELEVATOR .createItemStack())
43- .input (Items .ENDER_PEARL )
44- .input (Items .IRON_BLOCK )
45- .criterion(hasItem (Items .ENDER_PEARL ), conditionsFromItem (Items .ENDER_PEARL ))
46- .criterion(hasItem (Items .IRON_BLOCK ), conditionsFromItem (Items .IRON_BLOCK ))
47- .offerTo (exporter, " block/elevator" )
42+ shapeless (RecipeCategory .BUILDING_BLOCKS , CustomBlockItem .ELEVATOR .createItemStack())
43+ .requires (Items .ENDER_PEARL )
44+ .requires (Items .IRON_BLOCK )
45+ .unlockedBy(getHasName (Items .ENDER_PEARL ), has (Items .ENDER_PEARL ))
46+ .unlockedBy(getHasName (Items .IRON_BLOCK ), has (Items .IRON_BLOCK ))
47+ .save (exporter, " block/elevator" )
4848 ShapedRecipeJsonBuilder (itemLookup, RecipeCategory .BUILDING_BLOCKS , CustomBlockItem .HARVEST .createItemStack())
4949 .addInput(' C' , Items .COPPER_INGOT )
5050 .addInput(' D' , Items .DISPENSER )
@@ -56,10 +56,10 @@ class GalaxyRecipeProvider(output: FabricDataOutput, registriesFuture: Completab
5656 " CCC"
5757 )
5858 )
59- .criterion(hasItem (Items .COPPER_INGOT ), conditionsFromItem (Items .COPPER_INGOT ))
60- .criterion(hasItem (Items .DISPENSER ), conditionsFromItem (Items .DISPENSER ))
61- .criterion(hasItem (Items .OBSERVER ), conditionsFromItem (Items .OBSERVER ))
62- .offerTo (exporter, " block/harvest" )
59+ .unlockedBy(getHasName (Items .COPPER_INGOT ), has (Items .COPPER_INGOT ))
60+ .unlockedBy(getHasName (Items .DISPENSER ), has (Items .DISPENSER ))
61+ .unlockedBy(getHasName (Items .OBSERVER ), has (Items .OBSERVER ))
62+ .save (exporter, " block/harvest" )
6363 ShapedRecipeJsonBuilder (itemLookup, RecipeCategory .BUILDING_BLOCKS , CustomBlockItem .HT_CRAFTING_TABLE .createItemStack())
6464 .addInput(' R' , Items .REDSTONE )
6565 .addInput(' D' , Items .DIAMOND )
@@ -74,13 +74,13 @@ class GalaxyRecipeProvider(output: FabricDataOutput, registriesFuture: Completab
7474 " LOR"
7575 )
7676 )
77- .criterion(hasItem (Items .REDSTONE ), conditionsFromItem (Items .REDSTONE ))
78- .criterion(hasItem (Items .DIAMOND ), conditionsFromItem (Items .DIAMOND ))
79- .criterion(hasItem (Items .LAPIS_LAZULI ), conditionsFromItem (Items .LAPIS_LAZULI ))
80- .criterion(hasItem (Items .IRON_INGOT ), conditionsFromItem (Items .IRON_INGOT ))
81- .criterion(hasItem (Items .CRAFTING_TABLE ), conditionsFromItem (Items .CRAFTING_TABLE ))
82- .criterion(hasItem (Items .OBSIDIAN ), conditionsFromItem (Items .OBSIDIAN ))
83- .offerTo (exporter, " block/ht_crafting_table" )
77+ .unlockedBy(getHasName (Items .REDSTONE ), has (Items .REDSTONE ))
78+ .unlockedBy(getHasName (Items .DIAMOND ), has (Items .DIAMOND ))
79+ .unlockedBy(getHasName (Items .LAPIS_LAZULI ), has (Items .LAPIS_LAZULI ))
80+ .unlockedBy(getHasName (Items .IRON_INGOT ), has (Items .IRON_INGOT ))
81+ .unlockedBy(getHasName (Items .CRAFTING_TABLE ), has (Items .CRAFTING_TABLE ))
82+ .unlockedBy(getHasName (Items .OBSIDIAN ), has (Items .OBSIDIAN ))
83+ .save (exporter, " block/ht_crafting_table" )
8484 ShapedRecipeJsonBuilder (itemLookup, RecipeCategory .BUILDING_BLOCKS , CustomBlockItem .TRASHCAN .createItemStack())
8585 .addInput(' G' , Items .GLASS )
8686 .addInput(' C' , Items .CACTUS )
@@ -93,11 +93,11 @@ class GalaxyRecipeProvider(output: FabricDataOutput, registriesFuture: Completab
9393 " TST"
9494 )
9595 )
96- .criterion(hasItem (Items .GLASS ), conditionsFromItem (Items .GLASS ))
97- .criterion(hasItem (Items .CACTUS ), conditionsFromItem (Items .CACTUS ))
98- .criterion(hasItem (Items .TERRACOTTA ), conditionsFromItem (Items .TERRACOTTA ))
99- .criterion(hasItem (Items .SAND ), conditionsFromTag (ItemTags .SAND ))
100- .offerTo (exporter, " block/trashcan" )
96+ .unlockedBy(getHasName (Items .GLASS ), has (Items .GLASS ))
97+ .unlockedBy(getHasName (Items .CACTUS ), has (Items .CACTUS ))
98+ .unlockedBy(getHasName (Items .TERRACOTTA ), has (Items .TERRACOTTA ))
99+ .unlockedBy(getHasName (Items .SAND ), has (ItemTags .SAND ))
100+ .save (exporter, " block/trashcan" )
101101
102102 // Tool
103103 ShapedRecipeJsonBuilder (itemLookup, RecipeCategory .TOOLS , Tool .CROWBAR .createItemStack())
@@ -109,8 +109,8 @@ class GalaxyRecipeProvider(output: FabricDataOutput, registriesFuture: Completab
109109 " I"
110110 )
111111 )
112- .criterion(hasItem (Items .IRON_INGOT ), conditionsFromItem (Items .IRON_INGOT ))
113- .offerTo (exporter, " tool/crowbar" )
112+ .unlockedBy(getHasName (Items .IRON_INGOT ), has (Items .IRON_INGOT ))
113+ .save (exporter, " tool/crowbar" )
114114 ShapedRecipeJsonBuilder (itemLookup, RecipeCategory .TOOLS , Tool .WRENCH .createItemStack())
115115 .addInput(' I' , Items .IRON_INGOT )
116116 .addInput(' S' , Items .STICK )
@@ -121,9 +121,9 @@ class GalaxyRecipeProvider(output: FabricDataOutput, registriesFuture: Completab
121121 " I "
122122 )
123123 )
124- .criterion(hasItem (Items .IRON_INGOT ), conditionsFromItem (Items .IRON_INGOT ))
125- .criterion(hasItem (Items .STICK ), conditionsFromItem (Items .STICK ))
126- .offerTo (exporter, " tool/wrench" )
124+ .unlockedBy(getHasName (Items .IRON_INGOT ), has (Items .IRON_INGOT ))
125+ .unlockedBy(getHasName (Items .STICK ), has (Items .STICK ))
126+ .save (exporter, " tool/wrench" )
127127 }
128128 }
129129
0 commit comments