Files
refinedstorage/src/main/java/storagecraft/render/model/CableModel.java
Raoul Van den Berge 6c3c113521 initial 1.8 port
2015-12-25 18:51:58 +01:00

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);
}
}
}