diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-01-02 18:38:48 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-01-02 18:38:48 +0800 |
| commit | ad2e63a77b1b04fc709db7f9c990b34fe6bbdc3b (patch) | |
| tree | 927db9bf433b5cbed050686278dc3c7dfd2425ef /src | |
| parent | 7908d223d913a1ac9e929730652923d934d2b4b4 (diff) | |
| download | RoughlyEnoughItems-ad2e63a77b1b04fc709db7f9c990b34fe6bbdc3b.tar.gz RoughlyEnoughItems-ad2e63a77b1b04fc709db7f9c990b34fe6bbdc3b.tar.bz2 RoughlyEnoughItems-ad2e63a77b1b04fc709db7f9c990b34fe6bbdc3b.zip | |
Fix #232
Diffstat (limited to 'src')
4 files changed, 23 insertions, 80 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); - } -} diff --git a/src/main/resources/mixin.roughlyenoughitems.json b/src/main/resources/mixin.roughlyenoughitems.json index da39a2b7e..e44c85e3d 100755 --- a/src/main/resources/mixin.roughlyenoughitems.json +++ b/src/main/resources/mixin.roughlyenoughitems.json @@ -6,8 +6,7 @@ "mixins": [], "client": [ "MixinBrewingRecipeRegistry", - "MixinItemStack", - "MixinItemRenderer" + "MixinItemStack" ], "injectors": { "defaultRequire": 1 |
