diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-11-07 20:30:14 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-11-08 00:59:53 +0800 |
| commit | edc592c4df62212221f49ef4e62cfc8239e8ab60 (patch) | |
| tree | 5371ff2eb6a047c04c955620b3a89dd9bba33b9a /default-plugin/src/main/java/me/shedaniel/rei/plugin | |
| parent | bf1b353d94e32227c2928829482da3d03564ffa1 (diff) | |
| download | RoughlyEnoughItems-edc592c4df62212221f49ef4e62cfc8239e8ab60.tar.gz RoughlyEnoughItems-edc592c4df62212221f49ef4e62cfc8239e8ab60.tar.bz2 RoughlyEnoughItems-edc592c4df62212221f49ef4e62cfc8239e8ab60.zip | |
Make tag category hidden if user is on a server without REI, Fix #1121
Diffstat (limited to 'default-plugin/src/main/java/me/shedaniel/rei/plugin')
| -rw-r--r-- | default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java index 733c96f2d..6d9ff18df 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java @@ -26,6 +26,8 @@ package me.shedaniel.rei.plugin.client; import com.google.common.collect.Iterators; import com.google.common.collect.Lists; import com.google.common.collect.Sets; +import dev.architectury.event.EventResult; +import dev.architectury.networking.NetworkManager; import dev.architectury.platform.Platform; import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet; import it.unimi.dsi.fastutil.objects.ReferenceSet; @@ -70,8 +72,10 @@ import me.shedaniel.rei.plugin.common.displays.cooking.DefaultSmokingDisplay; import me.shedaniel.rei.plugin.common.displays.crafting.DefaultCraftingDisplay; import me.shedaniel.rei.plugin.common.displays.crafting.DefaultCustomDisplay; import me.shedaniel.rei.plugin.common.displays.tag.DefaultTagDisplay; +import me.shedaniel.rei.plugin.common.displays.tag.TagNodes; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.inventory.*; import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; import net.minecraft.core.Registry; @@ -177,6 +181,14 @@ public class DefaultClientPlugin implements REIClientPlugin, BuiltinClientPlugin registry.configure(INFO, config -> config.setQuickCraftingEnabledByDefault(false)); registry.configure(TAG, config -> config.setQuickCraftingEnabledByDefault(false)); + registry.registerVisibilityPredicate(category -> { + if (category instanceof DefaultTagCategory && Minecraft.getInstance().getSingleplayerServer() == null && !NetworkManager.canServerReceive(TagNodes.REQUEST_TAGS_PACKET_C2S)) { + return EventResult.interruptFalse(); + } + + return EventResult.pass(); + }); + Set<Item> axes = Sets.newHashSet(), hoes = Sets.newHashSet(), shovels = Sets.newHashSet(); EntryRegistry.getInstance().getEntryStacks().filter(stack -> stack.getValueType() == ItemStack.class).map(stack -> ((ItemStack) stack.getValue()).getItem()).forEach(item -> { if (item instanceof AxeItem && axes.add(item)) { |
