[SOLVED]Plugin /sethome

Bonjour, j’ai besoin de votre aide. Désolé, mais je suis Français et je parle pas Anglais.
Je suis débutant en Java.


C’est mon premier plugin de /sethome. Quand je tape la commande j’ai cette erreur:

[19:06:49] [Server thread/FATAL] [FML/]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.NullPointerException java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_65] at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_65] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:715) [FMLCommonHandler.class:?] at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:656) [MinecraftServer.class:?] at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:364) [po.class:?] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:598) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_65] Caused by: java.lang.NullPointerException at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:81) ~[cl.class:?] at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:812) ~[rj.class:?] at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:791) ~[rj.class:?] at net.minecraft.network.play.client.C01PacketChatMessage.func_180757_a(SourceFile:37) ~[lu.class:?] at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:9) ~[lu.class:?] at net.minecraft.network.PacketThreadUtil$1.onProcessPacket(SourceFile:59) ~[ih.class:?] at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[ih.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_65] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_65] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) ~[FMLCommonHandler.class:?] ... 5 more

J’ai pourtant aucune erreur dans Eclipse!!! Quelqu’un sait d’où ça vient ? Ces erreurs ne bloque pas le jeu, mais j’aime pas en avoir.
Mon code: http://pastebin.com/FZSNbTBf


Pour le sauvegarde de mes /home, j’aimerais faire quelque chose comme ça:

home { default { pseudo=SimonBHB x=-8 y=66 z=13 } home_2 { pseudo=SimonBHB x=-8 y=66 z=13 } }

Donc je me suis dit que je pourrais faire de cette manière:

homes.getNode("home", nameHome, "x").setValue(cX);

Mais ça écrase toujours les autres données, quelqu’un à la solution ?


Désolé encore, si vous ne me comprenez pas :frowning: .

Salut, quand tu fais ta commande /sethome tu vise une valeur null. Je ne connais pas le système node, mais tu devrais pas créer la node avant de faire cette fonction?
homes.getNode("home", nameHome, "name").setValue( nameHome );

Tu peux me montrer un exemple ? car je vois pas comment faire, j’ai du mal à gérer les fichiers^^.
J’aimerais gérer les homes dans le même fichiers, mais j’ai ces erreurs et ça écrase le contenu à chaque fois.

Essaye ce code

Je suis pas sur que ça corrige le problème, car par exemple j’ai un home “test”. Si je tape: “/home t” et que j’appuie sur la touche tab qui normalement complète la commande j’ai aussi l’erreur:

[19:06:49] [Server thread/FATAL] [FML/]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.NullPointerException java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_65] at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_65] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:715) [FMLCommonHandler.class:?] at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:656) [MinecraftServer.class:?] at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:364) [po.class:?] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:598) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_65] Caused by: java.lang.NullPointerException at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:81) ~[cl.class:?] at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:812) ~[rj.class:?] at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:791) ~[rj.class:?] at net.minecraft.network.play.client.C01PacketChatMessage.func_180757_a(SourceFile:37) ~[lu.class:?] at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:9) ~[lu.class:?] at net.minecraft.network.PacketThreadUtil$1.onProcessPacket(SourceFile:59) ~[ih.class:?] at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[ih.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_65] at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_65] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) ~[FMLCommonHandler.class:?] ... 5 more


Sinon pour mon problème de fichier, j’ai fait un dossier par joueur et un fichier par home. Donc ensuite j’ai juste à vérifier si le fichier existe et donc si le home existe…

Pourrais tu me montrer toute ta class? J’aimerais voir ta class pour vérifier comment tu fais tes commandes.

Je travail encore dessus donc c’est pas parfait: http://pastebin.com/7NKWtrYr

ps: le serveur crash quand je tape la commande dans la console, dans un autre code ça ne le fait pas

Tu veux dire quoi par dans un autre code?

Bref, ce que je veux dire c’est que mon plugin home/sethome fonctionne, je peux me tp depuis n’importe ou… On pourrait presque dire qu’il est terminé, mais j’ai les erreurs données plus haut à résoudre même si ça fonctionne.

Ce que je comprends pas c’est pourquoi le serveur crash quand je tape la commande home dans la console alors que la non(un bout de mon premier code):

@Override public CommandResult execute(CommandSource commandSource, CommandContext commandContext) throws CommandException { if(commandSource instanceof Player) { Player player = (Player) commandSource; } else if(commandSource instanceof ConsoleSource) { commandSource.sendMessage(Texts.of("Hello depuis la console!")); } else if(commandSource instanceof CommandBlockSource) { commandSource.sendMessage(Texts.of("Hello depuis une commande bloc!")); } return CommandResult.success(); }

Tu retourne null avec ton premier code, donc c’est normal qu’il crash. Mais maintenant avec ce code il devrais fonctionner.

Mais comment je corrige tout ces problèmes ?

Par exemple ça me donne ça quand je tape /home dans la console:

[CODE][00:39:05] [Server thread/INFO]: La commande doit etre tape par un joueur
[00:39:05] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.NullPointerException
at net.minecraft.command.ServerCommandManager.func_71556_a(SourceFile:81) ~[cl.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71333_ah(DedicatedServer.java:400) ~[po.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:365) ~[po.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:598) ~[MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_65]
[00:39:05] [Server thread/ERROR]: This crash report has been saved to: C:\Users\admin\Desktop\serveur_test.\crash-reports\crash-2015-11-24_00.39.05-server.txt
[00:40:05] [Server Watchdog/FATAL]: A single server tick took 60,00 seconds (should be max 0,05)
[00:40:05] [Server Watchdog/FATAL]: Considering it to be crashed, server will forcibly shutdown.
[00:40:05] [Server Watchdog/ERROR]: This crash report has been saved to: C:\Users\admin\Desktop\serveur_test.\crash-reports\crash-2015-11-24_00.40.05-server.txt

[/CODE]

Bref, je me répète, mais je ne comprends pas.

ton return null change le par return CommandResult.success()

Est-ce que ça la fonctionné?

Merci a toi pour ton aide précieuse.

Si sa marche correctement, écris dans le titre de la discussion [SOLVED]. Sa va avertir que ton problème est réglé.

Puis-je te créditité dans mon futur article pour ton aide précieuse?

Aucun problème, je vais t’aider.

Dernière chose, tu es français ? Je pensais pas avoir de l’aide aussi vite et en français

Je viens du québec.