render cable in inventory

This commit is contained in:
Raoul Van den Berge
2015-12-07 20:29:30 +01:00
parent 0e571cd28a
commit 7e5bd57963
6 changed files with 62 additions and 21 deletions

View File

@@ -0,0 +1,4 @@
package storagecraft;
public class SCItems {
}

View File

@@ -2,7 +2,11 @@ package storagecraft.proxy;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import storagecraft.render.CableRenderer;
import net.minecraft.item.Item;
import net.minecraftforge.client.MinecraftForgeClient;
import storagecraft.SCBlocks;
import storagecraft.render.BlockCableRenderer;
import storagecraft.render.ItemCableRenderer;
import storagecraft.tile.TileCable;
public class ClientProxy extends CommonProxy {
@@ -10,6 +14,8 @@ public class ClientProxy extends CommonProxy {
public void preInit(FMLPreInitializationEvent e) {
super.preInit(e);
ClientRegistry.bindTileEntitySpecialRenderer(TileCable.class, new CableRenderer());
ClientRegistry.bindTileEntitySpecialRenderer(TileCable.class, new BlockCableRenderer());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(SCBlocks.CABLE), new ItemCableRenderer());
}
}

View File

@@ -8,7 +8,7 @@ import org.lwjgl.opengl.GL11;
import storagecraft.render.model.CableModel;
import storagecraft.tile.TileCable;
public class CableRenderer extends TileEntitySpecialRenderer {
public class BlockCableRenderer extends TileEntitySpecialRenderer {
public static final ResourceLocation CABLE_RESOURCE = new ResourceLocation("storagecraft:textures/blocks/cable.png");
@Override
@@ -20,8 +20,11 @@ public class CableRenderer extends TileEntitySpecialRenderer {
{
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(CABLE_RESOURCE);
model.render(null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
GL11.glPopMatrix();
}

View File

@@ -0,0 +1,23 @@
package storagecraft.render;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ItemCableRenderer implements IItemRenderer {
public static final BlockCableRenderer CABLE_RENDERER = new BlockCableRenderer();
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return true;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
CABLE_RENDERER.renderTileEntityAt(null, 0, 0, 0, 0);
}
}

View File

@@ -53,28 +53,33 @@ public class CableModel extends ModelBase {
public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
core.render(f5);
if (cable.hasConnection(ForgeDirection.UP)) {
up.render(f5);
}
if (cable != null) {
if (cable.hasConnection(ForgeDirection.UP)) {
up.render(f5);
}
if (cable.hasConnection(ForgeDirection.DOWN)) {
down.render(f5);
}
if (cable.hasConnection(ForgeDirection.DOWN)) {
down.render(f5);
}
if (cable.hasConnection(ForgeDirection.NORTH)) {
if (cable.hasConnection(ForgeDirection.NORTH)) {
north.render(f5);
}
if (cable.hasConnection(ForgeDirection.EAST)) {
east.render(f5);
}
if (cable.hasConnection(ForgeDirection.SOUTH)) {
south.render(f5);
}
if (cable.hasConnection(ForgeDirection.WEST)) {
west.render(f5);
}
} else {
north.render(f5);
}
if (cable.hasConnection(ForgeDirection.EAST)) {
east.render(f5);
}
if (cable.hasConnection(ForgeDirection.SOUTH)) {
south.render(f5);
}
if (cable.hasConnection(ForgeDirection.WEST)) {
west.render(f5);
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B