• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Affichage message centre d'écran

    Sans suite
    1.7.10
    3
    3
    915
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • B
      Bxlow dernière édition par

      Bonsoir j’ai fais un mod pour afficher des text au centre de l’écran tous fonctionne correctement en solo mais sur mon serveur ça n’a pas l’air de marcher j’ai l’impression que les variables ne prennent pas de valeur sur le serveur voici mes class:

      
      public class CylrpMessageShow {
      
          static String msgPlaying = "";
          static int msgPlayingUpFor = 0;
      
          public static void renderMsg(String message)
          {
            msgPlaying = message;
            msgPlaying = msgPlaying.replaceAll("&", "\u00a7");
            msgPlayingUpFor = 1000;
            System.out.print(msgPlayingUpFor + " " + msgPlaying);
          }
      
          @SubscribeEvent
          @SideOnly(Side.CLIENT)
          public void onGuiIngameRender(RenderGameOverlayEvent.Post event)
          {
              if (msgPlayingUpFor > 0)
              {
                  msgPlayingUpFor–;
                  String str;
                  int x;
                  int y;
      
                  str = "\u00a76[\u00a7eCYLRP\u00a76] " + msgPlaying;
                  x = 220;
                  y = 15;
                  Minecraft.getMinecraft().fontRenderer.drawStringWithShadow(str, x - Minecraft.getMinecraft().fontRenderer.getStringWidth(str) / 2, y, Integer.MAX_VALUE);
      
              }
          }
      
          public static class CylrpCommand implements ICommand{
      
              private final List aliases;
      
              CylrpMessageShow instance = new CylrpMessageShow();
      
              public CylrpCommand() {
                  aliases = new ArrayList();
                  aliases.add("cm");
              }
      
              @Override
              public int compareTo(Object arg0) {
                  // TODO Auto-generated method stub
                  return 0;
              }
      
              @Override
              public String getCommandName() {
                  // TODO Auto-generated method stub
                  return "cylrpm";
              }
      
              @Override
              public String getCommandUsage(ICommandSender var1) {
                  // TODO Auto-generated method stub
                  return "cylrpm <text>";
              }
      
              @Override
              public List getCommandAliases() {
                  // TODO Auto-generated method stub
                  return this.aliases;
              }
      
              @Override
              public void processCommand(ICommandSender sender, String[] args) {
                  World world = sender.getEntityWorld();
                  if(!world.isRemote) {
                      if(args.length > 0) {
                          StringBuilder builder = new StringBuilder();
                          for (int i = 0; i < args.length; i++) {
                              builder.append(args*).append(" ");
                          }
                          msgPlaying = builder.toString();
                          JobGui.network.sendToAll(new CylrpPacketHandler("message"));
                      }
                      else
                      {
                          sender.addChatMessage(new ChatComponentText("\u00a7cTu dois entrer un message"));
                          return;
                      }
                  }
              }
      
              @Override
              public boolean canCommandSenderUseCommand(ICommandSender p_71519_1_) {
                  return true;
              }
      
              @Override
              public List addTabCompletionOptions(ICommandSender p_71516_1_, String[] p_71516_2_) {
                  return null;
              }
      
              @Override
              public boolean isUsernameIndex(String[] p_82358_1_, int p_82358_2_) {
                  return false;
              }
      
          }
      
      }
      
      
      
      package fr.ineoxz.craftyourliferp.init;
      
      import io.netty.buffer.ByteBuf;
      import net.minecraft.client.Minecraft;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.entity.player.EntityPlayerMP;
      import net.minecraft.world.World;
      import cpw.mods.fml.common.network.ByteBufUtils;
      import cpw.mods.fml.common.network.simpleimpl.IMessage;
      import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
      import cpw.mods.fml.common.network.simpleimpl.MessageContext;
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import fr.ineoxz.craftyourliferp.gui.JobGui;
      
      public class CylrpPacketHandler implements IMessage {
      
          private String text;
      
          public CylrpPacketHandler() { }
      
          public CylrpPacketHandler(String text) {
              this.text = text;
          }
      
          @Override
          public void fromBytes(ByteBuf buf) {
              text = ByteBufUtils.readUTF8String(buf); // this class is very useful in general for writing more complex objects
          }
      
          @Override
          public void toBytes(ByteBuf buf) {
              ByteBufUtils.writeUTF8String(buf, text);
          }
      
          public static class Handler implements IMessageHandler <cylrppackethandler, imessage="">{
      
              @Override
              @SideOnly(Side.CLIENT)
              public IMessage onMessage(CylrpPacketHandler message, MessageContext ctx) {
      
                  if(message.text.equals("p")) Minecraft.getMinecraft().displayGuiScreen(new ConnectionGui());
                  if(message.text.equals("message")) {
                      CylrpMessageShow.renderMsg(CylrpMessageShow.msgPlaying);
                  }
                  return null;
                  }
      
      ```</cylrppackethandler,></text>
      1 réponse Dernière réponse Répondre Citer 0
      • SpyMan
        SpyMan dernière édition par

        rajoute cette condition et met pas ton event en post

        if (event.type == RenderGameOverlayEvent.ElementType.CHAT)

        1 réponse Dernière réponse Répondre Citer 0
        • LeBossMax2
          LeBossMax2 dernière édition par

          Tu peux garder le post, ça ne pause pas de problème.
          Le problème viens du packet :

           CylrpMessageShow.renderMsg(CylrpMessageShow.msgPlaying);
          

          La tu ne change pas le message. Il faut untiliser le message du packet.
          (ça donne ça : CylrpMessageShow.renderMsg(message.text);)
          Et pour que se soit plus optimiser dans l’event, met bien la condition comme l’a dit SpyMan.

          1 réponse Dernière réponse Répondre Citer 0
          • 1 / 1
          • Premier message
            Dernier message
          Design by Woryk
          Contact / Mentions Légales

          MINECRAFT FORGE FRANCE © 2018

          Powered by NodeBB