Aller au contenu

chaos90

Membre
  • Compteur de contenus

    278
  • Inscription

  • Dernière visite

  • Days Won

    8

chaos90 last won the day on 28 juillet 2015

chaos90 had the most liked content!

Réputation sur la communauté

41 Réputation

2 abonnés

À propos de chaos90

  • Rang
    Pro
  • Date de naissance 11/12/98

Jeux

  • Minecraft
    Chaos90

Autres informations

  • Genre
    Male

Visiteurs récents du profil

1883 visualisations du profil
  1. [1.7.x] StatusEffectHUD

    je sais que tout le monde attendent à ce que quelqu'un fasse un tutoriel en VANILLA pour le StatusEffectHUD alors je l'ai fais et je vous le fais partager StatusEffectHUD en Vanilla -[iNTRODUCTION]- Bonjour à tous ! Dans ce tutoriel, nous allons faire un StatusEffectHUD commençons sans attendre -[sOMMAIRE]- 1]Création d'un "if" 2]Création d'un "for" 3]LesIcônes 4] Afficher les niveaux des effets 1]Création d'un "if" Tout d'abord on va aller dans le GuiIngame.java puis on va aller dans RenderGameOverlay mettre nos codes en dessus de ces 3 int : int var11; int var12; int var13; qui est en dessus de ce if : if (!this.mc.thePlayer.isPotionActive(Potion.confusion)) { float var10 = this.mc.thePlayer.prevTimeInPortal + (this.mc.thePlayer.timeInPortal - this.mc.thePlayer.prevTimeInPortal) * par1; if (var10 > 0.0F) { this.func_130015_b(var10, var6, var7); } } donc maintenant on va mettre notre if qui va dire que si il y a plus de 5 potion d'activer ça les empiles mais pour ça il faut déja mettre notre Collection pour les potions et aussi un int les voici : Collection ph1 = this.mc.thePlayer.getActivePotionEffects(); int ph2 = 33; j'ai mis ph pour PotionHUD maintenant le if c'est : if (ph1.size() > 5) //si les effect de potion activé est supérieur a 5 alors ... { ph2 = 132 / (ph1.size() - 1); ... il s'empile avec ces valeurs } 2]Création d'un "for" pour le "for" on va mettre tout ce qu'il faut pour que les effect de potion s'affiche avec le temps l'icone et le nom de la potion donc pour ça le "for" sera : for (Iterator ph3 = this.mc.thePlayer.getActivePotionEffects().iterator(); ph3.hasNext(); var2 += ph2) { donc ici on a crée un Iterator qui va donc nous permettre d'avencer sauf que normalement vous avez une erreur sur me var2 et nous allons ajouter en même un autre var qui nous servira plus bas donc plus haut avant le if il suffis de mettre ceci : int var2 = 0; int var1 = 0; donc maintenant dans notre for on va rajouter quelque variables pour qu'il aille chercher les effets de potions : PotionEffect ph4 = (PotionEffect)ph3.next(); Potion ph5 = Potion.potionTypes[ph4.getPotionID()]; // ici on va chercher le type de potion qui est actif GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); pour le text c'est avec le niveaux des potion donc c'est plus bas maintenant on a just le nom de la potion qui s'affiche maintenant on veut sa durée : this.mc.fontRenderer.drawStringWithShadow(Potion.getDurationString(ph4), var1 + 10 + 18, var2 + 6 + 10, 8355711); //ici on affiche la duré de l'effet en court ce qui nous donne pour le moment ceci : //début du code PotionEffectHUD int var1 = 0; int var2 = 0; int ph2 = 33; Collection ph1 = this.mc.thePlayer.getActivePotionEffects(); if (ph1.size() > 5) { ph2 = 132 / (ph1.size() - 1); } for (Iterator ph3 = this.mc.thePlayer.getActivePotionEffects().iterator(); ph3.hasNext(); var2 += ph2) { PotionEffect ph4 = (PotionEffect)ph3.next(); Potion ph5 = Potion.potionTypes[ph4.getPotionID()]; GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.fontRenderer.drawStringWithShadow(Potion.getDurationString(ph4), var1 + 10 + 18, var2 + 6 + 10, 8355711); } //fin code PotionEffectHUD 3] LesIcônes maintenant il faut afficher certaine chose comme le contour (ou pas si vous voulez pas il suffis de retirer le code que je vais vous donner) et les icônes donc pour les icônes on va déjà rajouter un bindTexture tout en haut du GuiIngame.java : protected static final ResourceLocation inventory = new ResourceLocation("textures/gui/container/inventory.png"); voilà et dans notre "for" on va rajouter en dessus de : GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); on va mettre : this.mc.getTextureManager().bindTexture(inventory); // ici on va chercher la texture maintenant on va chercher les icônes dans ce .png donc on ajouter un if : if (ph5.hasStatusIcon()) { int ph6 = ph5.getStatusIconIndex(); this.drawTexturedModalRect(var1 + 6, var2 + 7, 0 + ph6 % 8 * 18, 198 + ph6 / 8 * 18, 18, 18); //on va chercher l'icône et on le place ou il faut } si vous voulez le contour il suffis d'ajouter cette ligne au dessus du if des icônes : this.drawTexturedModalRect(var1, var2, 0, 166, 140, 32); // ici on affiche le contour si vous avez envis d'enlever le contour il suffis d'enlever cette ligne 4] Afficher les niveaux des effets donc pour afficher le niveaux des effets on va déja rajouter en dessus de notre deuxième if pour afficher les icônes un String qui va chercher le nom en fonction de leur ID : String ph7 = I18n.format(ph5.getName()/*ici il cherche le nom*/, new Object[0]); maintenant que on a ça on va pouvoir afficher le niveau pour cela rien de plus simple on fais des "if" et des "else if" donc on commence par le niveau 2 car le niveau 1 ne s'affiche pas donc on met : if (ph4.getAmplifier() == 1) // si la potion a un niveau de 1 qui est le niveau 2 car le niveau 1 c'est 0 alors .... { ph7 = ph7 + " II" ;// ... on affiche a coté du nom de la potion "II" } et maintenant on va faire ça pour 4 niveaux donc en dessus de ça on ajoute : else if (ph4.getAmplifier() == 2)// si la potion a un niveau de 2 qui est 3 alors ... { ph7 = ph7 + " III"; // on affiche a coté du nom de la potion "III" } else if (ph4.getAmplifier() == 3) // si la potion a un niveau de 3 qui est 4 alors ... { ph7 = ph7 + " IV"; // on affiche a coté du nom de la potion "IV" } maintenant que on a ça il faut le placer donc en dessous du if on ajoute : this.mc.fontRenderer.drawStringWithShadow(ph7, var1 + 10 + 18, var2 + 6, 16777215); //ici on place le nom de la potion ou il faut ce qui nous donne au finale tout ceci : //début du code PotionEffectHUD int var1 = 0; int var2 = 0; int ph2 = 33; Collection ph1 = this.mc.thePlayer.getActivePotionEffects(); if (ph1.size() > 5) { ph2 = 132 / (ph1.size() - 1); } for (Iterator ph3 = this.mc.thePlayer.getActivePotionEffects().iterator(); ph3.hasNext(); var2 += ph2) { PotionEffect ph4 = (PotionEffect)ph3.next(); Potion ph5 = Potion.potionTypes[ph4.getPotionID()]; GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(inventory); this.drawTexturedModalRect(var1, var2, 0, 166, 140, 32); if (ph5.hasStatusIcon()) { int ph6 = ph5.getStatusIconIndex(); this.drawTexturedModalRect(var1 + 6, var2 + 7, 0 + ph6 % 8 * 18, 198 + ph6 / 8 * 18, 18, 18); } String ph7 = I18n.format(ph5.getName(), new Object[0]); if (ph4.getAmplifier() == 1) { ph7 = ph7 + " II" ; } else if (ph4.getAmplifier() == 2) { ph7 = ph7 + " III"; } else if (ph4.getAmplifier() == 3) { ph7 = ph7 + " IV"; } this.mc.fontRenderer.drawStringWithShadow(ph7, var1 + 10 + 18, var2 + 6, 16777215); this.mc.fontRenderer.drawStringWithShadow(Potion.getDurationString(ph4), var1 + 10 + 18, var2 + 6 + 10, 8355711); } //fin code PotionEffectHUD voilà le tutoriel est terminé bon jeu avec votre StatusEffectHUD !
×