Files
Chisel/src/main/java/com/cricketcraft/chisel/client/render/TextureVirtual.java
T

81 lines
1.6 KiB
Java
Raw Normal View History

2014-12-15 00:11:48 +00:00
package com.cricketcraft.chisel.client.render;
2014-10-27 16:26:14 -04:00
2014-12-14 20:05:39 +00:00
import net.minecraft.util.IIcon;
2014-10-27 16:26:14 -04:00
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class TextureVirtual implements IIcon {
private int width, height;
private float umin, umax, vmin, vmax;
private String name;
private IIcon parentIcon;
TextureVirtual(IIcon parent, int w, int h, int x, int y) {
parentIcon = parent;
umin = parentIcon.getInterpolatedU(16.0 * (x) / w);
umax = parentIcon.getInterpolatedU(16.0 * (x + 1) / w);
vmin = parentIcon.getInterpolatedV(16.0 * (y) / h);
vmax = parentIcon.getInterpolatedV(16.0 * (y + 1) / h);
name = parentIcon.getIconName() + "|" + x + "." + y;
width = parentIcon.getIconWidth();
height = parentIcon.getIconHeight();
}
@Override
@SideOnly(Side.CLIENT)
public float getMinU() {
return umin;
}
@Override
@SideOnly(Side.CLIENT)
public float getMaxU() {
return umax;
}
@Override
@SideOnly(Side.CLIENT)
public float getInterpolatedU(double d0) {
return (float) (umin + (umax - umin) * d0 / 16.0);
}
@Override
@SideOnly(Side.CLIENT)
public float getMinV() {
return vmin;
}
@Override
@SideOnly(Side.CLIENT)
public float getMaxV() {
return vmax;
}
@Override
@SideOnly(Side.CLIENT)
public float getInterpolatedV(double d0) {
return (float) (vmin + (vmax - vmin) * d0 / 16.0);
}
@Override
@SideOnly(Side.CLIENT)
public String getIconName() {
return name;
}
@Override
@SideOnly(Side.CLIENT)
public int getIconWidth() {
return width;
}
@Override
@SideOnly(Side.CLIENT)
public int getIconHeight() {
return height;
}
2014-10-27 16:26:14 -04:00
}