Packet ExtendedProperties - Crash
-
Déjà tu as une erreur dans le loadNBTData : il faut vérifier que le joueur a bien le tagCompound
-
Minecraft.getMinecraft().thePlayer est null.
-
@‘robin4002’:
Minecraft.getMinecraft().thePlayer est null.
Ahhh mais comment faire pour qu’il ne le soit pas ?
-
Faut être côté client le plus souvent
-
@‘BrokenSwing’:
Faut être côté client le plus souvent
Je suis pas côté client la ?
- public static class ClientHandler implements IMessageHandler<PacketMoney, IMessage>
- {
- @Override
- @SideOnly(Side.CLIENT)
- public IMessage onMessage(PacketMoney message, MessageContext ctx)
- {
- CSCExtendedProp props = CSCExtendedProp.get(Minecraft.getMinecraft().thePlayer);// ligne 63
- props.maxMoney = message.maxMoney;
- props.money = message.Money;
- return message;
- }
- }
-
Il est bien côté client sinon le jeu crasherai car il utilise une classe client
-
Je peux faire comment du coup ?
-
Tu envoies un paquet trop tôt, le joueur n’est pas encore initialisé quand il reçoit le paquet.
Essaies de traiter le paquet comme ça :IThreadListener thread = FMLCommonHandler.instance().getWorldThread(ctx.netHandler); thread.addScheduledTask(new Runnable() { @Override public void run() { // ton action } }); -
Tu utilises quel event pour envoyer le paquet lorsque le joueur se connecte ?
-
@‘robin4002’:
Tu envoies un paquet trop tôt, le joueur n’est pas encore initialisé quand il reçoit le paquet.
Essaies de traiter le paquet comme ça :IThreadListener thread = FMLCommonHandler.instance().getWorldThread(ctx.netHandler); thread.addScheduledTask(new Runnable() { @Override public void run() { // ton action } });Oauip c’est bon merci
