Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
at master 50 lines 2.7 kB view raw
1package net.lerariemann.infinity.compat.rrv; 2 3//? if >1.21.7 { 4 5import cc.cassian.rrv.api.ReliableRecipeViewerPlugin; 6import cc.cassian.rrv.api.recipe.ItemView; 7import cc.cassian.rrv.common.builtin.brewing.BrewingServerRecipe; 8import cc.cassian.rrv.common.recipe.ServerRecipeManager; 9import net.lerariemann.infinity.InfinityMod; 10import net.lerariemann.infinity.compat.rrv.iridescence_crafting.IridescenceCraftingServerRecipe; 11import net.lerariemann.infinity.compat.rrv.iridescence_crafting.IridescenceCraftingViewRecipe; 12import net.lerariemann.infinity.compat.rrv.portal_crafting.PortalCraftingServerRecipe; 13import net.lerariemann.infinity.compat.rrv.portal_crafting.PortalCraftingViewRecipe; 14import net.lerariemann.infinity.item.function.CollisionCraftingRecipe; 15import net.lerariemann.infinity.registry.core.ModItems; 16import net.minecraft.world.item.Items; 17import net.minecraft.world.item.alchemy.PotionContents; 18import net.minecraft.world.item.alchemy.Potions; 19import net.minecraft.world.item.crafting.Ingredient; 20 21import java.util.Collections; 22 23public class RrvIntegration implements ReliableRecipeViewerPlugin { 24 boolean initialized = false; 25 @Override 26 public void onIntegrationInitialize() { 27 if (!initialized) 28 initialize(); 29 initialized = true; 30 } 31 32 public static void initialize() { 33 InfinityMod.LOGGER.info("Initializing Infinite Dimensions - RRV integration"); 34 // Serverside recipes 35 ItemView.addServerRecipeProvider(recipeList -> { 36 // Portal Crafting - serverside 37 ServerRecipeManager.INSTANCE.getRecipesForType(CollisionCraftingRecipe.Type.PORTAL).forEach(recipe -> recipeList.add(new PortalCraftingServerRecipe(recipe.getInput(), recipe.getResultItem(), recipe.getLore()))); 38 // Iridescence Crafting - serverside 39 ServerRecipeManager.INSTANCE.getRecipesForType(CollisionCraftingRecipe.Type.IRIDESCENCE).forEach(recipe -> recipeList.add(new IridescenceCraftingServerRecipe(recipe.getInput(), recipe.getResultItem(), recipe.getLore()))); 40 // Chromatic Potions 41 recipeList.add(new BrewingServerRecipe(ModItems.CHROMATIC_POTION.get().getDefaultInstance(), Ingredient.of(ModItems.CHROMATIC_MATTER.get()), PotionContents.createItemStack(Items.POTION, Potions.AWKWARD))); 42 }); 43 // Portal Crafting - Clientside 44 ItemView.addClientRecipeWrapper(PortalCraftingServerRecipe.TYPE, modRecipe -> Collections.singletonList(new PortalCraftingViewRecipe(modRecipe))); 45 // Iridescence Crafting - Clientside 46 ItemView.addClientRecipeWrapper(IridescenceCraftingServerRecipe.TYPE, modRecipe -> Collections.singletonList(new IridescenceCraftingViewRecipe(modRecipe))); 47 48 } 49} 50//?}