Skip to content

Commit

Permalink
Fix fast item list rendering
Browse files Browse the repository at this point in the history
  • Loading branch information
mezz committed Mar 18, 2016
1 parent 87cac9d commit 19607f0
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 56 deletions.
10 changes: 10 additions & 0 deletions changelog.html
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
<h2>3.0.0</h2>
<h4>Update for Minecraft 1.9:</h4>
<ul>
<li>Add new potion recipes.</li>
<li>Add tipped arrow recipes.</li>
<li>Update item list rendering.</li>
</ul>
<br/>
<hr/>

<h2>2.28.7</h2>
<h4>Fixes:</h4>
<ul>
Expand Down
6 changes: 3 additions & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ forgeversion=12.16.0.0-1.9
mcp_mappings=snapshot_20160312
curse_project_id=238222

version_major=2
version_minor=28
version_patch=7
version_major=3
version_minor=0
version_patch=0
48 changes: 15 additions & 33 deletions src/main/java/mezz/jei/gui/ingredients/GuiItemStackFast.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import net.minecraft.util.EnumFacing;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.client.ForgeHooksClient;
import net.minecraftforge.client.model.pipeline.LightUtil;

import javax.annotation.Nonnull;
Expand Down Expand Up @@ -88,45 +89,26 @@ public void renderItemAndEffectIntoGUI() {

IBakedModel bakedModel = itemModelMesher.getItemModel(itemStack);

GlStateManager.pushMatrix();

int x = area.x + padding + 8;
int y = area.y + padding + 8;

if (bakedModel.isGui3d()) {
if (Config.isEditModeEnabled()) {
GlStateManager.scale(1.0 / 20.0F, 1.0 / 20.0F, 1.0 / -20.0F);
renderEditMode();
GlStateManager.enableBlend();
GlStateManager.scale(20.0F, 20.0F, -20.0F);
}

GlStateManager.translate(((float) x) / 20f, ((float) y) / 20f, (100.0F + 50f) / -20f);
GlStateManager.rotate(210.0F, 1.0F, 0.0F, 0.0F);
GlStateManager.rotate(-135.0F, 0.0F, 1.0F, 0.0F);
} else {
if (Config.isEditModeEnabled()) {
GlStateManager.scale(1.0 / 32.0F, 1.0 / 32.0F, 1.0 / -32.0F);
renderEditMode();
GlStateManager.enableBlend();
GlStateManager.scale(32.0F, 32.0F, -32.0F);
}

GlStateManager.translate(((float) x) / 32f, ((float) y) / 32f, (100.0F + 50f) / -32f);
GlStateManager.rotate(180.0F, 1.0F, 0.0F, 0.0F);
if (Config.isEditModeEnabled()) {
renderEditMode();
GlStateManager.enableBlend();
}

bakedModel = net.minecraftforge.client.ForgeHooksClient.handleCameraTransforms(bakedModel, ItemCameraTransforms.TransformType.GUI, false);
GlStateManager.pushMatrix();
{
GlStateManager.translate(area.x + padding + 8.0f, area.y + padding + 8.0f, 150.0F);
GlStateManager.scale(16F, -16F, 16F);

bakedModel = ForgeHooksClient.handleCameraTransforms(bakedModel, ItemCameraTransforms.TransformType.GUI, false);

GlStateManager.scale(0.5F, 0.5F, 0.5F);
GlStateManager.translate(-0.5F, -0.5F, -0.5F);
GlStateManager.translate(-0.5F, -0.5F, -0.5F);

renderModel(bakedModel, itemStack);
renderModel(bakedModel, itemStack);

if (itemStack.hasEffect()) {
renderEffect(bakedModel);
if (itemStack.hasEffect()) {
renderEffect(bakedModel);
}
}

GlStateManager.popMatrix();
}

Expand Down
31 changes: 11 additions & 20 deletions src/main/java/mezz/jei/gui/ingredients/GuiItemStackFastList.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.item.ItemStack;
import org.lwjgl.opengl.GL11;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
Expand Down Expand Up @@ -101,36 +102,26 @@ public GuiItemStackFast render(@Nonnull Minecraft minecraft, boolean isMouseOver
textureManager.getTexture(TextureMap.locationBlocksTexture).setBlurMipmap(false, false);
GlStateManager.enableRescaleNormal();
GlStateManager.enableAlpha();
GlStateManager.alphaFunc(516, 0.1F);
GlStateManager.alphaFunc(GL11.GL_GREATER, 0.1F);
GlStateManager.enableBlend();
GlStateManager.blendFunc(770, 771);
GlStateManager.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);

// 3d Items
GlStateManager.pushMatrix();
{
GlStateManager.enableLighting();
GlStateManager.scale(20.0F, 20.0F, -20.0F);
for (GuiItemStackFast guiItemStack : renderItems3d) {
if (hovered != guiItemStack) {
guiItemStack.renderItemAndEffectIntoGUI();
}
GlStateManager.enableLighting();
for (GuiItemStackFast guiItemStack : renderItems3d) {
if (hovered != guiItemStack) {
guiItemStack.renderItemAndEffectIntoGUI();
}
}
GlStateManager.popMatrix();

// 2d Items
GlStateManager.pushMatrix();
{
GlStateManager.disableLighting();
GlStateManager.scale(32.0F, 32.0F, -32.0F);
for (GuiItemStackFast guiItemStack : renderItems2d) {
if (hovered != guiItemStack) {
guiItemStack.renderItemAndEffectIntoGUI();
}
GlStateManager.disableLighting();
for (GuiItemStackFast guiItemStack : renderItems2d) {
if (hovered != guiItemStack) {
guiItemStack.renderItemAndEffectIntoGUI();
}
}
GlStateManager.popMatrix();

GlStateManager.disableAlpha();
GlStateManager.disableBlend();
Expand Down

0 comments on commit 19607f0

Please sign in to comment.