Files
Chisel/src/main/java/team/chisel/client/render/SubmapManagerFakeController.java
T

68 lines
2.0 KiB
Java
Raw Normal View History

2015-08-18 20:40:55 -04:00
package team.chisel.client.render;
2015-08-18 20:40:55 -04:00
import team.chisel.Chisel;
import team.chisel.ctmlib.CTM;
import team.chisel.ctmlib.TextureSubmap;
2015-08-18 20:40:55 -04:00
import team.chisel.init.ChiselBlocks;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import com.google.common.base.Optional;
2015-06-03 17:43:03 -04:00
import static team.chisel.ctmlib.Dir.*;
2015-04-26 21:46:18 -04:00
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class SubmapManagerFakeController extends SubmapManagerBase {
private TextureSubmap map;
private CTM ctm = CTM.getInstance();
2015-06-21 22:28:46 -04:00
private int meta;
private String texturePath;
public SubmapManagerFakeController(int meta, String texture) {
ctm.disableObscuredFaceCheck = Optional.of(true);
this.meta = meta;
texturePath = texture;
}
2015-06-21 22:28:46 -04:00
public SubmapManagerFakeController(int meta) {
ctm.disableObscuredFaceCheck = Optional.of(true);
2015-06-21 22:28:46 -04:00
this.meta = meta;
}
@Override
public IIcon getIcon(int side, int meta) {
return map.getSubIcon(0, 0);
}
@Override
public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) {
2015-06-21 22:28:46 -04:00
ctm.buildConnectionMap(world, x, y, z, side, ChiselBlocks.futura, meta);
if (ctm.connectedAnd(TOP, TOP_RIGHT, RIGHT, BOTTOM_RIGHT, BOTTOM, BOTTOM_LEFT, LEFT, TOP_LEFT)) {
return map.getSubIcon(1, 1);
} else if (ctm.connectedAnd(TOP, BOTTOM)) {
return map.getSubIcon(0, 1);
} else if (ctm.connectedAnd(LEFT, RIGHT)) {
return map.getSubIcon(1, 0);
} else {
return map.getSubIcon(0, 0);
}
}
@Override
2015-04-26 21:46:18 -04:00
@SideOnly(Side.CLIENT)
public void registerIcons(String modName, Block block, IIconRegister register) {
if (texturePath != null) {
map = new TextureSubmap(register.registerIcon(modName + ":" + texturePath), 2, 2);
} else {
Chisel.logger.info("SubmapManagerFakeController was called on block " + block.getUnlocalizedName() + " without declaring texture, using a default texture instead.");
map = new TextureSubmap(register.registerIcon(modName + ":futura/WIP/controller"), 2, 2);
}
}
}