diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-07-14 11:19:19 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-07-14 11:19:29 +0800 |
| commit | e2c264a82dc10b8e29b08225cd5bc24e689fa332 (patch) | |
| tree | 4adf065ef2183d7cb22b684806543121f9fb4359 /src/main/java/me/shedaniel/rei/plugin | |
| parent | 1a6a10596fd0d9cc7e35419ced6fe056d93d7604 (diff) | |
| download | RoughlyEnoughItems-e2c264a82dc10b8e29b08225cd5bc24e689fa332.tar.gz RoughlyEnoughItems-e2c264a82dc10b8e29b08225cd5bc24e689fa332.tar.bz2 RoughlyEnoughItems-e2c264a82dc10b8e29b08225cd5bc24e689fa332.zip | |
Optimised craftable filter and changed some api
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
22 files changed, 97 insertions, 40 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultAutoCraftingPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultAutoCraftingPlugin.java index 6c33d3559..d7cc11ddf 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultAutoCraftingPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultAutoCraftingPlugin.java @@ -28,8 +28,11 @@ import me.shedaniel.rei.api.RecipeHelper; import me.shedaniel.rei.api.plugins.REIPluginV0; import me.shedaniel.rei.plugin.autocrafting.DefaultCategoryHandler; import me.shedaniel.rei.plugin.autocrafting.DefaultRecipeBookHandler; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.util.Identifier; +@Environment(EnvType.CLIENT) public class DefaultAutoCraftingPlugin implements REIPluginV0 { public static final Identifier PLUGIN = new Identifier("roughlyenoughitems", "default_auto_crafting_plugin"); diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java index d852de324..f54bf8ba9 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java @@ -230,21 +230,19 @@ public class DefaultPlugin implements REIPluginV0 { recipeHelper.registerDisplay(new DefaultFuelDisplay(EntryStack.create(entry.getKey()), entry.getValue())); } List<EntryStack> arrowStack = Collections.singletonList(EntryStack.create(Items.ARROW)); - for (EntryStack entry : EntryRegistry.getInstance().getStacksList()) { - if (entry.getItem() == Items.LINGERING_POTION) { - List<List<EntryStack>> input = new ArrayList<>(); - for (int i = 0; i < 4; i++) - input.add(arrowStack); - input.add(Collections.singletonList(EntryStack.create(entry.getItemStack()))); - for (int i = 0; i < 4; i++) - input.add(arrowStack); - ItemStack outputStack = new ItemStack(Items.TIPPED_ARROW, 8); - PotionUtil.setPotion(outputStack, PotionUtil.getPotion(entry.getItemStack())); - PotionUtil.setCustomPotionEffects(outputStack, PotionUtil.getCustomPotionEffects(entry.getItemStack())); - List<EntryStack> output = Collections.singletonList(EntryStack.create(outputStack).addSetting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE)); - recipeHelper.registerDisplay(new DefaultCustomDisplay(null, input, output)); - } - } + EntryRegistry.getInstance().getEntryStacks().filter(entry -> entry.getItem() == Items.LINGERING_POTION).forEach(entry -> { + List<List<EntryStack>> input = new ArrayList<>(); + for (int i = 0; i < 4; i++) + input.add(arrowStack); + input.add(Collections.singletonList(EntryStack.create(entry.getItemStack()))); + for (int i = 0; i < 4; i++) + input.add(arrowStack); + ItemStack outputStack = new ItemStack(Items.TIPPED_ARROW, 8); + PotionUtil.setPotion(outputStack, PotionUtil.getPotion(entry.getItemStack())); + PotionUtil.setCustomPotionEffects(outputStack, PotionUtil.getCustomPotionEffects(entry.getItemStack())); + List<EntryStack> output = Collections.singletonList(EntryStack.create(outputStack).addSetting(EntryStack.Settings.CHECK_TAGS, EntryStack.Settings.TRUE)); + recipeHelper.registerDisplay(new DefaultCustomDisplay(null, input, output)); + }); Map<ItemConvertible, Float> map = Maps.newLinkedHashMap(); if (ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.isEmpty()) ComposterBlock.registerDefaultCompostableItems(); @@ -274,8 +272,7 @@ public class DefaultPlugin implements REIPluginV0 { // TODO Turn this into an API // Sit tight! This will be a fast journey! long time = System.currentTimeMillis(); - for (EntryStack stack : EntryRegistry.getInstance().getStacksList()) - applyPotionTransformer(stack); + EntryRegistry.getInstance().getEntryStacks().forEach(this::applyPotionTransformer); for (List<RecipeDisplay> displays : RecipeHelper.getInstance().getAllRecipesNoHandlers().values()) { for (RecipeDisplay display : displays) { for (List<EntryStack> entries : display.getInputEntries()) diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java index 0dbd2df61..79116da14 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java @@ -26,6 +26,8 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Ordering; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.REIHelper; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen; import net.minecraft.client.gui.screen.ingame.ContainerScreen; @@ -37,6 +39,7 @@ import java.util.Collections; import java.util.List; import java.util.function.Supplier; +@Environment(EnvType.CLIENT) public class DefaultPotionEffectExclusionZones implements Supplier<List<Rectangle>> { @Override public List<Rectangle> get() { diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java index ff5a14025..87602364f 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java @@ -26,6 +26,8 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Lists; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.REIHelper; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.ingame.ContainerScreen; import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; @@ -36,6 +38,7 @@ import java.util.Collections; import java.util.List; import java.util.function.Supplier; +@Environment(EnvType.CLIENT) public class DefaultRecipeBookExclusionZones implements Supplier<List<Rectangle>> { @Override diff --git a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java index 2dc9a4a32..a4b2f297d 100644 --- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java +++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java @@ -32,6 +32,8 @@ import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.TransferRecipeDisplay; import me.shedaniel.rei.server.ContainerInfo; import me.shedaniel.rei.server.ContainerInfoHandler; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.network.ClientSidePacketRegistry; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; @@ -45,6 +47,7 @@ import net.minecraft.util.collection.DefaultedList; import java.util.List; +@Environment(EnvType.CLIENT) public class DefaultCategoryHandler implements AutoTransferHandler { public static boolean canUseMovePackets() { diff --git a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java index b9f96a27d..5f300e731 100644 --- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java +++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java @@ -29,6 +29,8 @@ import me.shedaniel.rei.api.TransferRecipeDisplay; import me.shedaniel.rei.impl.ScreenHelper; import me.shedaniel.rei.plugin.cooking.DefaultCookingDisplay; import me.shedaniel.rei.plugin.crafting.DefaultCraftingDisplay; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; import net.minecraft.client.resource.language.I18n; @@ -37,6 +39,7 @@ import net.minecraft.container.CraftingTableContainer; import net.minecraft.container.PlayerContainer; import net.minecraft.recipe.Recipe; +@Environment(EnvType.CLIENT) public class DefaultRecipeBookHandler implements AutoTransferHandler { @Override public Result handle(Context context) { diff --git a/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseDisplay.java b/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseDisplay.java index 46941d320..6749a9f4a 100644 --- a/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseDisplay.java @@ -26,19 +26,21 @@ package me.shedaniel.rei.plugin.beacon; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; -import me.shedaniel.rei.utils.CollectionUtils; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; import java.util.Collections; import java.util.List; +@Environment(EnvType.CLIENT) public class DefaultBeaconBaseDisplay implements RecipeDisplay { private List<EntryStack> entries; public DefaultBeaconBaseDisplay(List<ItemStack> entries) { - this.entries = CollectionUtils.map(entries, EntryStack::create); + this.entries = EntryStack.ofItemStacks(entries); } @Override diff --git a/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java index 6286697f1..e34d580a7 100644 --- a/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java @@ -25,9 +25,12 @@ package me.shedaniel.rei.plugin.blasting; import me.shedaniel.rei.plugin.DefaultPlugin; import me.shedaniel.rei.plugin.cooking.DefaultCookingDisplay; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.recipe.BlastingRecipe; import net.minecraft.util.Identifier; +@Environment(EnvType.CLIENT) public class DefaultBlastingDisplay extends DefaultCookingDisplay { public DefaultBlastingDisplay(BlastingRecipe recipe) { diff --git a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java index 5ab1f94cb..2c81519e1 100644 --- a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java @@ -27,6 +27,8 @@ import com.google.common.collect.Lists; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.item.ItemStack; import net.minecraft.recipe.Ingredient; import net.minecraft.text.TranslatableText; @@ -37,6 +39,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +@Environment(EnvType.CLIENT) public class DefaultBrewingDisplay implements RecipeDisplay { private EntryStack input, output; @@ -44,8 +47,9 @@ public class DefaultBrewingDisplay implements RecipeDisplay { public DefaultBrewingDisplay(ItemStack input, Ingredient reactant, ItemStack output) { this.input = EntryStack.create(input).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableText("category.rei.brewing.input").formatted(Formatting.YELLOW))); - this.reactant = new ArrayList<>(); - for (ItemStack stack : reactant.getMatchingStacksClient()) { + ItemStack[] reactantStacks = reactant.getMatchingStacksClient(); + this.reactant = new ArrayList<>(reactantStacks.length); + for (ItemStack stack : reactantStacks) { EntryStack entryStack = EntryStack.create(stack); entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(new TranslatableText("category.rei.brewing.reactant").formatted(Formatting.YELLOW))); this.reactant.add(entryStack); diff --git a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java index 9ae044f21..706a9d22b 100644 --- a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java @@ -26,6 +26,8 @@ package me.shedaniel.rei.plugin.campfire; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.item.ItemStack; import net.minecraft.recipe.AbstractCookingRecipe; import net.minecraft.recipe.CampfireCookingRecipe; @@ -39,6 +41,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; +@Environment(EnvType.CLIENT) public class DefaultCampfireDisplay implements RecipeDisplay { private List<List<EntryStack>> inputs; @@ -52,7 +55,7 @@ public class DefaultCampfireDisplay implements RecipeDisplay { } public DefaultCampfireDisplay(DefaultedList<Ingredient> ingredients, ItemStack output, int cookTime) { - this.inputs = EntryStack.create(ingredients); + this.inputs = EntryStack.ofIngredients(ingredients); this.output = Collections.singletonList(EntryStack.create(output)); this.cookTime = cookTime; } diff --git a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingDisplay.java index a3e9a98f8..c2bc3b22a 100644 --- a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingDisplay.java @@ -26,13 +26,15 @@ package me.shedaniel.rei.plugin.composting; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.item.ItemConvertible; import net.minecraft.item.ItemStack; import net.minecraft.util.Identifier; import java.util.*; -import java.util.stream.Collectors; +@Environment(EnvType.CLIENT) public class DefaultCompostingDisplay implements RecipeDisplay { private List<EntryStack> order, allItems; @@ -42,10 +44,10 @@ public class DefaultCompostingDisplay implements RecipeDisplay { public DefaultCompostingDisplay(int page, List<ItemConvertible> order, Map<ItemConvertible, Float> inputMap, List<ItemConvertible> allItems, ItemStack[] output) { this.page = page; - this.order = order.stream().map(EntryStack::create).collect(Collectors.toList()); + this.order = EntryStack.ofItems(order); this.inputMap = inputMap; - this.output = Arrays.stream(output).map(EntryStack::create).collect(Collectors.toList()); - this.allItems = allItems.stream().map(EntryStack::create).collect(Collectors.toList()); + this.output = EntryStack.ofItemStacks(Arrays.asList(output)); + this.allItems = EntryStack.ofItems(allItems); } public int getPage() { diff --git a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java index 5a501d9c9..b0bbeb783 100644 --- a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java @@ -26,7 +26,8 @@ package me.shedaniel.rei.plugin.cooking; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.TransferRecipeDisplay; import me.shedaniel.rei.server.ContainerInfo; -import me.shedaniel.rei.utils.CollectionUtils; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.block.entity.FurnaceBlockEntity; import net.minecraft.container.Container; import net.minecraft.item.Item; @@ -41,6 +42,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; +@Environment(EnvType.CLIENT) public abstract class DefaultCookingDisplay implements TransferRecipeDisplay { private static List<EntryStack> fuel; @@ -56,7 +58,7 @@ public abstract class DefaultCookingDisplay implements TransferRecipeDisplay { public DefaultCookingDisplay(AbstractCookingRecipe recipe) { this.recipe = recipe; - this.input = EntryStack.create(recipe.getPreviewInputs()); + this.input = EntryStack.ofIngredients(recipe.getPreviewInputs()); this.output = Collections.singletonList(EntryStack.create(recipe.getOutput())); this.xp = recipe.getExperience(); this.cookTime = recipe.getCookTime(); diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java index 44654b894..8bea073fa 100644 --- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingDisplay.java @@ -28,6 +28,8 @@ import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.TransferRecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; import me.shedaniel.rei.server.ContainerInfo; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.container.Container; import net.minecraft.recipe.Recipe; import net.minecraft.util.Identifier; @@ -36,6 +38,7 @@ import java.util.Collections; import java.util.List; import java.util.Optional; +@Environment(EnvType.CLIENT) public interface DefaultCraftingDisplay extends TransferRecipeDisplay { @Override diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCustomDisplay.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCustomDisplay.java index 5c3b93e0a..e9ede3e99 100644 --- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCustomDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCustomDisplay.java @@ -26,6 +26,8 @@ package me.shedaniel.rei.plugin.crafting; import com.google.common.collect.Lists; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.utils.CollectionUtils; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.item.ItemStack; import net.minecraft.recipe.Recipe; import net.minecraft.util.Identifier; @@ -33,6 +35,7 @@ import net.minecraft.util.Identifier; import java.util.List; import java.util.Optional; +@Environment(EnvType.CLIENT) public class DefaultCustomDisplay implements DefaultCraftingDisplay { private List<List<EntryStack>> input; @@ -41,7 +44,7 @@ public class DefaultCustomDisplay implements DefaultCraftingDisplay { private int width, height; public DefaultCustomDisplay(List<List<ItemStack>> input, List<ItemStack> output, Recipe<?> possibleRecipe) { - this(possibleRecipe, CollectionUtils.map(input, i -> CollectionUtils.map(i, EntryStack::create)), CollectionUtils.map(output, EntryStack::create)); + this(possibleRecipe, CollectionUtils.map(input, EntryStack::ofItemStacks), EntryStack.ofItemStacks(output)); } public DefaultCustomDisplay(Recipe<?> possibleRecipe, List<List<EntryStack>> input, List<EntryStack> output) { diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java index 2510336ba..c00aa90c9 100644 --- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java @@ -24,6 +24,8 @@ package me.shedaniel.rei.plugin.crafting; import me.shedaniel.rei.api.EntryStack; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.item.ItemStack; import net.minecraft.recipe.Recipe; import net.minecraft.recipe.ShapedRecipe; @@ -35,6 +37,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; +@Environment(EnvType.CLIENT) public class DefaultShapedDisplay implements DefaultCraftingDisplay { private ShapedRecipe display; @@ -43,7 +46,7 @@ public class DefaultShapedDisplay implements DefaultCraftingDisplay { public DefaultShapedDisplay(ShapedRecipe recipe) { this.display = recipe; - this.input = EntryStack.create(recipe.getPreviewInputs()); + this.input = EntryStack.ofIngredients(recipe.getPreviewInputs()); this.output = Collections.singletonList(EntryStack.create(recipe.getOutput())); } diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java index eb3c99d85..2277269b3 100644 --- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java @@ -24,17 +24,17 @@ package me.shedaniel.rei.plugin.crafting; import me.shedaniel.rei.api.EntryStack; -import net.minecraft.item.ItemStack; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.recipe.Recipe; import net.minecraft.recipe.ShapelessRecipe; import net.minecraft.util.Identifier; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; +@Environment(EnvType.CLIENT) public class DefaultShapelessDisplay implements DefaultCraftingDisplay { private ShapelessRecipe display; @@ -43,7 +43,7 @@ public class DefaultShapelessDisplay implements DefaultCraftingDisplay { public DefaultShapelessDisplay(ShapelessRecipe recipe) { this.display = recipe; - this.input = EntryStack.create(recipe.getPreviewInputs()); + this.input = EntryStack.ofIngredients(recipe.getPreviewInputs()); this.output = Collections.singletonList(EntryStack.create(recipe.getOutput())); } diff --git a/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelDisplay.java b/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelDisplay.java index 9c78462d2..a5173913d 100644 --- a/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelDisplay.java @@ -26,11 +26,14 @@ package me.shedaniel.rei.plugin.fuel; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.util.Identifier; import java.util.Collections; import java.util.List; +@Environment(EnvType.CLIENT) public class DefaultFuelDisplay implements RecipeDisplay { private EntryStack fuel; private int fuelTime; diff --git a/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationDisplay.java b/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationDisplay.java index 580af3eff..f7acd2718 100644 --- a/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationDisplay.java @@ -27,6 +27,8 @@ import com.google.common.collect.Lists; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.text.Text; import net.minecraft.util.Identifier; @@ -35,6 +37,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; +@Environment(EnvType.CLIENT) public class DefaultInformationDisplay implements RecipeDisplay { private List<EntryStack> entryStacks; private List<Text> texts; diff --git a/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingDisplay.java index ae177d2c5..e742430d6 100644 --- a/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/smelting/DefaultSmeltingDisplay.java @@ -25,9 +25,12 @@ package me.shedaniel.rei.plugin.smelting; import me.shedaniel.rei.plugin.DefaultPlugin; import me.shedaniel.rei.plugin.cooking.DefaultCookingDisplay; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.recipe.SmeltingRecipe; import net.minecraft.util.Identifier; +@Environment(EnvType.CLIENT) public class DefaultSmeltingDisplay extends DefaultCookingDisplay { public DefaultSmeltingDisplay(SmeltingRecipe recipe) { diff --git a/src/main/java/me/shedaniel/rei/plugin/smithing/DefaultSmithingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/smithing/DefaultSmithingDisplay.java index 05b5bbc87..97ea39ed7 100644 --- a/src/main/java/me/shedaniel/rei/plugin/smithing/DefaultSmithingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/smithing/DefaultSmithingDisplay.java @@ -27,7 +27,8 @@ import com.google.common.collect.Lists; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; -import me.shedaniel.rei.utils.CollectionUtils; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.recipe.SmithingRecipe; import net.minecraft.util.Identifier; import org.jetbrains.annotations.NotNull; @@ -37,6 +38,7 @@ import java.util.Collections; import java.util.List; import java.util.Optional; +@Environment(EnvType.CLIENT) public class DefaultSmithingDisplay implements RecipeDisplay { @NotNull private List<List<EntryStack>> input; @@ -48,8 +50,8 @@ public class DefaultSmithingDisplay implements RecipeDisplay { public DefaultSmithingDisplay(@NotNull SmithingRecipe r |
