aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/plugin/client
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-04-12 00:36:08 +0800
committershedaniel <daniel@shedaniel.me>2021-04-12 00:36:08 +0800
commit513347f841a401391f59b4c9fe3cbcb4f554f86d (patch)
tree1348b448e43ad83aae2e2de556d520f3f716af9f /runtime/src/main/java/me/shedaniel/rei/plugin/client
parent6d7690b3410e6aa837089987c08598cb9ecbe45a (diff)
downloadRoughlyEnoughItems-513347f841a401391f59b4c9fe3cbcb4f554f86d.tar.gz
RoughlyEnoughItems-513347f841a401391f59b4c9fe3cbcb4f554f86d.tar.bz2
RoughlyEnoughItems-513347f841a401391f59b4c9fe3cbcb4f554f86d.zip
Prepare for true sided REI
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/plugin/client')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java13
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java13
2 files changed, 24 insertions, 2 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java
index d0d162777..eadb3f947 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java
@@ -28,6 +28,8 @@ import com.mojang.blaze3d.vertex.PoseStack;
import me.shedaniel.architectury.fluid.FluidStack;
import me.shedaniel.architectury.hooks.FluidStackHooks;
import me.shedaniel.architectury.platform.Platform;
+import me.shedaniel.architectury.utils.Env;
+import me.shedaniel.architectury.utils.EnvExecutor;
import me.shedaniel.architectury.utils.Fraction;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
@@ -42,6 +44,8 @@ import me.shedaniel.rei.api.common.entry.type.EntryDefinition;
import me.shedaniel.rei.api.common.entry.type.EntryType;
import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
import me.shedaniel.rei.api.common.util.EntryStacks;
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
@@ -58,6 +62,7 @@ import net.minecraft.tags.TagCollection;
import net.minecraft.tags.TagContainer;
import net.minecraft.util.Mth;
import net.minecraft.world.inventory.InventoryMenu;
+import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.material.Fluid;
import org.jetbrains.annotations.Nullable;
@@ -70,7 +75,12 @@ import java.util.stream.Stream;
public class FluidEntryDefinition implements EntryDefinition<FluidStack>, EntrySerializer<FluidStack> {
private static final String FLUID_AMOUNT = Platform.isForge() ? "tooltip.rei.fluid_amount.forge" : "tooltip.rei.fluid_amount";
- private final EntryRenderer<FluidStack> renderer = new FluidEntryRenderer();
+ @Environment(EnvType.CLIENT)
+ private EntryRenderer<FluidStack> renderer;
+
+ public FluidEntryDefinition() {
+ EnvExecutor.runInEnv(Env.CLIENT, () -> () -> renderer = new FluidEntryRenderer());
+ }
@Override
public Class<FluidStack> getValueType() {
@@ -83,6 +93,7 @@ public class FluidEntryDefinition implements EntryDefinition<FluidStack>, EntryS
}
@Override
+ @Environment(EnvType.CLIENT)
public EntryRenderer<FluidStack> getRenderer() {
return renderer;
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java
index a6a102ea8..d3c666b68 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java
@@ -30,6 +30,8 @@ import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet;
import it.unimi.dsi.fastutil.objects.ReferenceSet;
+import me.shedaniel.architectury.utils.Env;
+import me.shedaniel.architectury.utils.EnvExecutor;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.entry.renderer.AbstractEntryRenderer;
@@ -44,6 +46,8 @@ import me.shedaniel.rei.api.common.entry.type.EntryDefinition;
import me.shedaniel.rei.api.common.entry.type.EntryType;
import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
import me.shedaniel.rei.api.common.util.ImmutableTextComponent;
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.block.model.ItemTransforms;
@@ -67,7 +71,12 @@ import java.util.Collections;
import java.util.List;
public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySerializer<ItemStack> {
- private final EntryRenderer<ItemStack> renderer = new ItemEntryRenderer();
+ @Environment(EnvType.CLIENT)
+ private EntryRenderer<ItemStack> renderer;
+
+ public ItemEntryDefinition() {
+ EnvExecutor.runInEnv(Env.CLIENT, () -> () -> renderer = new ItemEntryRenderer());
+ }
@Override
public Class<ItemStack> getValueType() {
@@ -80,6 +89,7 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer
}
@Override
+ @Environment(EnvType.CLIENT)
public EntryRenderer<ItemStack> getRenderer() {
return renderer;
}
@@ -185,6 +195,7 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer
}
@SuppressWarnings("deprecation")
+ @Environment(EnvType.CLIENT)
public class ItemEntryRenderer extends AbstractEntryRenderer<ItemStack> implements BatchedEntryRenderer<ItemStack> {
@Override
public int getBatchIdentifier(EntryStack<ItemStack> entry, Rectangle bounds) {