Extended Entity Properties
-
Mdrr, + tu en rajoutes, + c’est flou…
Et que se passe-t-il quand le joueur meurt, se déco, que le serveur redémarre (on a donc la map qui se vide, hein ?), et que le joueur rejoint ? Il a bien tout perdu, non ? -
À mon avis, quand tu meurs, l’entité du joueur est toujours là avec les données enregistrées en NBT et elles restent jusqu’à ce que je joueur fasse respawn. Donc il n’y as pas de problème, comme les données on été enregistrés dans les NBT du joueur mort, le restart du serveur ne va pas faire perdre les données.
-
Dans ce cas, si l’entity du joueur ne disparaît jamais, pourquoi se servir d’une HashMap ? Elle est forcément passé à null je pense.
EDIT = Du coup j’en profite pour poser ma petite question ici : j’ai 2 joueurs sur un serveur, mais le client A ne semble pas connaître la valeur ds’un boolean quelconque enregistré chez le B. En revanche le B, joué en première personne n’a aucun problème de synchro entre client et serveur. Du coup comment résoudre ce genre de bug, où 1 client ne parvient pas à connaître les valeurs de l’ExtProp d’un client 2. Je pense que ça vient du serveur, j’ai tout de même essayé un sendToAll dans ma méthode sync, mais rien à faire

Merci d’avance ! -
Si lors de la mort le joueur clique sur se déconnecter au lieu de respawn et que le serveur est redémarré avant que le joueur ne revient il va en effet perdre les données, c’est le défaut de cette méthode.
-
Ah oui c’est problématique

Il faudrait enregistrer les différents objets NBTTagCompound aux données des joueurs correspondants, non ?
Ah nan, donc plutôt enregistrer la HashMap dans le dossier du serveur, ou carrément dans les NBT du monde ? -
Pour moi si on se déco avant de respawn après sa mort, ça doit quand même le sauvegarder dans le .dat, vu que si ya la gamrule de garder l’inventaire, on le garde quand même, on ne le perd pas.
Faudrait vérifier dans le code. -
Oui, mais en fait, c’est pas ça le problème ( je viens de comprendre pourquoi mon message était faut ) je problème est au niveau de la map. Dans le tuto, les données du joueur sont enregistrés dans la map quand le joueur meurt. Et sont restitués quand le joueur respawn. Donc si le serveur restart entre les deux, Ali s la map sera vide quand le joueur appuiera sur le bouton respawn donc les données ne seront pas restitués.
Comme solution, je pense que ce qu’on peut faire c’est : quand le joueur se connecte, si il est mort, alors on enregistre ces données dans la map.
-
Je comprend pas comment utiliser les packets qqn peux m’expliquer?
-
Salut,
Je t’invite à suivre le tutoriel dédié au réseau : https://www.minecraftforgefrance.fr/topic/1000/1-7-2-le-network -
@robin4002 merci
-
Y a-t il un tutoriel pour créer la classe d’évent ?
-
-
moi j’ai un problème au niveau de l’abstractPacket (dans mon packet) qu’il connait pas et RcMod (dans mon extandProp) et proxy (dans mon evenhandler) comment régler ses problème?
mon crash-report:
A detailed walkthrough of the error, its code path and all known details is as follows:
.---------------------------------------------------------------------------------------– System Details –
Details:
Minecraft Version: 1.7.10
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_202, Oracle Corporation
Java VM Version: Java HotSpot
64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 1922093768 bytes (1833 MB) / 2112618496 bytes (2014 MB) up to 2112618496 bytes (2014 MB)
JVM Flags: 3 total; -Xincgc -Xmx2G -Xms2G
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 29, tallocated: 77
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 5 mods loaded, 5 mods active
States: ‘U’ = Unloaded ‘L’ = Loaded ‘C’ = Constructed ‘H’ = Pre-initialized ‘I’ = Initialized ‘J’ = Post-initialized ‘A’ = Available ‘D’ = Disabled ‘E’ = Errored
UCHIJAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar)
UCHIJAA FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
UCHIJAA Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar)
UCHIJAA zombiecubefree{1.0.0} [Zombie Cube Free] (bin)
UCHIJAA examplemod{1.0} [examplemod] (bin)
GL info:ERRORRuntimeException: No OpenGL context found in the current thread.
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Player Count: 0 / 8; []
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to ‘fml,forge’
[15:12:43] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:393]: #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2019-03-19_15.12.42-server.txt
AL lib: (EE) alc_cleanup: 1 device not closed
Java HotSpot
64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release -
C’est normal, c’était une classe de FFMT lib.
Regardes le tutoriel sur les paquets pour voir comment faire des paquets.
Et RcMod c’était le nom du mod de gugu, tu dois mettre ta classe principale à la place. -
@robin4002 et comment je fait pour faire une classe FFMT lib ? car j’ai importé la librairie FFMT lib mais il me met quand même l’erreur
et le rcModPacketHandler il correspond à quoi? -
Tu n’as pas besoin d’utiliser FFMT lib. Regardes le tutoriel sur les paquets, il explique comment faire sans.
-
@robin4002 oui mais si je veux faire avec?
-
@robin4002 dans mon extand prop sa correspond à quoi rcModPacketHandler?
-
à la variable
networkqui devrait être dans ta classe principale si tu as suivis le tutoriel sur les paquets de RedRelay -
@robin4002 j’ai plus que une erreur le proxy dans evenHandler
tu c’est quel est le problème?