134 lines
3.1 KiB
Java
134 lines
3.1 KiB
Java
package storagecraft.render.model;
|
|
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.model.ModelBase;
|
|
import net.minecraft.client.model.ModelRenderer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.EnumFacing;
|
|
import net.minecraft.util.ResourceLocation;
|
|
import storagecraft.tile.TileCable;
|
|
|
|
public class CableModel extends ModelBase
|
|
{
|
|
public static final ResourceLocation CABLE_RESOURCE = new ResourceLocation("storagecraft:textures/blocks/cable.png");
|
|
public static final ResourceLocation CABLE_UNPOWERED_RESOURCE = new ResourceLocation("storagecraft:textures/blocks/cableUnpowered.png");
|
|
public static final ResourceLocation CABLE_POWERED_RESOURCE = new ResourceLocation("storagecraft:textures/blocks/cablePowered.png");
|
|
|
|
private ModelRenderer core;
|
|
private ModelRenderer up;
|
|
private ModelRenderer down;
|
|
private ModelRenderer north;
|
|
private ModelRenderer east;
|
|
private ModelRenderer south;
|
|
private ModelRenderer west;
|
|
|
|
public CableModel()
|
|
{
|
|
core = new ModelRenderer(this, 0, 0);
|
|
core.addBox(6F, 6F, 6F, 4, 4, 4);
|
|
core.setTextureSize(16, 16);
|
|
|
|
up = new ModelRenderer(this, 0, 0);
|
|
up.addBox(6F, 10F, 6F, 4, 6, 4);
|
|
up.setTextureSize(16, 16);
|
|
|
|
down = new ModelRenderer(this, 0, 0);
|
|
down.addBox(6F, 0F, 6F, 4, 6, 4);
|
|
down.setTextureSize(16, 16);
|
|
|
|
north = new ModelRenderer(this, 0, 0);
|
|
north.addBox(6F, 6F, 0F, 4, 4, 6);
|
|
north.setTextureSize(16, 16);
|
|
|
|
east = new ModelRenderer(this, 0, 0);
|
|
east.addBox(10F, 6F, 6F, 6, 4, 4);
|
|
east.setTextureSize(16, 16);
|
|
|
|
south = new ModelRenderer(this, 0, 0);
|
|
south.addBox(6F, 6F, 10F, 4, 4, 6);
|
|
south.setTextureSize(16, 16);
|
|
|
|
west = new ModelRenderer(this, 0, 0);
|
|
west.addBox(0F, 6F, 6F, 6, 4, 4);
|
|
west.setTextureSize(16, 16);
|
|
}
|
|
|
|
public void render(ItemStack cable, float x)
|
|
{
|
|
if (cable.getItemDamage() == 1)
|
|
{
|
|
Minecraft.getMinecraft().renderEngine.bindTexture(CABLE_UNPOWERED_RESOURCE);
|
|
}
|
|
else
|
|
{
|
|
Minecraft.getMinecraft().renderEngine.bindTexture(CABLE_RESOURCE);
|
|
}
|
|
|
|
core.render(x);
|
|
|
|
if (cable.getItemDamage() == 1)
|
|
{
|
|
Minecraft.getMinecraft().renderEngine.bindTexture(CABLE_RESOURCE);
|
|
}
|
|
|
|
north.render(x);
|
|
south.render(x);
|
|
}
|
|
|
|
public void render(TileCable cable, float x)
|
|
{
|
|
if (cable.isSensitiveCable())
|
|
{
|
|
if (cable.isPowered())
|
|
{
|
|
Minecraft.getMinecraft().renderEngine.bindTexture(CABLE_POWERED_RESOURCE);
|
|
}
|
|
else
|
|
{
|
|
Minecraft.getMinecraft().renderEngine.bindTexture(CABLE_UNPOWERED_RESOURCE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Minecraft.getMinecraft().renderEngine.bindTexture(CABLE_RESOURCE);
|
|
}
|
|
|
|
core.render(x);
|
|
|
|
if (cable.isSensitiveCable())
|
|
{
|
|
Minecraft.getMinecraft().renderEngine.bindTexture(CABLE_RESOURCE);
|
|
}
|
|
|
|
if (cable.hasConnection(EnumFacing.UP))
|
|
{
|
|
up.render(x);
|
|
}
|
|
|
|
if (cable.hasConnection(EnumFacing.DOWN))
|
|
{
|
|
down.render(x);
|
|
}
|
|
|
|
if (cable.hasConnection(EnumFacing.NORTH))
|
|
{
|
|
north.render(x);
|
|
}
|
|
|
|
if (cable.hasConnection(EnumFacing.EAST))
|
|
{
|
|
east.render(x);
|
|
}
|
|
|
|
if (cable.hasConnection(EnumFacing.SOUTH))
|
|
{
|
|
south.render(x);
|
|
}
|
|
|
|
if (cable.hasConnection(EnumFacing.WEST))
|
|
{
|
|
west.render(x);
|
|
}
|
|
}
|
|
}
|