aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/shedaniel/rei/api/ItemRendererHooks.java18
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java56
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinItemRenderer.java26
3 files changed, 22 insertions, 78 deletions
diff --git a/src/main/java/me/shedaniel/rei/api/ItemRendererHooks.java b/src/main/java/me/shedaniel/rei/api/ItemRendererHooks.java
deleted file mode 100644
index d9318ea15..000000000
--- a/src/main/java/me/shedaniel/rei/api/ItemRendererHooks.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Roughly Enough Items by Danielshe.
- * Licensed under the MIT License.
- */
-
-package me.shedaniel.rei.api;
-
-import me.shedaniel.rei.api.annotations.Internal;
-import net.minecraft.client.render.VertexConsumer;
-import net.minecraft.client.render.model.BakedModel;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.item.ItemStack;
-
-@Internal
-@Deprecated
-public interface ItemRendererHooks {
- void rei_renderBakedItemModel(BakedModel model, ItemStack stack, int light, int overlay, MatrixStack matrices, VertexConsumer vertices);
-}
diff --git a/src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java b/src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java
index 21c44fdfa..e48b7074a 100644
--- a/src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java
+++ b/src/main/java/me/shedaniel/rei/impl/ItemEntryStack.java
@@ -8,10 +8,7 @@ package me.shedaniel.rei.impl;
import com.google.common.collect.Lists;
import com.mojang.blaze3d.platform.GlStateManager;
import me.shedaniel.math.api.Rectangle;
-import me.shedaniel.rei.api.ClientHelper;
-import me.shedaniel.rei.api.ConfigObject;
-import me.shedaniel.rei.api.EntryStack;
-import me.shedaniel.rei.api.ItemRendererHooks;
+import me.shedaniel.rei.api.*;
import me.shedaniel.rei.gui.widget.QueuedTooltip;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.*;
@@ -156,12 +153,14 @@ public class ItemEntryStack extends AbstractEntryStack {
public void render(Rectangle bounds, int mouseX, int mouseY, float delta) {
if (!isEmpty() && getSetting(Settings.RENDER).value().get()) {
ItemStack stack = getItemStack();
- // if (true) {
- ItemRenderer itemRenderer = MinecraftClient.getInstance().getItemRenderer();
- itemRenderer.zOffset = getZ();
- BakedModel model = itemRenderer.getModels().getModel(stack);
- model = model.getItemPropertyOverrides().apply(model, stack, null, null);
- if (model != null) {
+ if (ConfigObject.getInstance().doesFastEntryRendering() || true) {
+ ItemRenderer itemRenderer = MinecraftClient.getInstance().getItemRenderer();
+ itemRenderer.zOffset = getZ();
+ BakedModel model = itemRenderer.getModels().getModel(stack);
+ if (stack.getItem().hasPropertyGetters())
+ model = model.getItemPropertyOverrides().apply(model, stack, null, null);
+ if (model == null)
+ model = itemRenderer.getModels().getModelManager().getMissingModel();
MinecraftClient.getInstance().getTextureManager().bindTexture(SpriteAtlasTexture.BLOCK_ATLAS_TEX);
GlStateManager.enableRescaleNormal();
MatrixStack matrices = new MatrixStack();
@@ -171,35 +170,24 @@ public class ItemEntryStack extends AbstractEntryStack {
boolean bl = !model.hasDepthInGui();
if (bl)
GlStateManager.method_24221();
- model.getTransformation().getTransformation(ModelTransformation.Type.GUI).apply(false, matrices);
- matrices.translate(-0.5D, -0.5D, -0.5D);
- if (!model.isBuiltin()) {
- RenderLayer renderLayer = RenderLayers.getItemLayer(stack);
- if (Objects.equals(renderLayer, TexturedRenderLayers.getEntityTranslucent()))
- renderLayer = TexturedRenderLayers.getEntityTranslucentCull();
- VertexConsumer vertexConsumer = stack.hasEnchantmentGlint() && getSetting(Settings.Item.RENDER_ENCHANTMENT_GLINT).value().get() ? VertexConsumers.dual(immediate.getBuffer(RenderLayer.getGlint()), immediate.getBuffer(renderLayer)) : immediate.getBuffer(renderLayer);
- ((ItemRendererHooks) itemRenderer).rei_renderBakedItemModel(model, stack, 15728880, OverlayTexture.DEFAULT_UV, matrices, vertexConsumer);
- } else {
- BuiltinModelItemRenderer.INSTANCE.render(stack, matrices, immediate, 15728880, OverlayTexture.DEFAULT_UV);
- }
+ itemRenderer.renderItem(stack, ModelTransformation.Type.GUI, false, matrices, immediate, 15728880, OverlayTexture.DEFAULT_UV, model);
immediate.draw();
if (bl)
GlStateManager.method_24222();
GlStateManager.disableRescaleNormal();
+ itemRenderer.renderGuiItemOverlay(MinecraftClient.getInstance().textRenderer, stack, bounds.x, bounds.y, getSetting(Settings.RENDER_COUNTS).value().get() ? getSetting(Settings.COUNTS).value().apply(this) : "");
+ itemRenderer.zOffset = 0.0F;
+ } else {
+ ((ItemStackHook) (Object) stack).rei_setRenderEnchantmentGlint(getSetting(Settings.Item.RENDER_ENCHANTMENT_GLINT).value().get());
+ ItemRenderer itemRenderer = MinecraftClient.getInstance().getItemRenderer();
+ itemRenderer.zOffset = getZ();
+ int i1 = bounds.x;
+ int i2 = bounds.y;
+ itemRenderer.renderGuiItemIcon(stack, i1, i2);
+ itemRenderer.renderGuiItemOverlay(MinecraftClient.getInstance().textRenderer, stack, i1, i2, getSetting(Settings.RENDER_COUNTS).value().get() ? getSetting(Settings.COUNTS).value().apply(this) : "");
+ itemRenderer.zOffset = 0.0F;
+ ((ItemStackHook) (Object) stack).rei_setRenderEnchantmentGlint(true);
}
- itemRenderer.renderGuiItemOverlay(MinecraftClient.getInstance().textRenderer, stack, bounds.x, bounds.y, getSetting(Settings.RENDER_COUNTS).value().get() ? getSetting(Settings.COUNTS).value().apply(this) : "");
- itemRenderer.zOffset = 0.0F;
- // } else {
- // ((ItemStackHook) (Object) stack).rei_setRenderEnchantmentGlint(getSetting(Settings.Item.RENDER_ENCHANTMENT_GLINT).value().get());
- // ItemRenderer itemRenderer = MinecraftClient.getInstance().getItemRenderer();
- // itemRenderer.zOffset = getZ();
- // int i1 = bounds.x + 1;
- // int i2 = bounds.y + 1;
- // itemRenderer.renderGuiItemIcon(stack, i1, i2);
- // itemRenderer.renderGuiItemOverlay(MinecraftClient.getInstance().textRenderer, stack, i1, i2, getSetting(Settings.RENDER_COUNTS).value().get() ? getSetting(Settings.COUNTS).value().apply(this) : "");
- // itemRenderer.zOffset = 0.0F;
- // ((ItemStackHook) (Object) stack).rei_setRenderEnchantmentGlint(true);
- // }
}
}
}
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinItemRenderer.java b/src/main/java/me/shedaniel/rei/mixin/MixinItemRenderer.java
deleted file mode 100644
index 83b28dd52..000000000
--- a/src/main/java/me/shedaniel/rei/mixin/MixinItemRenderer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Roughly Enough Items by Danielshe.
- * Licensed under the MIT License.
- */
-
-package me.shedaniel.rei.mixin;
-
-import me.shedaniel.rei.api.ItemRendererHooks;
-import net.minecraft.client.render.VertexConsumer;
-import net.minecraft.client.render.item.ItemRenderer;
-import net.minecraft.client.render.model.BakedModel;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.item.ItemStack;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-
-@Mixin(ItemRenderer.class)
-public abstract class MixinItemRenderer implements ItemRendererHooks {
- @Shadow
- protected abstract void renderBakedItemModel(BakedModel model, ItemStack stack, int light, int overlay, MatrixStack matrices, VertexConsumer vertices);
-
- @Override
- public void rei_renderBakedItemModel(BakedModel model, ItemStack stack, int light, int overlay, MatrixStack matrices, VertexConsumer vertices) {
- this.renderBakedItemModel(model, stack, light, overlay, matrices, vertices);
- }
-}