package com.cricketcraft.chisel.client.render;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import com.cricketcraft.ctmlib.RenderBlocksCTM;
import com.cricketcraft.ctmlib.TextureSubmap;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class SubmapManagerAntiblock extends SubmapManagerBase {
@SideOnly(Side.CLIENT)
private static class RenderBlocksCTMFullbright extends RenderBlocksCTM {
@Override
protected void fillLightmap(int bottomLeft, int bottomRight, int topRight, int topLeft) {
int maxLight = 0xF000F0;
super.fillLightmap(maxLight, maxLight, maxLight, maxLight);
}
@Override
protected void fillColormap(float bottomLeft, float bottomRight, float topRight, float topLeft, float[][] map) {
int color = 0xFFFFFF;
super.fillColormap(color, color, color, color, map);
}
};
@SideOnly(Side.CLIENT)
private static RenderBlocksCTMFullbright rb;
private String color;
private TextureSubmap submap, submapSmall;
public SubmapManagerAntiblock(String color) {
this.color = color;
}
@Override
public IIcon getIcon(int side, int meta) {
return submapSmall.getBaseIcon();
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(String modName, Block block, IIconRegister register) {
submap = new TextureSubmap(register.registerIcon(modName + ":antiblock/" + color + "-antiBlock-ctm"), 4, 4);
submapSmall = new TextureSubmap(register.registerIcon(modName + ":antiblock/" + color + "-antiBlock"), 2, 2);
}
@Override
@SideOnly(Side.CLIENT)
public RenderBlocks createRenderContext(RenderBlocks rendererOld, Block block, IBlockAccess world) {
if (rb == null) {
rb = new RenderBlocksCTMFullbright();
}
rb.setRenderBoundsFromBlock(block);
rb.submap = submap;
rb.submapSmall = submapSmall;
return rb;
}
}