aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-04-14 19:32:28 +0800
committershedaniel <daniel@shedaniel.me>2021-04-14 19:32:28 +0800
commita92c5492155f1bd12853acea98a235d3bb78839e (patch)
treea8cb71de497f732265b7c1567f8e9393bb92eb87 /runtime/src/main/java/me/shedaniel/rei/plugin
parent76b81a28284a8bcfb073b4386d823a73d605b971 (diff)
parentd892547a9b8a8ae85655900c08b6cc97c6aa2050 (diff)
downloadRoughlyEnoughItems-a92c5492155f1bd12853acea98a235d3bb78839e.tar.gz
RoughlyEnoughItems-a92c5492155f1bd12853acea98a235d3bb78839e.tar.bz2
RoughlyEnoughItems-a92c5492155f1bd12853acea98a235d3bb78839e.zip
Merge remote-tracking branch 'origin/6.x' into 6.x-1.17
# Conflicts: # api/src/main/java/me/shedaniel/rei/api/common/util/EntryStacks.java # runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java # runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java23
2 files changed, 28 insertions, 7 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 964567c42..9356c3bc5 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
@@ -29,6 +29,8 @@ import me.shedaniel.architectury.fluid.FluidStack;
import me.shedaniel.architectury.hooks.FluidStackHooks;
import me.shedaniel.architectury.platform.Platform;
import me.shedaniel.math.Point;
+import me.shedaniel.architectury.utils.Env;
+import me.shedaniel.architectury.utils.EnvExecutor;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.entry.renderer.AbstractEntryRenderer;
import me.shedaniel.rei.api.client.entry.renderer.EntryRenderer;
@@ -40,6 +42,8 @@ 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.EntryType;
import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
+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;
@@ -68,7 +72,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() {
@@ -81,6 +90,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 dcbb7e030..fd1fec222 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;
}
@@ -184,6 +194,7 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer
return Lists.newArrayList(asFormattedText(entry, value));
}
+ @Environment(EnvType.CLIENT)
public class ItemEntryRenderer extends AbstractEntryRenderer<ItemStack> implements BatchedEntryRenderer<ItemStack, BakedModel> {
private static final float SCALE = 20.0F;
public static final int ITEM_LIGHT = 0xf000f0;
@@ -194,11 +205,6 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer
}
@Override
- public int getBatchIdentifier(EntryStack<ItemStack> entry, Rectangle bounds, BakedModel model) {
- return 1738923 + (model.usesBlockLight() ? 1 : 0);
- }
-
- @Override
public void render(EntryStack<ItemStack> entry, PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) {
BakedModel model = getExtraData(entry);
setupGL(entry, model);
@@ -226,6 +232,11 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer
}
@Override
+ public int getBatchIdentifier(EntryStack<ItemStack> entry, Rectangle bounds, BakedModel model) {
+ return 1738923 + (model.usesBlockLight() ? 1 : 0);
+ }
+
+ @Override
public void startBatch(EntryStack<ItemStack> entry, BakedModel model, PoseStack matrices, float delta) {
setupGL(entry, model);
PoseStack modelViewStack = RenderSystem.getModelViewStack();