mirror of
https://github.com/GTNewHorizons/CodeChickenCore.git
synced 2026-11-11 15:57:42 +00:00
42 lines
986 B
Java
42 lines
986 B
Java
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)
|
|
{
|
|
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);
|
|
}
|
|
|
|
public static CCModel setIconIndex(CCModel m, int start, int length, int index)
|
|
{
|
|
for(int k = start; k < length; k++)
|
|
{
|
|
UV uv = m.verts[k].uv;
|
|
uv.u = uv.u%2+index*2;
|
|
uv.v %= 2;
|
|
}
|
|
return m;
|
|
}
|
|
}
|