Files
CodeChickenCore/codechicken/lib/render/MultiIconTransformation.java
T

41 lines
981 B
Java
Raw Normal View History

2013-07-16 17:58:02 +10:00
package codechicken.lib.render;
import net.minecraft.util.Icon;
/**
* Icon index is specified as (int)u>>1
*/
public class MultiIconTransformation implements IUVTransformation
{
public Icon[] icons;
public MultiIconTransformation(Icon... icons)
2013-07-16 17:58:02 +10:00
{
this.icons = icons;
}
@Override
public void transform(UV texcoord)
{
int i = (int)texcoord.u>>1;
Icon icon = icons[i%icons.length];
texcoord.u = icon.getInterpolatedU(texcoord.u%2*16);
texcoord.v = icon.getInterpolatedV(texcoord.v%2*16);
}
public static CCModel setIconIndex(CCModel m, int index)
{
return setIconIndex(m, 0, m.verts.length, index);
}
2013-08-21 23:32:16 +10:00
public static CCModel setIconIndex(CCModel m, int start, int end, int index)
2013-07-16 17:58:02 +10:00
{
2013-08-21 23:32:16 +10:00
for(int k = start; k < end; k++)
2013-07-16 17:58:02 +10:00
{
UV uv = m.verts[k].uv;
uv.u = uv.u%2+index*2;
uv.v %= 2;
}
return m;
}
}