Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
at master 102 lines 2.9 kB view raw
1package net.lerariemann.infinity.data.recipe; 2 3 4import net.lerariemann.infinity.item.function.F4RechargingRecipe; 5import net.minecraft.core.registries.Registries; 6import net.minecraft.data.recipes.RecipeBuilder; 7//? >1.21 { 8import net.minecraft.data.recipes.RecipeOutput; 9import net.minecraft.advancements.AdvancementHolder; 10import net.minecraft.advancements.Criterion; 11import net.minecraft.world.item.crafting.CraftingBookCategory; 12import net.minecraft.resources.ResourceKey; 13import net.lerariemann.infinity.item.function.ChromaCarpetRecipe; 14//?} else { 15/*import net.lerariemann.infinity.util.InfinityMethods; 16import net.minecraft.data.recipes.FinishedRecipe; 17import net.lerariemann.infinity.registry.core.ModItemFunctions; 18import com.google.gson.JsonObject; 19import net.minecraft.advancements.CriterionTriggerInstance; 20*///?} 21import net.minecraft.resources.ResourceLocation; 22import net.minecraft.world.item.Item; 23import net.minecraft.world.item.crafting.Recipe; 24import net.minecraft.world.item.crafting.RecipeSerializer; 25import org.jspecify.annotations.Nullable; 26 27import java.util.function.Consumer; 28 29import static net.lerariemann.infinity.registry.core.ModItems.F4; 30 31public class F4RechargingRecipeBuilder implements RecipeBuilder { 32 33 F4RechargingRecipeBuilder() {} 34 35 @Override 36 public RecipeBuilder group(@Nullable String groupName) { 37 return null; 38 } 39 40 @Override 41 public Item getResult() { 42 return F4.get(); 43 } 44 45 //? if >1.21.2 { 46 public void save(RecipeOutput recipeOutput, ResourceKey<Recipe<?>> id) { 47 F4RechargingRecipe recipe = new F4RechargingRecipe(CraftingBookCategory.MISC); 48 recipeOutput.accept(id, recipe, null); 49 } 50 //?} else if >1.21 { 51 /*public void save(RecipeOutput recipeOutput, ResourceLocation id) { 52 F4RechargingRecipe recipe = new F4RechargingRecipe(CraftingBookCategory.MISC); 53 recipeOutput.accept(id, recipe, null); 54 } 55 *///?} 56 57 //? >1.21 { 58 59 @Override 60 public RecipeBuilder unlockedBy(String name, Criterion<?> criterion) { 61 return null; 62 } 63 //?} else { 64 /*@Override 65 public RecipeBuilder unlockedBy(String criterionName, CriterionTriggerInstance criterionTrigger) { 66 return null; 67 } 68 69 @Override 70 public void save(Consumer<FinishedRecipe> finishedRecipeConsumer, ResourceLocation recipeId) { 71 finishedRecipeConsumer.accept(new CombiningRecipeResult()); 72 } 73 74 private static class CombiningRecipeResult implements FinishedRecipe { 75 @Override 76 public void serializeRecipeData(JsonObject json) { 77 json.addProperty("category", "misc"); 78 } 79 80 @Override 81 public ResourceLocation getId() { 82 return InfinityMethods.getId("f4_recharging"); 83 } 84 85 @Override 86 public RecipeSerializer<?> getType() { 87 return ModItemFunctions.F4_RECHARGING.get(); 88 } 89 90 @Override 91 public @Nullable JsonObject serializeAdvancement() { 92 return null; 93 } 94 95 @Override 96 public @Nullable ResourceLocation getAdvancementId() { 97 return null; 98 } 99 } 100 *///?} 101 102}