diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-08-30 21:29:58 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-08-30 21:29:58 +0800 |
| commit | 8d77ad86b203de62aa08a5ee62f91e27fd0fbd00 (patch) | |
| tree | 72c8f0a412591fce05ba85a9a075592a0c9d4ea2 /RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java | |
| parent | 2f0e6aa2024fae2d210ed40a56435d86510ce66a (diff) | |
| download | RoughlyEnoughItems-8d77ad86b203de62aa08a5ee62f91e27fd0fbd00.tar.gz RoughlyEnoughItems-8d77ad86b203de62aa08a5ee62f91e27fd0fbd00.tar.bz2 RoughlyEnoughItems-8d77ad86b203de62aa08a5ee62f91e27fd0fbd00.zip | |
Fix brewing potions not appearing and allow scrolling in the tabs for villager like recipe viewing screen
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java')
| -rw-r--r-- | RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java index 34735d0c2..b07898abe 100644 --- a/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java +++ b/RoughlyEnoughItems-runtime/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java @@ -65,6 +65,8 @@ import org.jetbrains.annotations.Nullable; import java.time.LocalDateTime; import java.util.*; import java.util.function.Supplier; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static me.shedaniel.rei.impl.Internals.attachInstance; @@ -206,10 +208,15 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer { @Override public List<ItemStack> getInventoryItemsTypes() { - List<ItemStack> inventoryStacks = new ArrayList<>(Minecraft.getInstance().player.inventory.items); - inventoryStacks.addAll(Minecraft.getInstance().player.inventory.armor); - inventoryStacks.addAll(Minecraft.getInstance().player.inventory.offhand); - return inventoryStacks; + return Minecraft.getInstance().player.inventory.compartments.stream().flatMap(Collection::stream).collect(Collectors.toList()); + } + + @ApiStatus.Internal + public Set<EntryStack> _getInventoryItemsTypes() { + return Minecraft.getInstance().player.inventory.compartments.stream() + .flatMap(Collection::stream) + .map(EntryStack::create) + .collect(Collectors.toSet()); } @ApiStatus.ScheduledForRemoval @@ -269,7 +276,20 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer { modNameCache.put("global", "Global"); } - public static final class ViewSearchBuilder implements ClientHelper.ViewSearchBuilder { + private static abstract class AbstractViewSearchBuilder implements ClientHelper.ViewSearchBuilder { + @Override + public ClientHelper.ViewSearchBuilder fillPreferredOpenedCategory() { + if (getPreferredOpenedCategory() == null) { + Screen currentScreen = Minecraft.getInstance().screen; + if (currentScreen instanceof RecipeScreen) { + setPreferredOpenedCategory(((RecipeScreen) currentScreen).getCurrentCategory()); + } + } + return this; + } + } + + public static final class ViewSearchBuilder extends AbstractViewSearchBuilder { @NotNull private final Set<ResourceLocation> categories = new HashSet<>(); @NotNull private final List<EntryStack> recipesFor = new ArrayList<>(); @NotNull private final List<EntryStack> usagesFor = new ArrayList<>(); @@ -333,17 +353,6 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer { } @Override - public ClientHelper.ViewSearchBuilder fillPreferredOpenedCategory() { - if (getPreferredOpenedCategory() == null) { - Screen currentScreen = Minecraft.getInstance().screen; - if (currentScreen instanceof RecipeScreen) { - setPreferredOpenedCategory(((RecipeScreen) currentScreen).getCurrentCategory()); - } - } - return this; - } - - @Override public ClientHelper.ViewSearchBuilder setInputNotice(@Nullable EntryStack stack) { this.inputNotice = stack; return this; @@ -374,7 +383,7 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer { } } - public static final class LegacyWrapperViewSearchBuilder implements ClientHelper.ViewSearchBuilder { + public static final class LegacyWrapperViewSearchBuilder extends AbstractViewSearchBuilder { @NotNull private final Map<RecipeCategory<?>, List<RecipeDisplay>> map; @Nullable private ResourceLocation preferredOpenedCategory = null; @Nullable private EntryStack inputNotice; @@ -432,17 +441,6 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer { } @Override - public ClientHelper.ViewSearchBuilder fillPreferredOpenedCategory() { - if (getPreferredOpenedCategory() == null) { - Screen currentScreen = Minecraft.getInstance().screen; - if (currentScreen instanceof RecipeScreen) { - setPreferredOpenedCategory(((RecipeScreen) currentScreen).getCurrentCategory()); - } - } - return this; - } - - @Override public ClientHelper.ViewSearchBuilder setInputNotice(@Nullable EntryStack stack) { this.inputNotice = stack; return this; |
