改变arraylist上每个mod的颜色?

时间:2013-07-29 18:42:32

标签: java arrays colors

我正在为一款名为Minecraft的游戏制作一个modded客户端。我的数组列表将显示屏幕左上角的mod。如何更改每个mod的颜色?防爆。 KillAura将为绿色,而ChestFinder将为红色。感谢

//Arraylist GUI

        if(Camb.killaura){
            if(!arraygui.contains("KillAura")){
                arraygui.add("KillAura");
            }
        }else{
            if(arraygui.contains("KillAura")){
                arraygui.remove(arraygui.indexOf("KillAura"));
            }
        }
        if(Camb.chestfinder){
            if(!arraygui.contains("ChestFinder")){
                arraygui.add("ChestFinder");
            }
        }else{
            if(arraygui.contains("ChestFinder")){
                arraygui.remove(arraygui.indexOf("ChestFinder"));
            }
        }
        if(Camb.fullbright){
            if(!arraygui.contains("FullBright")){
                arraygui.add("FullBright");
            }
        }else{
            if(arraygui.contains("FullBright")){
                arraygui.remove(arraygui.indexOf("FullBright"));
            }
        }
        if(Camb.tracers){
            if(!arraygui.contains("Tracers")){
                arraygui.add("Tracers");
            }
        }else{
            if(arraygui.contains("Tracers")){
                arraygui.remove(arraygui.indexOf("Tracers"));
            }
        }
        if(Camb.autowalk){
            if(!arraygui.contains("AutoWalk")){
                arraygui.add("AutoWalk");
            }
        }else{
            if(arraygui.contains("AutoWalk")){
                arraygui.remove(arraygui.indexOf("AutoWalk"));
            }
        }
        if(Camb.noweather){
            if(!arraygui.contains("NoWeather")){
                arraygui.add("NoWeather");
            }
        }else{
            if(arraygui.contains("NoWeather")){
                arraygui.remove(arraygui.indexOf("NoWeather"));
            }
        }

        if(Camb.sneak){
            if(!arraygui.contains("Sneak")){
                arraygui.add("Sneak");
            }
        }else{
            if(arraygui.contains("Sneak")){
                arraygui.remove(arraygui.indexOf("Sneak"));
            }
        }
        if(Camb.nocheat){
            if(!arraygui.contains("NoCheat")){
                arraygui.add("NoCheat");
            }
        }else{
            if(arraygui.contains("NoCheat")){
                arraygui.remove(arraygui.indexOf("NoCheat"));
            }
        }
        if(Camb.nofall){
            if(!arraygui.contains("NoFall")){
                arraygui.add("NoFall");
            }
        }else{
            if(arraygui.contains("NoFall")){
                arraygui.remove(arraygui.indexOf("NoFall"));
            }
        }
        if(Camb.xray){
            if(!arraygui.contains("X-Ray")){
                arraygui.add("X-Ray");
            }
        }else{
            if(arraygui.contains("X-Ray")){
                arraygui.remove(arraygui.indexOf("X-Ray"));
            }
        }
        if(Camb.speedmine){
            if(!arraygui.contains("Speedy Gonzales")){
                arraygui.add("Speedy Gonzales");
            }
        }else{
            if(arraygui.contains("Speedy Gonzales")){
                arraygui.remove(arraygui.indexOf("Speedy Gonzales"));
            }
        }
        if(Camb.criticals){
            if(!arraygui.contains("Criticals")){
                arraygui.add("Criticals");
            }
        }else{
            if(arraygui.contains("Criticals")){
                arraygui.remove(arraygui.indexOf("Criticals"));
            }
        }
        if(Camb.flight){
            if(!arraygui.contains("Flight")){
                arraygui.add("Flight");
            }
        }else{
            if(arraygui.contains("Flight")){
                arraygui.remove(arraygui.indexOf("Flight"));
            }
        }
        if(Camb.wallhack){
            if(!arraygui.contains("WallHack")){
                arraygui.add("WallHack");
            }
        }else{
            if(arraygui.contains("WallHack")){
                arraygui.remove(arraygui.indexOf("WallHack"));
            }
        }
int gh = 17;
        for(int guiInt = 0; guiInt < arraygui.size(); guiInt++){

            var8.drawString("" + arraygui.get(guiInt), 5, gh, 0xFF0000);

1 个答案:

答案 0 :(得分:1)

如果您编辑代码如下:

for(int guiInt = 0; guiInt < arraygui.size(); guiInt++){
    String curmod = arraygui.get(guiInt);
    var8.setColor(this.getModColor(curmod));
    var8.drawString(curmod, 5, gh, 0xFF0000);
    // rest of your logic
}

/** This method gets your color for the specified mod
  *
  */
private Color getModColor(String mod)
{
    switch (mod)
    {
        case "KillAura": 
            return Color.green;
        case "ChestFinder":
            return Color.red;
    }

    throw new Exception("This mod has no specified color");
}

它应该为每个句子设置方法getModColor(String mod)中指定的颜色。