From ad2e63a77b1b04fc709db7f9c990b34fe6bbdc3b Mon Sep 17 00:00:00 2001 From: shedaniel Date: Thu, 2 Jan 2020 18:38:48 +0800 Subject: Fix #232 --- build.gradle | 4 +- gradle.properties | 8 ++-- .../me/shedaniel/rei/api/ItemRendererHooks.java | 18 ------- .../java/me/shedaniel/rei/impl/ItemEntryStack.java | 56 +++++++++------------- .../me/shedaniel/rei/mixin/MixinItemRenderer.java | 26 ---------- src/main/resources/mixin.roughlyenoughitems.json | 3 +- 6 files changed, 29 insertions(+), 86 deletions(-) delete mode 100644 src/main/java/me/shedaniel/rei/api/ItemRendererHooks.java delete mode 100644 src/main/java/me/shedaniel/rei/mixin/MixinItemRenderer.java diff --git a/build.gradle b/build.gradle index 21724777f..f76853e5c 100755 --- a/build.gradle +++ b/build.gradle @@ -68,10 +68,10 @@ dependencies { transitive = false } } - modCompileOnly ("io.github.prospector:modmenu:${modmenu_version}") { + modCompileOnly("io.github.prospector:modmenu:${modmenu_version}") { transitive = false } - modRuntime ("io.github.prospector:modmenu:${modmenu_version}") { + modRuntime("io.github.prospector:modmenu:${modmenu_version}") { transitive = false } compile "org.lwjgl:lwjgl-jemalloc:3.2.1" diff --git a/gradle.properties b/gradle.properties index f8b3014fd..1d79e2a57 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,9 +1,9 @@ -mod_version=3.3.0 -minecraft_version=1.15 -yarn_version=1.15+build.1 +mod_version=3.3.1 +minecraft_version=1.15.1 +yarn_version=1.15.1+build.1 fabricloader_version=0.7.2+build.174 cloth_events_version=1.1.0 cloth_config_version=2.6.5 modmenu_version=1.8.0+build.16 -fabric_api=0.4.20+build.273-1.15 +fabric_api=0.4.27+build.286-1.15 autoconfig1u=1.2.4 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 -- cgit