diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-10-22 22:39:04 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-10-22 22:39:04 +0800 |
| commit | 83b7f0488de9cc91951f4d9b2017f6ca1c0fa17e (patch) | |
| tree | db95f347f2e784c4adf17e7ce0acd9a1fe239f08 /runtime/src/main/java/me/shedaniel/rei/impl | |
| parent | 438d2387f330ffe8b328c4990498efa175b88a68 (diff) | |
| download | RoughlyEnoughItems-83b7f0488de9cc91951f4d9b2017f6ca1c0fa17e.tar.gz RoughlyEnoughItems-83b7f0488de9cc91951f4d9b2017f6ca1c0fa17e.tar.bz2 RoughlyEnoughItems-83b7f0488de9cc91951f4d9b2017f6ca1c0fa17e.zip | |
Support 22w42a
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/impl')
3 files changed, 6 insertions, 45 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java index 8acb6c09e..43204cec1 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java @@ -47,6 +47,7 @@ import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; import me.shedaniel.rei.api.common.util.EntryStacks; import me.shedaniel.rei.api.common.util.FormattingUtils; import me.shedaniel.rei.impl.ClientInternals; +import me.shedaniel.rei.impl.VersionAdapter; import me.shedaniel.rei.impl.client.gui.screen.CompositeDisplayViewingScreen; import me.shedaniel.rei.impl.client.gui.screen.DefaultDisplayViewingScreen; import me.shedaniel.rei.impl.client.view.ViewsImpl; @@ -70,7 +71,6 @@ import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; -import java.lang.reflect.InvocationTargetException; import java.time.LocalDateTime; import java.util.*; import java.util.function.Supplier; @@ -226,13 +226,7 @@ public class ClientHelperImpl implements ClientHelper { madeUpCommand = og.replaceAll("\\{player_name}", Minecraft.getInstance().player.getScoreboardName()).replaceAll("\\{item_name}", identifier.getPath()).replaceAll("\\{item_identifier}", identifier.toString()).replaceAll("\\{nbt}", "").replaceAll("\\{count}", String.valueOf(cheatedStack.getCount())); Minecraft.getInstance().player.displayClientMessage(Component.translatable("text.rei.too_long_nbt"), false); } - try { - Class.forName("me.shedaniel.rei.impl.client.%s.CommandSenderImpl".formatted(Platform.isForge() ? "forge" : "fabric")) - .getDeclaredMethod("sendCommand", String.class) - .invoke(null, StringUtils.removeStart(madeUpCommand, "/")); - } catch (IllegalAccessException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException e) { - throw new RuntimeException(e); - } + VersionAdapter.INSTANCE.sendCommand(StringUtils.removeStart(madeUpCommand, "/")); return true; } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java index a03865208..8272fbfc2 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java @@ -33,15 +33,13 @@ import me.shedaniel.rei.api.client.registry.entry.CollapsibleEntryRegistry; import me.shedaniel.rei.api.client.registry.entry.EntryRegistry; import me.shedaniel.rei.api.client.view.Views; import me.shedaniel.rei.api.common.entry.EntryStack; -import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; import me.shedaniel.rei.api.common.util.EntryStacks; +import me.shedaniel.rei.impl.VersionAdapter; import me.shedaniel.rei.impl.client.search.AsyncSearchManager; import me.shedaniel.rei.impl.common.InternalLogger; import me.shedaniel.rei.impl.common.entry.type.collapsed.CollapsedStack; import me.shedaniel.rei.impl.common.entry.type.collapsed.CollapsibleEntryRegistryImpl; import net.minecraft.client.Minecraft; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.ItemStack; import org.apache.logging.log4j.Level; import org.jetbrains.annotations.Nullable; @@ -50,14 +48,7 @@ import java.util.function.Consumer; public class EntryListSearchManager { private static final Comparator<? super EntryStack<?>> ENTRY_NAME_COMPARER = Comparator.comparing(stack -> stack.asFormatStrippedText().getString()); - private static final Comparator<? super EntryStack<?>> ENTRY_GROUP_COMPARER = Comparator.comparingInt(stack -> { - if (stack.getType() == VanillaEntryTypes.ITEM) { - CreativeModeTab group = ((ItemStack) stack.getValue()).getItem().getItemCategory(); - if (group != null) - return group.getId(); - } - return Integer.MAX_VALUE; - }); + private static final Comparator<? super EntryStack<?>> ENTRY_GROUP_COMPARER = VersionAdapter.INSTANCE.getEntryGroupComparator(); public static final EntryListSearchManager INSTANCE = new EntryListSearchManager(); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java index 293f3bc3e..ab01910f1 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java @@ -33,17 +33,13 @@ import me.shedaniel.rei.api.client.overlay.ScreenOverlay; import me.shedaniel.rei.api.client.plugins.REIClientPlugin; import me.shedaniel.rei.api.client.registry.entry.EntryRegistry; import me.shedaniel.rei.api.common.entry.EntryStack; -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.registry.ReloadStage; import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.api.common.util.EntryStacks; import me.shedaniel.rei.impl.common.InternalLogger; +import me.shedaniel.rei.impl.VersionAdapter; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.core.NonNullList; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.ApiStatus; @@ -135,27 +131,7 @@ public class EntryRegistryImpl implements EntryRegistry { @Override public List<ItemStack> appendStacksForItem(Item item) { - NonNullList<ItemStack> list = NonNullList.create(); - LongSet set = new LongOpenHashSet(); - EntryDefinition<ItemStack> itemDefinition = VanillaEntryTypes.ITEM.getDefinition(); - for (CreativeModeTab tab : CreativeModeTab.TABS) { - if (tab != CreativeModeTab.TAB_HOTBAR && tab != CreativeModeTab.TAB_INVENTORY) { - NonNullList<ItemStack> tabList = NonNullList.create(); - item.fillItemCategory(tab, tabList); - for (ItemStack stack : tabList) { - if (set.add(itemDefinition.hash(null, stack, ComparisonContext.EXACT))) { - list.add(stack); - } - } - } - } - if (list.isEmpty()) { - return Collections.singletonList(item.getDefaultInstance()); - } - if (list.size() > 1) { - list.sort(STACK_COMPARATOR); - } - return list; + return VersionAdapter.INSTANCE.appendStacksForItem(item, STACK_COMPARATOR); } @ApiStatus.Internal |
