diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-04-12 00:36:08 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-04-12 00:36:08 +0800 |
| commit | 513347f841a401391f59b4c9fe3cbcb4f554f86d (patch) | |
| tree | 1348b448e43ad83aae2e2de556d520f3f716af9f /runtime/src/main/java/me/shedaniel/rei/plugin/client | |
| parent | 6d7690b3410e6aa837089987c08598cb9ecbe45a (diff) | |
| download | RoughlyEnoughItems-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.java | 13 | ||||
| -rw-r--r-- | runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java | 13 |
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) { |
