package mods.custom_flags.client.gui.controls;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiTextField;
/**
* User: nerd-boy
* Date: 13/08/13
* Time: 10:32 AM
* TODO: Add discription
*/
public class GuiTextFieldAlt extends GuiTextField {
public GuiTextFieldAlt(FontRenderer par1FontRenderer, int par2, int par3, int par4, int par5) {
super(par1FontRenderer, par2, par3, par4, par5);
}
@Override
public void setText(String par1Str) {
super.setText(removeInvalidChars(par1Str));
}
@Override
public void writeText(String par1Str) {
super.writeText(removeInvalidChars(par1Str));
}
private String removeInvalidChars(String string){
StringBuffer sb = new StringBuffer();
string = string.toUpperCase();
for(int i = 0; i < string.length(); i++){
char next = string.charAt(i);
if(Character.isDigit(next) || (next >= 'A' && next <= 'F'))
sb.append(next);
}
return sb.toString();
}
public int parseText() {
int c1 = Integer.parseInt(getText(), 16);
//0xa0r0g0b0
//0x0000argb
return (
((c1 & 0xF000) << 16) |
((c1 & 0x0F00) << 12) |
((c1 & 0x00F0) << 8) |
((c1 & 0x000F) << 4) |
0x08080808
);
}
}