Welcome on MasterOf13FPS! MasterOf13FPS

Register today or sign up if you are already a member and never miss any cool content again :)

[Request] TabGui colors (lest den Threat durch xD)

MasterOf13FPS

Administrator
Staff member
Administrator
MasterOf13FPS
Joined
Jul 11, 2020
Messages
0
Reaction score
25
Points
0
Hallo erstmal,
unzwar hab ich jetzt ein TabGui fertig gecodet das Problem ist das ich die Farben so haben möchte das wenn das Module an ist die schrift Farbe weiß sein soll und wenn das Module nicht an ist die schrift Farbe grau sein soll. (Nicht in der ArrayList sondern im TabGui versteht sich)

Wenn das Module an ist : http://prntscr.com/ebmjam (Weiß)
Wenn das Module nicht an ist: http://prntscr.com/ebmj2q (Grau)

Edit : Bin ein anfänger im Coden also bitte etwas respekt xD
 
Sieht aus wie die TabGUI "von" Trace. Ersetz das "§f" mit "§7" Dann solls gehen (falls ich dich richtig verstanden habe).
 
ok, ok Nochmal neu:
Also ich möchte wenn ich beim Tabgui auf ein Modul klicke das dies dann die Farbe wechselt beim Click und wenn ich wieder draufklicke sprich es deaktiviere soll es wieder die anfangsfarbe besitzen.
Hoffe das war jetzt verständlich xD

Edit: So das man im Tabgui sieht welche module an sind und welche nicht
 
Und die Anfangsfarbe ist weiß bzw soll weiß sein?
 
jup und wenn man das Module anmacht soll die Farbe auf Grau springen
 
du machst beim rendern des schriftzugs einen aktive bzw on check und wenn eben true ist, dann ne andere frabe
 
Code:
            for (Mod mod : Pechoin.mods.mods.stream().filter(Mod::isActive).collect(Collectors.toList())) {
                mc.fontRendererObj.drawString(mod.getName(), scaledResolution.getScaledWidth() - mc.fontRendererObj.getStringWidth(mod.getName()) - 2, y, mod.isActive() ? -1 :  getRainbow(6000, -15 * y));
                y += 12;
            }
kleines Beispiel mit dem mod.isActive?
 
Code:
            for (Mod mod : Pechoin.mods.mods.stream().filter(Mod::isActive).collect(Collectors.toList())) {
                mc.fontRendererObj.drawString(mod.getName(), scaledResolution.getScaledWidth() - mc.fontRendererObj.getStringWidth(mod.getName()) - 2, y, mod.isActive() ? -1 :  getRainbow(6000, -15 * y));
                y += 12;
            }
kleines Beispiel mit dem mod.isActive?
Ihhh rainbow :^)
 
Code:
            for (Mod mod : Pechoin.mods.mods.stream().filter(Mod::isActive).collect(Collectors.toList())) {
                mc.fontRendererObj.drawString(mod.getName(), scaledResolution.getScaledWidth() - mc.fontRendererObj.getStringWidth(mod.getName()) - 2, y, mod.isActive() ? -1 :  getRainbow(6000, -15 * y));
                y += 12;
            }
kleines Beispiel mit dem mod.isActive?
Die Java-8+ Streams API ist eigentlich anders gedacht.
So wie du es gemacht hast, ist es weder elegant, noch performant.
So sollte dein Code wohl eher aussehen:
Code:
for (Mod mod : Pechoin.mods.mods) { // Ich empfehle dir da, nicht static zu verwenden.
    if (mod.isActive()) {
        mc.fontRendererObj.drawString(mod.getName(), scaledResolution.getScaledWidth() - mc.fontRendererObj.getStringWidth(mod.getName()) - 2, y, mod.isActive() ? -1 : getRainbow(6000, -15 * y));
        y += 12;
    }
}
 
http://prntscr.com/ebn4h5 <- so sollte das gehen xd
Das wäre da wohl etwas besser:
Code:
// Die Konstanten sind hier nur zur anschaulichkeit da, ich würde sie am Ende nicht verwenden.
private static final int COLOR_ENABLED = 0xFF919499;
private static final int COLOR_DISABLED = 0xFFFFFFFF;
private static final int FONT_HEIGHT = 10;

private void renderArrayList(int x) {
  int y = 0;
  for (Module module : Exotic.moduleManager.getModules()) { // Auch da würde ich kein static verwenden.
    FontUtils.drawString(module.getName(), x, y += FONT_HEIGHT, module.isEnabled() ? COLOR_ENABLED : COLOR_DISABLED);
  }
}
 
also dann ne instanz von meiner main klasse nehmen als static oder soll ich das theminecraft nehmen?
 
Eine instanz von deiner "Main" Klasse
 
shape1
shape2
shape3
shape4
shape5
shape6
Back
Top