Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.GuiIngameForge;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTank;
Expand All @@ -30,11 +31,8 @@
import com.darkona.adventurebackpack.item.ItemHose;
import com.darkona.adventurebackpack.reference.LoadedMods;
import com.darkona.adventurebackpack.reference.ModInfo;
import com.darkona.adventurebackpack.reference.ToolHandler;
import com.darkona.adventurebackpack.util.GregtechUtils;
import com.darkona.adventurebackpack.util.LogHelper;
import com.darkona.adventurebackpack.util.ThaumcraftUtils;
import com.darkona.adventurebackpack.util.TinkersUtils;
import com.darkona.adventurebackpack.util.Wearing;

import codechicken.lib.render.TextureUtils;
Expand Down Expand Up @@ -177,16 +175,14 @@ public void onRenderExperienceBar(RenderGameOverlayEvent.Post event) {
drawTexturedModalRect(xStart[1], yStart[0], u[1], v[1], textureWidth, textureHeight); // Right Tank
RenderHelper.enableStandardItemLighting();
RenderHelper.enableGUIStandardItemLighting();
GL11.glPushMatrix();
GL11.glTranslatef(xStart[0] - textureWidth, yStart[0], 0);
GL11.glScalef(0.5f, 0.5f, 0.5f);
if (ConfigHandler.enableToolsRender) {
ItemStack upperStack = inv.getStackInSlot(Constants.TOOL_UPPER);
ItemStack lowerStack = inv.getStackInSlot(Constants.TOOL_LOWER);
drawItemStack(upperStack, ToolHandler.getToolHandler(upperStack), 0, 0);
drawItemStack(lowerStack, ToolHandler.getToolHandler(lowerStack), 0, 16);
int itemX = xStart[0] - textureWidth;
int itemY = yStart[0];
drawItemStack(upperStack, itemX, itemY);
drawItemStack(lowerStack, itemX, itemY + 8);
}
GL11.glPopMatrix();
RenderHelper.disableStandardItemLighting();
}
}
Expand Down Expand Up @@ -220,45 +216,37 @@ private void drawTank(FluidTank tank, int startX, int startY, int height, int wi
}
}

