-
@SideOnly(Side.CLIENT) protected void actionPerformed(GuiButton button) { switch(button.id) { case 0: if(p.inventory.hasItem(ItemMod.burger)) { p.inventory.consumeInventoryItem(ItemMod.burger); p.inventory.addItemStackToInventory(new ItemStack(ItemMod.meth)); } break; } }j’ai testé sans le side only toujours le même effet.
-
Ah oui si tu fais ça dans un gui c’est normal d’avoir ce souci, il faut passer un paquet pour que le code soit exécuté sur le serveur.
-
@robin4002 C’est bon mais je l’envoi comment le packet ? network.sendtoAll ou network.sendto ?
-
sendToServer
C’est la seule fonction pour le sens client vers serveur.
Les autres c’est pour aller du serveur vers le client ou du serveur vers plusieurs clients. -
@robin4002 Et dans mon PacketHandler j’ai mis ça
@Override public IMessage onMessage(Packet1 message, MessageContext ctx) { EntityPlayer p = Minecraft.getMinecraft().thePlayer; p.inventory.consumeInventoryItem(ItemMod.burger); p.inventory.addItemStackToInventory(new ItemStack(ItemMod.meth)); return null; }ça ne fais rien quand je click sur mon bouton
-
Tu ne peux pas utiliser
Minecraft.getMinecraft().thePlayerdans l’handler d’un paquet qui arrive sur le serveur.Minecraft.getMinecraft()= client seulement.Il faut utiliser ctx.getServerHandler().getPlayer() pour avoir le joueur ayant envoyé le paquet côté serveur.
-
-
getPlayerMP ? ou autre ? Regardes ce que ton ide propose.
-
@robin4002 j’ai juste add cast to receiver mais ça change rien
-
Non mais si tu mets
ctx.getServerHandler().getPlayer()au milieu de nulle part c’est normal que ça fait une erreur.C’est juste la fonction pour récupérer le joueur ça, il faut ensuite l’utiliser, soit en appelant directement une fonction ensuite soit en l’assignant à une variable …
-
Ce message a été supprimé ! -
@robin4002 C’est bon enfaite j’avais juste mis que mon network était côté client à la place de serveur. Merci Beacoup
