Extended Entity Properties
-
http://mods.mcnanotech.fr/index.php/Accueil
La doc n’est pas encore complète, mais si tu veux tu peux regarder sur nanotech mod : https://github.com/FFMT/nanotech_mod -
Super j’en avais besoin pour mon mod
Merci 
-
bha gugu le problème c’est que tu utiliser des fonction de FFMT dans ton code hors, c’est fonction n’existait pas en 1.6.x……
ainsi que le AbstractPacket -
Bah, tu a juste a envoyer un Packet qui contient les informations ^^
https://github.com/Gugu42/RatchetAndClankMod/commit/16c2a6711e91a672bda4892db67f6cbdf6987ab2
Ce commit contient la manière dont j’ai fait mes packets en 1.6.x
-
Merci

-
Il y a une petite erreur a ce niveau là (par rapport au fait de pouvoir tapez des commandes)
public int getMoney() { return this.money; }Ici ce n’est pas un “public int getMoney()” mais plutôt un “public long getMoney()” étant donnée que juste au dessus on a déclarer la Money comme étant un “long”
public final static String EXT_PROP_NAME = "ExtPropTuto"; private final EntityPlayer player; public long money; public long maxMoney;
C’est possible d’avoir un GitHub avec le codage au complet car j’ai du mal a situé ou doivent être tous les éléments indiquer dans le tuto ?
merci d’avance

-
Heu pour le github, je n’en ai pas fait un, je me base sur celui de mon mod Ratchet & Clank ( http://github.com/Gugu42/ratchetandclankmod/ )
-
Le problème est que visiblement dans ce GitHub une ancienne version de “FFMT” car on utilise plus ceci :
public class PacketRefill extends FFMTPacket {public void encodeInto(ChannelHandlerContext ctx, ByteBuf buffer) {public void decodeInto(ChannelHandlerContext ctx, ByteBuf buffer) {On utilise quelques choses de similaire a ça :
public class PacketRefill extends AbstractPacket {public void writeData(ByteBuf buffer) throws IOException {public void readData(ByteBuf buffer) {Donc je peux pas vraiment m’en servir
je regarde un peu plus car moi ce qui m’interesse dans le GitHub c’etait ou été placer les EVENT HANDLER.
Je vois que sur le GitHub tu utilise une classe “RcEventHandler.java”
Et que tu l’initialise ici :
@EventHandler public void PostInit(FMLPostInitializationEvent event) { NetworkRegistry.INSTANCE.registerGuiHandler(this, new GuiHandler()); MinecraftForge.EVENT_BUS.register(new RcEventHandler());C’est bien ça ?
-
Mais … c’est exactement la même chose, les méthodes sont juste renommées ._.
-
Oui oui ça moi je l’est compris mais début j’avais du mal … car j’étais débutant
tu vois ce que je veux dire … c’est en discutant avec vous et en posant des question qu’on comprend tous ça… ce qui est malheureux pour un tuto ou on devrait pas vous déranger … surtout pour des choses si futile 
-
Je me permet d’ajouter une correction à faire :
J’ai trouver, en faite il y a beaucoup d’erreur dans le tuto lié au type de variable de “Money” :
@Gugu42:Maintenant, nous allons ajouter un identifiant à la propriété, ainsi que les variables qu’elle utilisera. Dans notre cas, le joueur cible, de l’argent, et une limite d’argent.
public final static String EXT_PROP_NAME = "ExtPropTuto"; private final EntityPlayer player; public long money; public long maxMoney;L’utilisation d’un long permet un stockage de grande taille pour votre argent. Si vous ne comptez pas atteindre plus de 2.147.483.647 d’argent, utilisez un int.
Au début du tuto on nous demande de mettre un long si on veut pouvoir utiliser une grosse capacité de stockage de d’argent.
Mais dans le reste du tuto on vois quasiment que le type “int” sur les variable de “Money” et “maxMoney”.
Soit je modifie les type “int” en “long” mais un autre problème ce pose a ce niveau du tuto :
@Override public void writeData(ByteBuf buffer) throws IOException { buffer.writeInt(maxSoif); buffer.writeInt(Soif); }Ici il faut remplacer par des type “Long” :
@Override public void writeData(ByteBuf buffer) throws IOException { buffer.writeLong(maxSoif); buffer.writeLong(Soif); }Voilà je rajoute ceci en réponse au tuto pour penser à le modifier

-
Je viens de voir qu’il n’y a pas que à ce niveau là qu’il y a des problèmes entres le type de variable “Int” et “Long”.
Faites bien attention à tous le tuto, car toutes les variables sont déclarer en type “Int” alors que la déclaration des variables ont étés faites en “Long”
-
@‘BlackDrag00n’:
Je viens de voir qu’il n’y a pas que à ce niveau là qu’il y a des problèmes entres le type de variable “Int” et “Long”.
Faites bien attention à tous le tuto, car toutes les variables sont déclarer en type “Int” alors que la déclaration des variables ont étés faites en “Long”
J’ai écrit 95% du tutoriel sur le forum directement, avec le code en mémoire, donc il se peut que j’ai fait des erreurs. Je corrige ça

-
@‘Gugu42’:
@‘BlackDrag00n’:
Je viens de voir qu’il n’y a pas que à ce niveau là qu’il y a des problèmes entres le type de variable “Int” et “Long”.
Faites bien attention à tous le tuto, car toutes les variables sont déclarer en type “Int” alors que la déclaration des variables ont étés faites en “Long”
J’ai écrit 95% du tutoriel sur le forum directement, avec le code en mémoire, donc il se peut que j’ai fait des erreurs. Je corrige ça

Pas de problème t’inquiète pas je ne
t’engueuleraite “gronderai” pas (pourtant a la demande de robin4002) LoLJe sais a qu’elle point c’est pas évident de fournir des tutoriels

-
Peux tu nous fournir ta classe “Fr_mod.java” ?
-
@‘mindany2’:
Ok mais il y a rien de spécial concernant cette classe mise à part les deux lignes envoyés
Pourtant dans ton erreur on vois :
at lmac.sonic.Fr_mod.<clinit>(Fr_mod.java:51)
Tu as mis quoi comme “modid” dans “@Mod” ?
Tu as une erreur ici aussi :
@Instance("Fr_mod ")Un espace en trop après “Fr_mod”
sa serai plutôt :@Instance("Fr_mod") ```</clinit> -
Ton modid c’est bien Fr_mod ?
Car si oui, ton instance est fausse, tu as un espace juste après. -
oui c’est ce que je disais robin4002

-
@‘BlackDrag00n’:
Tu as mis quoi comme “modid” dans “@Mod” ?
Peux tu répondre à la question stp ?
-
Je ne comprend pas tu dit qu’avec ceci du crash :
public static final FFMTPacketHandler rcModPacketHandler = new FFMTPacketHandler("fr.lmac.packet", "Fr_mod");Mais après tu dis que tu ne crash pas avec :
public static final FFMTPacketHandler rcModPacketHandler = new FFMTPacketHandler("fr.lmac.packet", "Fr_mod");Hors ces deux lignes sont identiques

A mon avis ta voulu dire ceci :
public static final FFMTPacketHandler rcModPacketHandler = new FFMTPacketHandler("fr.lmac.packet", "Fr_mod", "Fr_mod");Mais cette dernière ligne te faire crash ou pas du coup ?