private void drawItemStack(ItemStack stack, ToolHandler toolHandler, int x, int y) {
private void drawItemStack(ItemStack stack, int x, int y) {
if (stack == null) return;

this.zLevel = 200.0F;
itemRender.zLevel = 200.0F;

switch (toolHandler) {
case GREGTECH:
GL11.glTranslatef(x, y, 32.0F);
GregtechUtils.renderTool(stack, IItemRenderer.ItemRenderType.INVENTORY);
break;
case TCONSTRUCT:
TextureManager tm = mc.getTextureManager();
tm.bindTexture(tm.getResourceLocation(stack.getItemSpriteNumber()));
GL11.glTranslatef(x, y, 32.0F);
TinkersUtils.renderTool(stack, IItemRenderer.ItemRenderType.INVENTORY);
break;
case THAUMCRAFT:
// Forge PreRender: net.minecraftforge.client.ForgeHooksClient.renderInventoryItem
GL11.glPushMatrix();
GL11.glTranslatef(x - 2, y + 3, -3.0F + zLevel);
GL11.glScalef(10F, 10F, 10F);
GL11.glTranslatef(1.0F, 0.5F, 1.0F);
GL11.glScalef(1.0F, 1.0F, -1F);
GL11.glRotatef(210F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-135F, 0.0F, 1.0F, 0.0F);
// Thaumcraft Render
ThaumcraftUtils.renderTool(stack, IItemRenderer.ItemRenderType.INVENTORY);
GL11.glPopMatrix();
break;
case VANILLA:
default:
GL11.glTranslatef(0F, 0F, 32.0F);
FontRenderer font = stack.getItem().getFontRenderer(stack);
if (font == null) font = fontRenderer;
itemRender.renderItemIntoGUI(font, mc.getTextureManager(), stack, x, y);
break;
IItemRenderer customRenderer = MinecraftForgeClient
.getItemRenderer(stack, IItemRenderer.ItemRenderType.INVENTORY);

GL11.glPushMatrix();
GL11.glTranslatef(x, y, 32.0F);
GL11.glScalef(0.5f, 0.5f, 0.5f);

if (customRenderer != null) {
TextureManager tm = mc.getTextureManager();
tm.bindTexture(tm.getResourceLocation(stack.getItemSpriteNumber()));
if (customRenderer.shouldUseRenderHelper(
IItemRenderer.ItemRenderType.INVENTORY,
stack,
IItemRenderer.ItemRendererHelper.INVENTORY_BLOCK)) {
RenderHelper.enableGUIStandardItemLighting();
}
customRenderer.renderItem(IItemRenderer.ItemRenderType.INVENTORY, stack);
} else {
FontRenderer font = stack.getItem().getFontRenderer(stack);
if (font == null) font = fontRenderer;
itemRender.renderItemIntoGUI(font, mc.getTextureManager(), stack, 0, 0);
}

GL11.glPopMatrix();

this.zLevel = 0.0F;
itemRender.zLevel = 0.0F;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import com.darkona.adventurebackpack.config.ConfigHandler;
import com.darkona.adventurebackpack.inventory.InventoryBackpack;
import com.darkona.adventurebackpack.reference.BackpackTypes;
import com.darkona.adventurebackpack.reference.ToolHandler;

import codechicken.lib.vec.Vector3;

Expand Down Expand Up @@ -256,8 +255,8 @@ private void renderBackpack(Float scale) {
if (ConfigHandler.enableToolsRender) {
ItemStack upperStack = backpack.getStackInSlot(Constants.TOOL_UPPER);
ItemStack lowerStack = backpack.getStackInSlot(Constants.TOOL_LOWER);
upperTool.setStack(upperStack, ToolHandler.getToolHandler(upperStack));
lowerTool.setStack(lowerStack, ToolHandler.getToolHandler(lowerStack));
upperTool.setStack(upperStack);
lowerTool.setStack(lowerStack);
}

if (type == QUARTZ || type == SLIME || type == SNOW) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import org.lwjgl.opengl.GL11;

import com.darkona.adventurebackpack.client.render.RendererStack;
import com.darkona.adventurebackpack.reference.ToolHandler;
import com.darkona.adventurebackpack.util.Utils;

public class ModelClockworkCrossbow extends ModelBase {
Expand Down Expand Up @@ -188,7 +187,7 @@ public ModelClockworkCrossbow() {
this.hookHead.addChild(this.hookTooth3);

arrow = new RendererStack(this, true);
arrow.setStack(new ItemStack(Items.arrow, 1), ToolHandler.VANILLA);
arrow.setStack(new ItemStack(Items.arrow, 1));
}

public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, ItemStack xbow) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.MinecraftForgeClient;

import org.lwjgl.opengl.GL11;

import com.darkona.adventurebackpack.reference.ToolHandler;
import com.darkona.adventurebackpack.util.GregtechUtils;
import com.darkona.adventurebackpack.util.ThaumcraftUtils;
import com.darkona.adventurebackpack.util.TinkersUtils;
Expand All @@ -23,17 +23,15 @@ public class RendererStack extends ModelRenderer {

private final boolean isLowerSlot;
private ItemStack stack;
private ToolHandler toolHandler = ToolHandler.VANILLA;

public RendererStack(ModelBase modelBase, boolean isLowerSlot) {
super(modelBase);
this.isLowerSlot = isLowerSlot;
addChild(new Thing(modelBase));
}

public void setStack(ItemStack stack, ToolHandler toolHandler) {
public void setStack(ItemStack stack) {
this.stack = stack;
this.toolHandler = toolHandler;
}

private class Thing extends ModelRenderer {
Expand All @@ -47,6 +45,9 @@ public Thing(ModelBase modelBase) {
public void render(float par1) {
if (stack == null) return;

IItemRenderer customRenderer = MinecraftForgeClient
.getItemRenderer(stack, IItemRenderer.ItemRenderType.ENTITY);

GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
if (isLowerSlot) {
Expand All @@ -57,45 +58,26 @@ public void render(float par1) {
GL11.glScalef(0.7F, 0.7F, 0.7F);
GL11.glPushMatrix();
}
GL11.glRotatef(getToolRotationAngle(stack, isLowerSlot, toolHandler), 0, 0, 1);

switch (toolHandler) {
case GREGTECH:
GregtechUtils.renderTool(stack, IItemRenderer.ItemRenderType.ENTITY);
break;
case TCONSTRUCT:
TextureManager tm = MC.getTextureManager();
tm.bindTexture(tm.getResourceLocation(stack.getItemSpriteNumber()));
GL11.glTranslatef(-0.06F, -0.1F, 0F);
TinkersUtils.renderTool(stack, IItemRenderer.ItemRenderType.ENTITY);
break;
case THAUMCRAFT:
GL11.glTranslatef(0F, -0.375F, 0F);
ThaumcraftUtils.renderTool(stack, IItemRenderer.ItemRenderType.ENTITY);
break;
case VANILLA:
default:
CopygirlRenderUtils.renderItemIn3d(stack);
break;
GL11.glRotatef(getToolRotationAngle(stack, isLowerSlot), 0, 0, 1);

if (customRenderer != null) {
TextureManager tm = MC.getTextureManager();
tm.bindTexture(tm.getResourceLocation(stack.getItemSpriteNumber()));
customRenderer.renderItem(IItemRenderer.ItemRenderType.ENTITY, stack);
} else {
CopygirlRenderUtils.renderItemIn3d(stack);
}

GL11.glPopAttrib();
GL11.glPopMatrix();
GL11.glPopMatrix();
}

private float getToolRotationAngle(ItemStack stack, boolean isLowerSlot, ToolHandler toolHandler) {
switch (toolHandler) {
case GREGTECH:
return GregtechUtils.getToolRotationAngle(stack, isLowerSlot);
case TCONSTRUCT:
return TinkersUtils.getToolRotationAngle(stack, isLowerSlot);
case THAUMCRAFT:
return ThaumcraftUtils.getToolRotationAngle(stack, isLowerSlot);
case VANILLA:
default:
return isLowerSlot ? -225F : 45F;
}
private float getToolRotationAngle(ItemStack stack, boolean isLowerSlot) {
if (GregtechUtils.isTool(stack)) return GregtechUtils.getToolRotationAngle(stack, isLowerSlot);
if (TinkersUtils.isTool(stack)) return TinkersUtils.getToolRotationAngle(stack, isLowerSlot);
if (ThaumcraftUtils.isTool(stack)) return ThaumcraftUtils.getToolRotationAngle(stack, isLowerSlot);
return isLowerSlot ? -225F : 45F;
}
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,40 +3,17 @@
import javax.annotation.Nonnull;

import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;

import com.darkona.adventurebackpack.reference.LoadedMods;

public final class GregtechUtils {

private static final String CLASS_RENDERER = "gregtech.common.render.MetaGeneratedToolRenderer";

private static final String TOOLS_NAME = "gt.metatool.01";
private static final int[] ROTATED_45_TOOLS = { 16, 26, 30, 130 };
private static final int[] ROTATED_90_TOOLS = { 10, 14, 18, 22, 34, 150, 160 };

private static Class<?> toolRenderer;
private static Object toolRendererInstance;

private GregtechUtils() {}

static {
if (LoadedMods.GREGTECH) {
createToolRendererInstance();
}
}

private static void createToolRendererInstance() {
if (Utils.inClient()) {
try {
toolRenderer = Class.forName(CLASS_RENDERER);
toolRendererInstance = toolRenderer.getConstructor().newInstance();
} catch (Exception e) {
LogHelper.error("Error getting instance of Gregtech Tools Renderer: " + e);
}
}
}

public static boolean isTool(@Nonnull ItemStack stack) {
return LoadedMods.GREGTECH && stack.getItem().getUnlocalizedName().equals(TOOLS_NAME);
}
Expand All @@ -54,8 +31,4 @@ public static float getToolRotationAngle(ItemStack stack, boolean isLowerSlot) {

return isLowerSlot ? -45F : 45F;
}

public static void renderTool(ItemStack stack, IItemRenderer.ItemRenderType renderType) {
ToolRenderHelper.render(stack, renderType, toolRenderer, toolRendererInstance);
}
}
Original file line number Diff line number Diff line change
@@ -1,41 +1,19 @@
package com.darkona.adventurebackpack.util;

import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;

import com.darkona.adventurebackpack.reference.LoadedMods;

public final class ThaumcraftUtils {

public static final boolean DIAL_BOTTOM = setDialBottom();

private static final String CLASS_RENDERER = "thaumcraft.client.renderers.item.ItemWandRenderer";
private static final String CLASS_CONFIG = "thaumcraft.common.config.Config";
private static final String CLASS_WANDS = "thaumcraft.common.items.wands.ItemWandCasting";
private static final String FIELD_DIAL_BOTTOM = "dialBottom";

private static Class<?> toolRenderer;
private static Object toolRendererInstance;

private ThaumcraftUtils() {}

static {
if (LoadedMods.THAUMCRAFT) {
createToolRendererInstance();
}
}

private static void createToolRendererInstance() {
if (Utils.inClient()) {
try {
toolRenderer = Class.forName(CLASS_RENDERER);
toolRendererInstance = toolRenderer.getConstructor().newInstance();
} catch (Exception e) {
LogHelper.error("Error getting instance of Thaumcraft Wands Renderer: " + e);
}
}
}

private static boolean setDialBottom() {
if (!LoadedMods.THAUMCRAFT || Utils.inServer()) return false;

Expand All @@ -59,8 +37,4 @@ public static boolean isTool(ItemStack stack) {
public static float getToolRotationAngle(ItemStack stack, boolean isLowerSlot) {
return isLowerSlot ? 0F : 90F;
}

public static void renderTool(ItemStack stack, IItemRenderer.ItemRenderType renderType) {
ToolRenderHelper.render(stack, renderType, toolRenderer, toolRendererInstance);
}
}
Loading