aboutsummaryrefslogtreecommitdiff
path: root/default-plugin/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-11-07 20:30:14 +0800
committershedaniel <daniel@shedaniel.me>2022-11-07 20:30:14 +0800
commit5c4fbae224c1a455d7c0b7da7552ce4e92670525 (patch)
treeffae8924247e22b0e34e1f776aed0dcd9fa4a3ae /default-plugin/src/main/java
parent0db6a864e3d3af86e4f80a0d34067335e2138a70 (diff)
downloadRoughlyEnoughItems-5c4fbae224c1a455d7c0b7da7552ce4e92670525.tar.gz
RoughlyEnoughItems-5c4fbae224c1a455d7c0b7da7552ce4e92670525.tar.bz2
RoughlyEnoughItems-5c4fbae224c1a455d7c0b7da7552ce4e92670525.zip
Make tag category hidden if user is on a server without REI, Fix #1121
Diffstat (limited to 'default-plugin/src/main/java')
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java12
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 179d9937a..2c910ed67 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.Object2FloatMap;
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet;
@@ -71,8 +73,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;
@@ -180,6 +184,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)) {