diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-08-26 16:48:42 +0900 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-08-26 21:17:48 +0900 |
| commit | a6900532610247cae49f1c782442d07d8f7b1d2d (patch) | |
| tree | 5b01e2e8a84f5fc5254b9613b15ec1ef84961133 /runtime-engine/views/src/main/java | |
| parent | d3bfd79800aacfde6617d5430ead5fdda0a506fe (diff) | |
| download | RoughlyEnoughItems-a6900532610247cae49f1c782442d07d8f7b1d2d.tar.gz RoughlyEnoughItems-a6900532610247cae49f1c782442d07d8f7b1d2d.tar.bz2 RoughlyEnoughItems-a6900532610247cae49f1c782442d07d8f7b1d2d.zip | |
It compiles now
Diffstat (limited to 'runtime-engine/views/src/main/java')
2 files changed, 21 insertions, 14 deletions
diff --git a/runtime-engine/views/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java b/runtime-engine/views/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java index 1ba0b9e4f..3483b1ee3 100644 --- a/runtime-engine/views/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java +++ b/runtime-engine/views/src/main/java/me/shedaniel/rei/impl/client/view/ViewsImpl.java @@ -53,7 +53,8 @@ import me.shedaniel.rei.api.common.transfer.info.stack.SlotAccessor; import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.api.common.util.EntryIngredients; import me.shedaniel.rei.api.common.util.EntryStacks; -import me.shedaniel.rei.impl.client.gui.widget.AutoCraftingEvaluator; +import me.shedaniel.rei.impl.client.ClientInternals; +import me.shedaniel.rei.impl.client.provider.AutoCraftingEvaluator; import me.shedaniel.rei.impl.client.util.CrashReportUtils; import me.shedaniel.rei.impl.client.view.craftable.CraftableFilter; import me.shedaniel.rei.impl.common.InternalLogger; @@ -319,11 +320,11 @@ public class ViewsImpl implements Views { Set<Display> applicableDisplays = new LinkedHashSet<>(); for (Display display : displays) { - AutoCraftingEvaluator.AutoCraftingResult result = AutoCraftingEvaluator.evaluateAutoCrafting(false, false, display, null); + AutoCraftingEvaluator.Result result = ClientInternals.getAutoCraftingEvaluator(display).get(); - if (result.successful) { + if (result.isSuccessful()) { successfulDisplays.add(display); - } else if (result.hasApplicable) { + } else if (result.isApplicable()) { applicableDisplays.add(display); } } @@ -451,7 +452,7 @@ public class ViewsImpl implements Views { int slotsCraftable = 0; boolean containsNonEmpty = false; List<EntryIngredient> requiredInput = display.getRequiredEntries(); - Long2LongMap invCount = new Long2LongOpenHashMap(info == null ? CraftableFilter.INSTANCE.getInvStacks() : Long2LongMaps.EMPTY_MAP); + Long2LongMap invCount = new Long2LongOpenHashMap(info == null ? CraftableFilter.getInvStacks() : Long2LongMaps.EMPTY_MAP); for (SlotAccessor inputSlot : inputSlots) { ItemStack stack = inputSlot.getItemStack(); diff --git a/runtime-engine/views/src/main/java/me/shedaniel/rei/impl/client/view/craftable/CraftableFilter.java b/runtime-engine/views/src/main/java/me/shedaniel/rei/impl/client/view/craftable/CraftableFilter.java index f004bd0ed..56be8000c 100644 --- a/runtime-engine/views/src/main/java/me/shedaniel/rei/impl/client/view/craftable/CraftableFilter.java +++ b/runtime-engine/views/src/main/java/me/shedaniel/rei/impl/client/view/craftable/CraftableFilter.java @@ -32,6 +32,8 @@ import me.shedaniel.rei.api.client.overlay.ScreenOverlay; import me.shedaniel.rei.api.common.entry.comparison.ComparisonContext; import me.shedaniel.rei.api.common.entry.type.EntryDefinition; import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; +import me.shedaniel.rei.api.common.plugins.PluginManager; +import me.shedaniel.rei.impl.client.provider.OverlayTicker; import net.minecraft.client.Minecraft; import net.minecraft.core.NonNullList; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -41,12 +43,16 @@ import org.jetbrains.annotations.ApiStatus; import java.util.Optional; -public class CraftableFilter { - public static final CraftableFilter INSTANCE = new CraftableFilter(); - private Long2LongMap invStacks = new Long2LongOpenHashMap(); - private Long2LongMap containerStacks = new Long2LongOpenHashMap(); +public class CraftableFilter implements OverlayTicker { + private static Long2LongMap invStacks = new Long2LongOpenHashMap(); + private static Long2LongMap containerStacks = new Long2LongOpenHashMap(); + @Override public void tick() { + if (Minecraft.getInstance().player == null || PluginManager.areAnyReloading() || Minecraft.getInstance().player.tickCount % 5 != 0) { + return; + } + Optional<ScreenOverlay> overlay = REIRuntime.getInstance().getOverlay(); if (overlay.isEmpty() || overlay.get().isSearchReloadQueued()) return; if (!ConfigManager.getInstance().isCraftableOnlyEnabled()) return; @@ -57,7 +63,7 @@ public class CraftableFilter { throwable.printStackTrace(); currentStacks = Long2LongMaps.EMPTY_MAP; } - if (!currentStacks.equals(this.invStacks)) { + if (!currentStacks.equals(CraftableFilter.invStacks)) { invStacks = currentStacks; overlay.ifPresent(ScreenOverlay::queueReloadSearch); return; @@ -69,18 +75,18 @@ public class CraftableFilter { throwable.printStackTrace(); currentStacks = Long2LongMaps.EMPTY_MAP; } - if (!currentStacks.equals(this.containerStacks)) { + if (!currentStacks.equals(CraftableFilter.containerStacks)) { containerStacks = currentStacks; overlay.ifPresent(ScreenOverlay::queueReloadSearch); } } - public Long2LongMap getInvStacks() { + public static Long2LongMap getInvStacks() { return invStacks; } @ApiStatus.Internal - public Long2LongMap getInventoryItemsTypes() { + public static Long2LongMap getInventoryItemsTypes() { EntryDefinition<ItemStack> definition; try { definition = VanillaEntryTypes.ITEM.getDefinition(); @@ -99,7 +105,7 @@ public class CraftableFilter { } @ApiStatus.Internal - public Long2LongMap getContainerItemsTypes() { + public static Long2LongMap getContainerItemsTypes() { EntryDefinition<ItemStack> definition; try { definition = VanillaEntryTypes.ITEM.getDefinition(); |
