Système de rang
-
l’instance est surement null.
Envoies la classe RankSave.Et utilises la base code pour les logs plutôt que la balise java. Pas besoin des couleurs java sur des logs ^^
-
Ok désolé x)
RankSave:
public class RankSave extends WorldSavedData { public static RankSave instance; /** /* Ce constructeur est obligatoire */ public static RankSave load(World w) { MapStorage storage = w.perWorldStorage; //On récupère la mapStorage de la dimension final String KEY = ServerProxy.SAVE_KEY; // Si vous avez choisis de faire une fonction static String. Quoiqu'il en soit, la variable KEY que nous utiliserons ici représente votre clé. Si vous utilisez un attribut static, utilisez le directement. RankSave result = (RankSave)storage.loadData(RankSave.class, KEY);//On charge nos données if (result == null) { //Si nos données n'existe pas, … result = new RankSave(KEY);// Alors on les crée ... storage.setData(KEY, result);// Et on les ajoutes à la mapStorage. } return result; //On retourne notre objet qui représente les données a sauvegarder } public RankSave(String key) { super(key); } @Override public void readFromNBT(NBTTagCompound compound) { NBTTagList rankList= (NBTTagList)compound.getTag("rankList"); for(int i = 0; i < rankList.tagCount(); i++) { NBTTagCompound rankTag = rankList.getCompoundTagAt(i); ServerProxy.RANK.put(UUID.fromString(rankTag.getString("uuid")), EnumRank.valueOf(rankTag.getString("rank"))); } } @Override public void writeToNBT(NBTTagCompound compound) { NBTTagList rankList = new NBTTagList(); Iterator<entry<uuid, enumrank="">> iterator = ServerProxy.RANK.entrySet().iterator(); while(iterator.hasNext()) { NBTTagCompound rankTag = new NBTTagCompound(); Entry <uuid, enumrank="">entry = iterator.next(); rankTag.setString("uuid", entry.getKey().toString()); rankTag.setString("rank", entry.getValue().name()); rankList.appendTag(rankTag); } compound.setTag("rankList", rankList); } } ```</uuid,></entry<uuid,> -
Tu ne définis nulle part à quoi est égal instance, dans le constructeur, rajoute “instance = this;” après le “super(KEY);”
-
Toujours un crash:
[18:20:56] [main/INFO] [GradleStart]: username: floriangabet [18:20:56] [main/INFO] [GradleStart]: Extra: [] [18:20:56] [main/INFO] [GradleStart]: Running with arguments: [–userProperties, {}, --assetsDir, C:/Users/Admin/.gradle/caches/minecraft/assets, --assetIndex, 1.7.10, --accessToken, {REDACTED}, --version, 1.7.10, --username, floriangabet, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker] [18:20:56] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [18:20:56] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [18:20:56] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker [18:20:56] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [18:20:56] [main/INFO] [FML]: Forge Mod Loader version 7.10.85.1291 for Minecraft 1.7.10 loading [18:20:56] [main/INFO] [FML]: Java is Java HotSpot(TM) Client VM, version 1.8.0_45, running on Windows 7:x86:6.1, installed at C:\Program Files (x86)\Java\jdk1.8.0_45\jre [18:20:56] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [18:20:56] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker [18:20:56] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin [18:20:56] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin [18:20:56] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [18:20:56] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [18:20:56] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [18:20:56] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [18:20:56] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [18:20:56] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [18:20:57] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work! [18:20:57] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing [18:20:57] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [18:20:57] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker [18:20:57] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [18:20:57] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker [18:20:57] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker [18:20:57] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [18:20:58] [main/INFO]: Setting user: floriangabet [18:20:58] [Client thread/INFO]: LWJGL Version: 2.9.1 [18:20:58] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [18:20:58] [Client thread/INFO] [FML]: MinecraftForge v10.13.2.1291 Initialized [18:20:58] [Client thread/INFO] [FML]: Replaced 183 ore recipies [18:20:58] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [18:20:59] [Client thread/INFO] [FML]: Searching C:\Users\Admin\Documents\Modding\LegacyMod\eclipse\mods for mods [18:20:59] [Client thread/INFO] [lc]: Mod lc is missing the required element 'name'. Substituting lc [18:21:00] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load [18:21:00] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, lc] at CLIENT [18:21:00] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, lc] at SERVER [18:21:00] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:lc, [1.10] Firewolf v1.36.zip [18:21:00] [Client thread/INFO] [FML]: Processing ObjectHolder annotations [18:21:00] [Client thread/INFO] [FML]: Found 341 ObjectHolder annotations [18:21:00] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0 [18:21:00] [Client thread/INFO] [FML]: Applying holder lookups [18:21:00] [Client thread/INFO] [FML]: Holder lookups applied [18:21:00] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [18:21:00] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem… [18:21:00] [Thread-6/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL [18:21:00] [Thread-6/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [18:21:00] [Thread-6/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized. [18:21:01] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [18:21:01] [Sound Library Loader/INFO]: Sound engine started [18:21:03] [Client thread/INFO]: Created: 2048x2048 textures/blocks-atlas [18:21:03] [Client thread/INFO]: Created: 256x256 textures/items-atlas [18:21:03] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods [18:21:03] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:lc, [1.10] Firewolf v1.36.zip [18:21:05] [Client thread/INFO]: Created: 2048x2048 textures/blocks-atlas [18:21:05] [Client thread/INFO]: Created: 256x256 textures/items-atlas [18:21:05] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [18:21:05] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: SoundSystem shutting down… [18:21:06] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:importantMessage:90]: Author: Paul Lamb, www.paulscode.com [18:21:06] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [18:21:06] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [18:21:06] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem… [18:21:06] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL [18:21:06] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [18:21:06] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized. [18:21:06] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [18:21:06] [Sound Library Loader/INFO]: Sound engine started [18:21:08] [Server thread/INFO]: Starting integrated minecraft server version 1.7.10 [18:21:08] [Server thread/INFO]: Generating keypair [18:21:08] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance [18:21:08] [Server thread/INFO] [FML]: Applying holder lookups [18:21:08] [Server thread/INFO] [FML]: Holder lookups applied [18:21:08] [Server thread/INFO] [FML]: Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@1607a23) [18:21:08] [Server thread/INFO] [FML]: Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@1607a23) [18:21:08] [Server thread/INFO] [FML]: Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@1607a23) [18:21:08] [Server thread/INFO]: Preparing start region for level 0 [18:21:09] [Server thread/INFO]: Changing view distance to 8, from 10 [18:21:09] [Netty Client IO #0/INFO] [FML]: Server protocol version 1 [18:21:09] [Netty IO #1/INFO] [FML]: Client protocol version 1 [18:21:09] [Netty IO #1/INFO] [FML]: Client attempting to join with 4 mods : FML@7.10.85.1291,lc@1.0,Forge@10.13.2.1291,mcp@9.05 [18:21:09] [Netty IO #1/INFO] [FML]: Attempting connection with missing mods [] at CLIENT [18:21:09] [Netty Client IO #0/INFO] [FML]: Attempting connection with missing mods [] at SERVER [18:21:09] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established [18:21:09] [Server thread/INFO]: floriangabet[local:E:970dfcd9] logged in with entity id 354 at (-137.33618212258224, 76.0, 264.7910948755564) [18:21:09] [Server thread/INFO]: floriangabet joined the game [18:21:09] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established [18:21:13] [Server thread/INFO]: Saving and pausing game… [18:21:13] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld [18:21:13] [Server thread/INFO]: Saving chunks for level 'New World'/Nether [18:21:13] [Server thread/INFO]: Saving chunks for level 'New World'/The End [18:21:13] [Client thread/INFO]: [CHAT] §7Vous avez choisi la classe §4Guerrier! [18:21:13] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.lang.NullPointerException at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:47) ~[PacketGuerrier$Handler.class:?] at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:1) ~[PacketGuerrier$Handler.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] [18:21:13] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.lang.NullPointerException at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:47) ~[PacketGuerrier$Handler.class:?] at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:1) ~[PacketGuerrier$Handler.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] [18:21:13] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel lc: java.lang.NullPointerException at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:47) ~[PacketGuerrier$Handler.class:?] at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:1) ~[PacketGuerrier$Handler.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] [18:21:14] [Server thread/INFO]: Stopping server [18:21:14] [Server thread/INFO]: Saving players [18:21:14] [Server thread/INFO]: Saving worlds [18:21:14] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld [18:21:14] [Server thread/INFO]: Saving chunks for level 'New World'/Nether [18:21:14] [Server thread/INFO]: Saving chunks for level 'New World'/The End [18:21:14] [Server thread/INFO] [FML]: Unloading dimension 0 [18:21:14] [Server thread/INFO] [FML]: Unloading dimension -1 [18:21:14] [Server thread/INFO] [FML]: Unloading dimension 1 [18:21:14] [Server thread/INFO] [FML]: Applying holder lookups [18:21:14] [Server thread/INFO] [FML]: Holder lookups applied -
As-tu bien appelé la fonction RankSave.load(le monde) quand tu lances une map sur le serveur ou reçoit le premier packet ? Si tu ne l’as pas fait, fait un null check sur RankSave.instance au début de onMessage puis, si c’est null, appelle la fonction load.
-
Nan je les pas fais je dois le faire ou exactement ? dans un event ?
-
Alors c’est bon plus de crash mais comme avant sa ne save pas quand je relance mon jeu…
edit:
j’ai fais ça:if(RankSave.instance == null) {
RankSave.load(ctx.getServerHandler().playerEntity.worldObj);
-
S’il vous plait ??
-
Où as-tu mis ton null check de RankSave.instance ?
-
Bah c’est pas ça -> RankSave.instance == null ?
-
Oui, mais tu l’as mis dans quelle fonction ?
-
Dans onMessage tien je te passe la fonction :
@Override public IMessage onMessage(PacketGuerrier message, MessageContext ctx) { if(ServerProxy.RANK.get(ctx.getServerHandler().playerEntity.getUniqueID()) == null && RankSave.instance == null) { RankSave.load(ctx.getServerHandler().playerEntity.worldObj); ServerProxy.RANK.put(ctx.getServerHandler().playerEntity.getUniqueID(), EnumRank.valueOf(message.name)); RankSave.instance.markDirty(); } return null; } } -
Le problème est là
if(ServerProxy.RANK.get(ctx.getServerHandler().playerEntity.getUniqueID()) == null && RankSave.instance == null)Devient :
if(ServerProxy.RANK.get(ctx.getServerHandler().playerEntity.getUniqueID()) == null) -
Oui mais du coup le RankSave.instance je met ou ?
-
Bah, tu save, ça suffit, c’est dans le constructeur de RankSave il faut qu’il y est ça
public RankSave(String key) { //Code …. RankSave.instance = this; } -
Ahhhhhhhhhhhhhh j’avais pas compris ^^
j’ai fais ça:
Packet:
@Override public IMessage onMessage(PacketGuerrier message, MessageContext ctx) { if(ServerProxy.RANK.get(ctx.getServerHandler().playerEntity.getUniqueID()) == null) { ServerProxy.RANK.put(ctx.getServerHandler().playerEntity.getUniqueID(), EnumRank.valueOf(message.name)); RankSave.instance.markDirty(); } return null; } }RankSave:
public RankSave(String key) { super(key); if(RankSave.instance == null){ RankSave.load(Minecraft.getMinecraft().thePlayer.worldObj); } instance = this; }J’ai un crash:
[22:53:20] [main/INFO] [GradleStart]: username: floriangabet [22:53:20] [main/INFO] [GradleStart]: Extra: [] [22:53:20] [main/INFO] [GradleStart]: Running with arguments: [–userProperties, {}, --assetsDir, C:/Users/Admin/.gradle/caches/minecraft/assets, --assetIndex, 1.7.10, --accessToken, {REDACTED}, --version, 1.7.10, --username, floriangabet, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker] [22:53:20] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [22:53:20] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [22:53:20] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker [22:53:20] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [22:53:20] [main/INFO] [FML]: Forge Mod Loader version 7.10.85.1291 for Minecraft 1.7.10 loading [22:53:20] [main/INFO] [FML]: Java is Java HotSpot(TM) Client VM, version 1.8.0_45, running on Windows 7:x86:6.1, installed at C:\Program Files (x86)\Java\jdk1.8.0_45\jre [22:53:20] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [22:53:20] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker [22:53:20] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin [22:53:20] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin [22:53:20] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [22:53:20] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [22:53:20] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [22:53:20] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [22:53:20] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [22:53:20] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [22:53:20] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work! [22:53:21] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing [22:53:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [22:53:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker [22:53:21] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [22:53:21] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker [22:53:21] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker [22:53:21] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [22:53:21] [main/INFO]: Setting user: floriangabet [22:53:22] [Client thread/INFO]: LWJGL Version: 2.9.1 [22:53:22] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [22:53:22] [Client thread/INFO] [FML]: MinecraftForge v10.13.2.1291 Initialized [22:53:22] [Client thread/INFO] [FML]: Replaced 183 ore recipies [22:53:22] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [22:53:22] [Client thread/INFO] [FML]: Searching C:\Users\Admin\Documents\Modding\LegacyMod\eclipse\mods for mods [22:53:22] [Client thread/INFO] [lc]: Mod lc is missing the required element 'name'. Substituting lc [22:53:24] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load [22:53:24] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, lc] at CLIENT [22:53:24] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, lc] at SERVER [22:53:24] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:lc, [1.10] Firewolf v1.36.zip [22:53:24] [Client thread/INFO] [FML]: Processing ObjectHolder annotations [22:53:24] [Client thread/INFO] [FML]: Found 341 ObjectHolder annotations [22:53:24] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0 [22:53:24] [Client thread/INFO] [FML]: Applying holder lookups [22:53:24] [Client thread/INFO] [FML]: Holder lookups applied [22:53:24] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [22:53:24] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem… [22:53:24] [Thread-5/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL [22:53:24] [Thread-5/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [22:53:24] [Thread-5/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized. [22:53:25] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [22:53:25] [Sound Library Loader/INFO]: Sound engine started [22:53:27] [Client thread/INFO]: Created: 2048x2048 textures/blocks-atlas [22:53:27] [Client thread/INFO]: Created: 256x256 textures/items-atlas [22:53:27] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods [22:53:27] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:lc, [1.10] Firewolf v1.36.zip [22:53:29] [Client thread/INFO]: Created: 2048x2048 textures/blocks-atlas [22:53:29] [Client thread/INFO]: Created: 256x256 textures/items-atlas [22:53:29] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [22:53:29] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: SoundSystem shutting down… [22:53:30] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:importantMessage:90]: Author: Paul Lamb, www.paulscode.com [22:53:30] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [22:53:30] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [22:53:30] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem… [22:53:30] [Thread-7/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL [22:53:30] [Thread-7/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [22:53:30] [Thread-7/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized. [22:53:30] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: [22:53:30] [Sound Library Loader/INFO]: Sound engine started [22:53:32] [Server thread/INFO]: Starting integrated minecraft server version 1.7.10 [22:53:32] [Server thread/INFO]: Generating keypair [22:53:33] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance [22:53:33] [Server thread/INFO] [FML]: Applying holder lookups [22:53:33] [Server thread/INFO] [FML]: Holder lookups applied [22:53:33] [Server thread/INFO] [FML]: Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@76dcd5) [22:53:33] [Server thread/INFO] [FML]: Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@76dcd5) [22:53:33] [Server thread/INFO] [FML]: Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@76dcd5) [22:53:33] [Server thread/INFO]: Preparing start region for level 0 [22:53:33] [Server thread/INFO]: Changing view distance to 8, from 10 [22:53:34] [Netty Client IO #0/INFO] [FML]: Server protocol version 1 [22:53:34] [Netty IO #1/INFO] [FML]: Client protocol version 1 [22:53:34] [Netty IO #1/INFO] [FML]: Client attempting to join with 4 mods : FML@7.10.85.1291,lc@1.0,Forge@10.13.2.1291,mcp@9.05 [22:53:34] [Netty IO #1/INFO] [FML]: Attempting connection with missing mods [] at CLIENT [22:53:34] [Netty Client IO #0/INFO] [FML]: Attempting connection with missing mods [] at SERVER [22:53:34] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established [22:53:34] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established [22:53:34] [Server thread/INFO]: floriangabet[local:E:48b9f1b7] logged in with entity id 353 at (40.647229051082405, 84.64611023521208, 36.618371109698195) [22:53:34] [Server thread/INFO]: floriangabet joined the game [22:53:35] [Server thread/INFO]: Saving and pausing game… [22:53:35] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld [22:53:35] [Server thread/INFO]: Saving chunks for level 'New World'/Nether [22:53:35] [Server thread/INFO]: Saving chunks for level 'New World'/The End [22:53:36] [Client thread/INFO]: [CHAT] §7Vous avez choisi la classe §4Guerrier! [22:53:36] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.lang.NullPointerException at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:47) ~[PacketGuerrier$Handler.class:?] at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:1) ~[PacketGuerrier$Handler.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] [22:53:36] [Server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception java.lang.NullPointerException at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:47) ~[PacketGuerrier$Handler.class:?] at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:1) ~[PacketGuerrier$Handler.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) [MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) [MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] [22:53:36] [Server thread/ERROR] [FML]: There was a critical exception handling a packet on channel lc: java.lang.NullPointerException at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:47) ~[PacketGuerrier$Handler.class:?] at net.legacymod.packets.PacketGuerrier$Handler.onMessage(PacketGuerrier.java:1) ~[PacketGuerrier$Handler.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37) ~[SimpleChannelHandlerWrapper.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17) ~[SimpleChannelHandlerWrapper.class:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] [22:53:36] [Server thread/INFO]: Stopping server [22:53:36] [Server thread/INFO]: Saving players [22:53:36] [Server thread/INFO]: Saving worlds [22:53:36] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld [22:53:36] [Server thread/INFO]: Saving chunks for level 'New World'/Nether [22:53:36] [Server thread/INFO]: Saving chunks for level 'New World'/The End [22:53:36] [Server thread/INFO] [FML]: Unloading dimension 0 [22:53:36] [Server thread/INFO] [FML]: Unloading dimension -1 [22:53:36] [Server thread/INFO] [FML]: Unloading dimension 1 [22:53:36] [Server thread/INFO] [FML]: Applying holder lookups [22:53:36] [Server thread/INFO] [FML]: Holder lookups applied -
il faut que tu mette le RankSave.load dans l’event FMLServerStartingEvent avec comme argument event.worldObj
-
event.worldObj existe pas dans FMLServerStartingEvent
-
Alors event.world ou event.getWorld() certainement.
Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk
-
Oui faut chercher, je vais pas systématiquement voir les paramètres des évents, surtout que t’es en 1.7 donc faut que j’aille ouvrir mon setup 1.7