chaos90

Vanilla
[1.7+] Mettre les FPS en couleur en fonction de leur hauteur

11 messages dans ce sujet

-[iNTRODUCTION]-

Bonjour a tous, dans ce tutoriel, je vais vous expliquer comment mettre les FPS du menu F3 en couleur selon sa hauteur

-[sOMMAIRE]-

1]Code couleur du jeu.
2]inséré et comprendre le code.



1]Code couleurdu jeu.

  • §1 = Bleu foncé
  • §2 = Vert foncé
  • §3 = Cyan
  • §4 = Rouge foncé
  • §5 = Violet
  • §6 = Doré
  • §7 = Gris clair
  • §8 = Gris foncé
  • §9 = Bleu clair
  • §0 = Noir
  • §a = Vert clair
  • §f = Blanc
  • §d = Rose
  • §c = Rouge clair
  • §e = Jaune
  • §b = bleu ciel
  • §l = Gras
  • §o = Italique
  • §n = Souligné

2] Inséré et comprendre le code.

Tout d'abord on va aller à la ligne 1067 de Minecraft.java si vous ne trouvez pas cherchez avec CTRL + F ceci this.debug = debugFPSvous devrai tombé directement dessus.

maintenant on va mettre just en dessus de cette ligne qui est

            this.debug = debugFPS + " fps, " + WorldRenderer.chunksUpdated + " chunk updates";

on va mettre

            if(debugFPS > 70) //ici on dit que si les FPS sont au dessus de 70 alors il effectue le code ci-dessous.
            {
            	this.debug = /* ici on lui met une couleur vert foncé */"§2" + debugFPS + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates";
            }

maintenant on va mettre un else if() pour dire que si il est = a plus de tant de fps il effectue le code (je vous montre avec 50 et 70 :

else if(debugFPS > 50 && debugFPS < 71) // ici on met si les fps sont plus grands que 50 mais plus petit que 71 alors il effectue le code
            {
            	this.debug =/* ici on lui met une couleur vert clair */ "§a" + debugFPS + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates";
            }

voilà il suffis de recopier le code et de changer quelque truc je vous donne un exemple de code :

            if(debugFPS > 70) //ici on dit que si les FPS sont au dessus de 70 alors il effectue le code ci-dessous.
            {
            	this.debug = /* ici on lui met une couleur vert foncé */ "§2" + debugFPS + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates";
            }
            else if(debugFPS > 50 && debugFPS < 71) // ici on met si les fps sont plus grands que 50 mais plus petit que 71 alors il effectue le code
            {
             this.debug =/* ici on lui met une couleur vert clair */ "§a" + debugFPS + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates";
            }
            else if(debugFPS > 30 && debugFPS < 51)
            {
            	this.debug = /* ici on lui met une couleur doré */ "§6" + debugFPS + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates";
            }
            else if(debugFPS > 10 && debugFPS < 31)
            {
            	this.debug = /* ici on lui met une couleur rouge clair */ "§c" + debugFPS + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates";
            }
            else if(debugFPS < 11)
            {
            	this.debug = /* ici on lui met une couleur rouge foncé*/ "§4" + debugFPS + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates";
            }

voilà maintenant vous avez vos fps en couleur amusez vous bien :)

Chaos90

1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour cette astuce. :)

De manière un peu plus facilement modifiable, on aurait aussi pu écrire :

String colorCode;

if(debugFPS < 11)
{
    colorCode = "§4"; // Rouge foncé
}
else if(debugFPS < 31)
{
    colorCode = "§c"; // rouge clair
}
else if(debugFPS < 51)
{
    colorCode = "§6"; // doré
}
else if(debugFPS < 71)
{
    colorCode = "§a"; // vert clair
}
else
{
 colorCode = "§2"; // vert foncé
}

this.debug = colorCode + debugFPS + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates";

;)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui mais après il suffis que on le place mal et ça déconne alors que là c'est une manière basique est les manière basique sont toujours les plus performante ;)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne vois pas ce que tu veux dire, mais si jamais tu dois modifier, par exemple tu veux mettre "FPS" à la place de "fps", il te faudra le changer dans chaque condition. C'est juste ça, sinon, niveau optimisation, je crois que c'est équivalent. :)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a encore plus propre:

private static int[] levels  = {11, 31, 51, 71};
private static String[] colors = {"§4", "§c", "§6", "§a", "§2"};

//...

for (int i = 0; i < levels.length; ++i)
{
    if (debugFps < levels[i])
        break;
}
this.debug = colors[i] + debugFps + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates"; 

les forêts de if c'est mal

3

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a encore plus propre:

private static int[] levels  = {11, 31, 51, 71};
private static char[] colors = {"§4", "§c", "§6", "§a", "§2"};

//...

for (int i = 0; i < levels.length; ++i)
{
    if (debugFps < levels[i])
        break;
}
this.debug = colors[i] + debugFps + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates"; 

les forêts de if c'est mal

C'est vrai que ton code est plus simple visuellement et niveaux code. :D

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Je me demandais aussi pourquoi il me changer le code ^^.

Mais j'ai une erreur sur le:

colors

Le i est souligner.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Il suffit juste de déclarer i avant de rentrer dans la boucle

private static int[] levels  = {11, 31, 51, 71};
private static String[] colors = {"§4", "§c", "§6", "§a", "§2"};

//...

int i = 0;

for (i = 0; i < levels.length; ++i)
{
    if (debugFps < levels[i])
        break;
}
this.debug = colors[i] + debugFps + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates"; 
0

Partager ce message


Lien à poster
Partager sur d’autres sites

Il suffit juste de déclarer i avant de rentrer dans la boucle

private static int[] levels  = {11, 31, 51, 71};
private static String[] colors = {"§4", "§c", "§6", "§a", "§2"};

//...

int i = 0;

for (i = 0; i < levels.length; ++i)
{
    if (debugFps < levels[i])
        break;
}
this.debug = colors[i] + debugFps + " fps§r, " + WorldRenderer.chunksUpdated + " chunk updates"; 

Merci, je pensé l'avoir mit mais non, encore merci.

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant