MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Packets 1.7.10

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.7.10
    2 Messages 1 Publieurs 267 Vues 1 Watching
    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.
    • F Hors-ligne
      FullLager
      dernière édition par

      Bonjour, je travail actuellement sur un GUI de métiers. Afin que les stats soient envoyées au client/GUI, je souhaite utiliser les packets. En effectuant des tests, j’ai mis l’envoi d’un message sur un event mais je n’arrive pas à savoir si le serveur l’a bien reçu.

      Voici le code qui envoi le packet :

      package fr.fulllager.elonia.events;
      
      import cpw.mods.fml.common.eventhandler.SubscribeEvent;
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import fr.fulllager.elonia.EloniaChannel;
      import fr.fulllager.elonia.Main;
      import fr.fulllager.elonia.achievements.AchievementHandler;
      import fr.fulllager.elonia.guis.WarpGui;
      import fr.fulllager.elonia.init.BlockMod;
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.network.NetHandlerPlayClient;
      import net.minecraft.init.Blocks;
      import net.minecraftforge.event.world.BlockEvent.BreakEvent;
      
      public class AchievementsBreakListener {
      	
      	/*@SubscribeEvent
      	public void onBreak(BreakEvent e) {
      		if(e.block == BlockMod.rubis_ore) {
      			e.getPlayer().addStat(AchievementHandler.rubis_ore, 1);
      		}
      		if(e.block == BlockMod.sapphir_ore) {
      			e.getPlayer().addStat(AchievementHandler.sapphir_ore, 1);
      		}
      		if(e.block == BlockMod.fluorine_ore) {
      			e.getPlayer().addStat(AchievementHandler.fluorine_ore, 1);
      		}
      	}*/
      	
      	@SubscribeEvent
      	@SideOnly(Side.CLIENT)
      	public void onCasse(BreakEvent e) {
      		if(e.block == BlockMod.prismarine_block) {
      			Main.network.sendToServer(new EloniaChannel("EloniaChannel"));
      		}
      	}
      }
      
      

      La classe du channel :

      package fr.fulllager.elonia;
      
      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 io.netty.buffer.ByteBuf;
      
      public class EloniaChannel implements IMessage {
       
          private String text;
       
          public EloniaChannel() { }
       
          public EloniaChannel(String text) {
              this.text = text;
          }
       
          @Override
          public void fromBytes(ByteBuf buf) {
              text = ByteBufUtils.readUTF8String(buf);
          }
       
          @Override
          public void toBytes(ByteBuf buf) {
              ByteBufUtils.writeUTF8String(buf, text);
          }
       
          public static class Handler implements IMessageHandler <EloniaChannel, IMessage> {
       
              @Override
              public IMessage onMessage(EloniaChannel message, MessageContext ctx) {
                  System.out.println(String.format("Received %s from %s", message.text, ctx.getServerHandler().playerEntity.getDisplayName()));
                  return null;
              }
          }
      }
      

      Je ne comprend pas pourquoi aucun message n’est affiché dans la console du serveur. Merci de votre aide.

      F 1 réponse Dernière réponse Répondre Citer 0
      • F Hors-ligne
        FullLager @FullLager
        dernière édition par

        Désolé, Up.

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

        MINECRAFT FORGE FRANCE © 2024

        Powered by NodeBB