[1.7.2, MOD, MCPC+] Des Cinématiques dans Minecraft



  • Bonjour à tous et à toutes.
    Je suis actuellement sur la conception d'un projet : Kingdom Hearts 2 dans Minecraft (pour ceux qui connaissent, kingdom hearts 2 est un jeu rpg où il y a du Disney et du final Fantaisy) et dans ce jeu il y a une grosse spécialité : dès que tu arrives à un endroit à un tel moment, se lance une cinématique qui rajoute beaucoup plus d'originalité et immersion dans le jeu.
    J'ai tenté de reproduire cela en modding, c'est-à-dire de créer un item pour chaque cinématique et de démarrer la cinématique avec un clic droit, cela marche parfaitement SSP et SMP que lorsque je suis en projet éclipse mais après le recompiling via graddle et une fois ingame dans minecraft, cela ne marche pas et rien du tout dans les logs.
    C'est assez étrange et je pense que mon code ne marche que dans éclipse….

    
    public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
       {  
    try
    {
    Desktop.getDesktop().open(new File("C:\\Documents and Settings\\Utilisateur\\Bureau\\Cinématique 1 Kingdom Hearts II\\Cinématique 1 Kingdom Hearts II"));
    }
    catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace();
    }
    
    

    Et voilà du coup j'espère que quelqu'un saura me proposer un autre code ou carrément un autre système !
    Sur ce je remercie encore ce site et toute sa communauté très accueillante

    PS: j'ai regardé quelque mode (web display, youtube player) et le système de cinématique de AdventureCraft mais cela ne me plait pas du tout....



  • Salut 🙂
    Si tu fais des catch() { rien a foutre } c'est normal que tu n'as aucun log.

    Ensuite évite d'utiliser une adresse en dure pour trouver ton fichier.
    Ca ne marchera que pour Windows. Puis le client sera obliger d'avoir le fichier a l'adresse exacte.



  • @'Blackout':

    Salut 🙂
    Si tu fais des catch() { rien a foutre } c'est normal que tu n'as aucun log.

    Ensuite évite d'utiliser une adresse en dure pour trouver ton fichier.
    Ca ne marchera que pour Windows. Puis le client sera obliger d'avoir le fichier a l'adresse exacte.

    Merci de ta réponse Blackout, cependant je savais bien que l'adresse serait à changer pour tout le monde cela je le ferai mais je ne comprends pas trop pour les catch et comment ce fait-il que cela marche sur éclipse et non sur minecraft
    Et après vérification mon item marche dans eclipse cependant il ne produit pas de log donc c'est normal qu'en client ou en serveur après le recompiling, il n'y ait pas de log cependant c'est bizarre et pas normal que l'item perde toutes ses fonctions lorsqu'il minecraft est exécuté par eclipse.
    Quelqu’un a-t-il une solution ou une idée pour ce phénomène. C'est surement produit par le try / catch je pense, des avis plz ça presse ^^



  • met e.printStackTrace(); dans le catch

    EDIT: sinon comment on fait pour que ce soit dans les asset du mod?



  • @'isador34':

    met e.printStackTrace(); dans le catch

    EDIT: sinon comment on fait pour que ce soit dans les asset du mod?

    Merci tout d'abord de ta réponse isador34 mais regarde bien e.printStackTrace est bien dans le catch il n'est pas en commentaire (il y a eu un bug et le retour à la ligne n'a pas été fait, enfin bref le e.printStackTrace () est bien mis ensuite pour ajouter dans les assets je vais créer un nouveau dossier et déclarer le nouveau chemin. Pourquoi tu hésites sur ça?



  • Car j'ai essayé avec modid:test.avi et ça à pas lancer la vidéo



  • @'isador34':

    Car j'ai essayé avec modid:test.avi et ça à pas lancer la vidéo

    Désolé Isador34 mais en fin de compte je suis plutôt resté sur du long chemin car moi je crashai sur du petit chemin, le chemin du .mp4 était mal désigné

    ("C:\Documents and Settings\Utilisateur\Bureau\Cinématique 1 Kingdom Hearts II\Cinématique 1 Kingdom Hearts II.mp4"

    qui marche très bien je verrai lorsque je rendrai mon mod public pour que ça marche pour chacun (je mettrai le chemin juste vers C:\ en espérant que tout le monde ait au-moins un disque interne nommé C ^^) sinon regarde de ton côté et tu verras que cela ne marche que dans eclipse et qu'après le build graddle et après l'installation et ingame la cinématique ne marche pas c'est très étrange


  • Administrateurs

    Quand tu es en jeu (avec le mod compilé, par sous eclipse), tu as une erreur dans le logs ?

    @'Julot10085':

    (je mettrai le chemin juste vers C:\ en espérant que tout le monde ait au-moins un disque interne nommé C ^^)

    Heu ça ne fonctionnera jamais. Sous Linux et mac (et autre système UN*X), il n'y a pas de C:, et les séparateurs entre dossier sont des / et non des .
    Et même sous les versions > Windows xp, il n'y a plus de dossier Documents and Settings\Utilisateur, c'est directement Users.
    D'ailleurs tu devais pas rester sous Windows xp, ce n'est plus sécurisé.



  • Je testerai ça demain et chercherai une alternative



  • @'robin4002':

    Quand tu es en jeu (avec le mod compilé, par sous eclipse), tu as une erreur dans le logs ?

    @'Julot10085':

    (je mettrai le chemin juste vers C:\ en espérant que tout le monde ait au-moins un disque interne nommé C ^^)

    Heu ça ne fonctionnera jamais. Sous Linux et mac (et autre système UN*X), il n'y a pas de C:, et les séparateurs entre dossier sont des / et non des .
    Et même sous les versions > Windows xp, il n'y a plus de dossier Documents and Settings\Utilisateur, c'est directement Users.
    D'ailleurs tu devais pas rester sous Windows xp, ce n'est plus sécurisé.

    EDIT: Il ne semble pas avoir la moindre erreur dans le log latest mais par assurance je te le passe quand même:

    Salut
    D'accord mais euh…les slash inversé "" marchent aussi pour moi peu importe si les deux fonctionnent.
    Sinon je veux bien faire autrement pour le chemin mais comment ? Étant donné que ce que je fais n'ai jamais paru et qu'il n'y a pas de noms spécifiques pour inclure des mp4 dans le dossier 'assets' de forge. Enfin bref comment déclarer le chemin du .mp4 autrement qu'avec ma manière? J'ai essayé comme avec le chemin de la texture d'une entity trouvable dans son render.java "textures/entity/x.png" Mais crash direct en disant que le .mp4 n'a pas été trouvé.

    Enfin bon pour ça je vois pas vraiment tout en sachant que tu as raison et que pour les possesseurs d'autre OS ce n'est pas possible

    Quant au log je teste ça tt de suite et j'édit

    
    [22:35:45] [main/INFO]: Setting user: Julot10085
    [22:35:46] [Client thread/INFO]: LWJGL Version: 2.9.0
    [22:35:53] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Mod MineKingdom Hearts
    [22:35:54] [Sound Library Loader/INFO]: Sound engine started
    [22:35:56] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
    [22:35:56] [Client thread/INFO]: Created: 256x256 textures/items-atlas
    [22:35:56] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Mod MineKingdom Hearts
    [22:35:56] [Client thread/INFO]: Created: 256x256 textures/items-atlas
    [22:35:57] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
    [22:35:58] [Sound Library Loader/INFO]: Sound engine started
    [22:36:00] [MCO Availability Checker #1/ERROR]: Couldn't connect to Realms
    [22:36:29] [Server thread/INFO]: Starting integrated minecraft server version 1.7.2
    [22:36:29] [Server thread/INFO]: Generating keypair
    [22:36:30] [Server thread/INFO]: Preparing start region for level 0
    [22:36:31] [Server thread/INFO]: Preparing spawn area: 42%
    [22:36:32] [Server thread/INFO]: Julot10085[local:E:84d07648] logged in with entity id 29 at (1368.1146917387607, 64.0, 332.6445040039397)
    [22:36:32] [Server thread/INFO]: Julot10085 joined the game
    [22:36:36] [Server thread/INFO]: Saving and pausing game…
    [22:36:36] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
    [22:36:36] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
    [22:36:36] [Server thread/INFO]: Saving chunks for level 'New World'/The End
    [22:36:45] [Server thread/INFO]: Saving and pausing game…
    [22:36:45] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
    [22:36:46] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
    [22:36:46] [Server thread/INFO]: Saving chunks for level 'New World'/The End
    [22:36:54] [Server thread/INFO]: Stopping server
    [22:36:54] [Server thread/INFO]: Saving players
    [22:36:54] [Server thread/INFO]: Saving worlds
    [22:36:54] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
    [22:36:54] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
    [22:36:54] [Server thread/INFO]: Saving chunks for level 'New World'/The End
    [22:36:55] [Client thread/INFO]: Stopping!
    
    

    Il ne semple même pas indiquer que j'ai fait ouvrir tel fichier via un right-click mais à mon avis les logs n'affiche pas ça, oui?

    EDIT: j'ai changé de méthode celle d'avant se mettait à crasher je ne sais pas si elle est meilleure:

    
    String cmds[] = new String[] {"cmd", "/c",
    "C:\\Documents and Settings\\Utilisateur\\Bureau\\Cinematique1KingdomHeartsII\\Cinematique1KingdomHeartsII.mp4"};
    try {
    Runtime.getRuntime().exec(cmds);
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    
    

    Euh j'ai aussi essayé de retirer les espaces et les accents je ne sais pas si les majuscules sont neccessaire la méthode est bien appelé je vois dans les logs le system.out.println, mais tout ça reste dans eclipse je réediterai après avoir recompiler via gradlew build j'installe mon mod sur mon .minecraft et je test si la vidéo se lance et je regardai dans les logs comme ce que j'ai fais dans eclipse



  • Alors j'ai testé et tout marche super bien à mon avis les majuscules faisaient bug le raccourci et donc le lancement du .mp4 alors je tiens à vous remercier vraiment pour ton aide et je n'hésiterais pas si j'ai un autre problème d'aller sur minecraftforgefrance.fr un site où la communauté est rapide à aider et accueillante à premier vue


  • Modérateurs

    @'Julot10085':

    Alors j'ai testé et tout marche super bien à mon avis les majuscules faisaient bug le raccourci et donc le lancement du .mp4 alors je tiens à vous remercier vraiment pour ton aide et je n'hésiterais pas si j'ai un autre problème d'aller sur minecraftforgefrance.fr un site où la communauté est rapide à aider et accueillante à premier vue

    Cela ne marchera que pour Windows et que si l'on a le fichier dans le même dossier que toi, on te l'a déjà dit.
    De plus, il y a bien mieux comme cinématique que juste faire ouvrir un fichier .avi à ton OS, comme l'incruster dans le jeu, mais là je pense que il va te falloir beaucoup plus d'expérience.



  • @'jglrxavpok':

    @'Julot10085':

    Alors j'ai testé et tout marche super bien à mon avis les majuscules faisaient bug le raccourci et donc le lancement du .mp4 alors je tiens à vous remercier vraiment pour ton aide et je n'hésiterais pas si j'ai un autre problème d'aller sur minecraftforgefrance.fr un site où la communauté est rapide à aider et accueillante à premier vue

    Cela ne marchera que pour Windows et que si l'on a le fichier dans le même dossier que toi, on te l'a déjà dit.
    De plus, il y a bien mieux comme cinématique que juste faire ouvrir un fichier .avi à ton OS, comme l'incruster dans le jeu, mais là je pense que il va te falloir beaucoup plus d'expérience.

    Salut jglrxavpok, je sais bien mais en attendant je fais pour windows les autres OS attendront malheureusement le temps que je trouve un chemin valide dans les "assets".
    Et pour incruster les cinématiques je n'ose même pas imaginer mais c'est vrai que c'est quand même ce que je voudrais le plus réussir à faire, mais en attendant je me contente du simple comme ceci via un clic droit d'un certain item. C'est basique, c'est simple mais c'est déjà mieux que d'aller chercher manuellement le .avi à lancer dans tous les dossier de son ordinateur.



  • on peut lancer une vidéo de façon simple dans un GUI non?



  • @'isador34':

    on peut lancer une vidéo de façon simple dans un GUI non?

    Que veux-tu dire que la vidéo soit dans un gui ?



  • Cà pourrai résoudre le problème


  • Modérateurs

    @'isador34':

    Cà pourrai résoudre le problème

    Vas-y, codes-le alors xD



  • bha moi je propose juste ^^



  • @'isador34':

    bha moi je propose juste ^^

    Lol nan mais isador34 tu m'as pris pour Notch ou quoi je ne pense vraiment pas avoir les capacités pour faire ça ^^



  • Sinon je vient de penser à un truc: ftb quand tu arrive en jeu avec le guimainmenu tu à une mini cinématique, faudrait fouiller de ce côté