• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Modulars Blocks

    Mods en developpement
    1.7.10
    7
    24
    7985
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • N
      nwmqpa dernière édition par

      Salut à tous ,
      Je reviens vers vous avec une toute nouvelle idée ! (Attention , ce post s’adresse a ceux qui ont un peu d’imagination , parce que sinon , je ne pourrai pas vous expliquer)

      Je vais prendre un exemple simple , celui d’un four .
      Quel est le principe d’un four ? De chauffer un objet
      Comment produire de la chaleur ? Avec de l’énergie électrique (par exemple)
      Comment produire de la chaleur avec de l’énergie électrique ?
      C’est Là que cela devient intéressant !
      Mon idée est d’exploiter les propriétés d’un matériau afin de construire des objets utiles .
      La réponse à cette question serait donc : La chaleur peut être produite lorsque qu’un courant traverse un conducteur , dépandant de l’épaisseur dudit conducteur et de l’intensité dudit courant
      Ainsi , si de l’énergie électrique traverse , par exemple , un fil de cuivre , il se dégage de la chaleur de ce fil
      Voilà , je viens d’utiliser une propriété du cuivre

      Autre exemple , la propulsion d’un projectile a l’aide d’une explosion :
      Lorsqu’un morceau de silex se frotte a un morceau de fer , il se produit une étincelle
      Si ladite étincelle atteint de la gunpowder , il se produit une explosion
      Si l’explosion atteint un morceau de fer mobile dans un long tuyau , l’explosion se concentre derrière ce morceau , le propulsant à très grande vitesse . Ce système simple permettrait de fabriquer un fusil .

      Imaginez que l’on attribue des propriétés a tout un set de matériaux , on obtiendrait de merveilleuses machines

      Alors , plus concrètement , ce mod consisterait à placer toutes sortes de matériaux possédant des propriétés dans un cube de 161616 slots (la texture d’un bloc classique si l’on considère qu’il est plein)
      Ce cube possédant aussi la possibilité d’inception , ce qui permettrai de répéter plusieurs schémas fonctionnels

      Ou j’en suis actuellement et ce q’il faut que je fasse :
      Faire un tableau de valeurs et d’attributs des materiaux
      Faire une class à materiaux
      Creer un GUI ou l’on peut faire “bouger” un bloc en 3D afin de poser les miniblocs
      Gerer le rendu du Bloc Spécial
      Creer les Miniblocks et leur rendu

      Si quelqu’un est intéressé pour nous aider à le coder gagoi (développeur occasionel) et moi , ce projet pourrait venir au monde et ravir des centaines de joueurs !
      Surtout , j’accepte n’importe quelle idée qui pourrait m’aider à le coder !

      Nwmqpa

      P.S. : Je débute juste en java , je viens a peine d’attaquer la programmation événementielle ^^

      "Que la ForceTri soit avec toi !"
      Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
      [/a…

      1 réponse Dernière réponse Répondre Citer 0
      • M
        MrAzErTy31 dernière édition par

        Très bonne idée ! Cependant, ce doit être extrêmement compliqué à coder (Je suis aussi débutant avec l’API Forge)

        Mes mods :

        >! GGButtonMod : http://minecraftforgefrance.fr/showthread.php?tid=1280
        CraftYourMenu : http://minecraftforgefrance.fr/showth…

        1 réponse Dernière réponse Répondre Citer 0
        • N
          nwmqpa dernière édition par

          Merci beaucoup , mais le plus dur a coder sera surement le classe mere materiau et le cube de mini-bloc

          "Que la ForceTri soit avec toi !"
          Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
          [/a…

          1 réponse Dernière réponse Répondre Citer 0
          • M
            MrAzErTy31 dernière édition par

            Il faudrait faire une sorte d’API pour faciliter tout ça 😉

            Mes mods :

            >! GGButtonMod : http://minecraftforgefrance.fr/showthread.php?tid=1280
            CraftYourMenu : http://minecraftforgefrance.fr/showth…

            1 réponse Dernière réponse Répondre Citer 0
            • N
              nwmqpa dernière édition par

              Euh , effectivement , ce serait mieux , mauis on ne sait pas le faire

              "Que la ForceTri soit avec toi !"
              Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
              [/a…

              1 réponse Dernière réponse Répondre Citer 0
              • N
                nwmqpa dernière édition par

                Petit up pour vous dire que j’essaie d’avancer , mais que si quelqun est disposé à m’aider , j’aprécierai son aide , en particulier sur l’update des TileEntity
                Voici mon probleme : Grace au tutoriel de robin , j’ai crée une TilEntity capable de changer les valeur avec un clique droit , et en fouillant un peu , j’ai réussi a faire “poser” un bloc de feu , seulement , mon souci est le suivant : Quand la valeur est suppérieure a 12 , un bloc de feu apparait , si je modifie la valeur du bloc , le feu apparait ou disparais , mais je voudrais que quoiqu’il arrive le feu sois présent si valeur > 12 , le véritable probleme , c’est que lorsque j’éteins le feu manuellement , il ne réapparait pas , pourtant , la valeur est toujours supérieure a 12 . Y’aurait t’il un moyen d’update le block tous les ticks ou moins sans cliquer dessus ?

                "Que la ForceTri soit avec toi !"
                Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
                [/a…

                1 réponse Dernière réponse Répondre Citer 0
                • X
                  XcentY dernière édition par

                  Déjà avant de commencer ton projet. Parceque j’ai l’impression que t’es déjà en train de coder alors que c’est pas par là qu’on commence.
                  Déjà défini toi tous les objets, propriétés, méthodes et évènements que tu as besoin et fait un diagramme sur papier.
                  Ensuite regarde ce qui réuni tous les objets entre eux, construit des interface
                  …
                  ça sert à rien de se lancer dans un grand projet si c’est pour faire du quick and dirty qui marche qu’à moitié et qui n’est pas extensible à souhait.

                  Exemple. J’ai 10 matériaux.
                  interface materiau
                  conductible
                  chaleuremise
                  calculchaleuremise retourne chaleuremise
                  coefficientderesistance
                  destructible
                  methode soumisaucourant
                  noyé
                  …

                  Tu as déjà des pistes pour faire une interface

                  1 réponse Dernière réponse Répondre Citer 0
                  • jglrxavpok
                    jglrxavpok Modérateurs dernière édition par

                    @‘nwmqpa’:

                    Petit up pour vous dire que j’essaie d’avancer , mais que si quelqun est disposé à m’aider , j’aprécierai son aide , en particulier sur l’update des TileEntity
                    Voici mon probleme : Grace au tutoriel de robin , j’ai crée une TilEntity capable de changer les valeur avec un clique droit , et en fouillant un peu , j’ai réussi a faire “poser” un bloc de feu , seulement , mon souci est le suivant : Quand la valeur est suppérieure a 12 , un bloc de feu apparait , si je modifie la valeur du bloc , le feu apparait ou disparais , mais je voudrais que quoiqu’il arrive le feu sois présent si valeur > 12 , le véritable probleme , c’est que lorsque j’éteins le feu manuellement , il ne réapparait pas , pourtant , la valeur est toujours supérieure a 12 . Y’aurait t’il un moyen d’update le block tous les ticks ou moins sans cliquer dessus ?

                    Tu devrais pouvoir gérer dans la TileEntity normalement 😉

                    Sinon XcentY, pas forcément besoin d’une interface si 'y a qu’une implémentation.
                    Et noter ses idées c’est bien, mais c’est pas nécessaire de faire une liste complète. Beaucoup d’idées viendront lors des tests

                    Modérateur sur MFF. 
                    Mon Github: http://github.com/jglrxavpok
                    Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

                    1 réponse Dernière réponse Répondre Citer 0
                    • N
                      nwmqpa dernière édition par

                      Alors , merci de ces deux retours !
                      @YcentY : Pour les idées , les poser sur papier , ce serait effectivement bien , mais je voulais connaitre le fonctionnement d’une TileEntity , mais t’inquiete pas , je commence deja a noter les propriétés de différents métaux . Pour l’interface , j’y avais deja pensé , en faisant plusieurs par groupe d’attributs , mais quelqun m’a conseillé de le mettre dans une classe mere , et de tout regrouper avec des comment pour plus de lisibilité , a savoir que je vais commencer par les metaux , car rien qu’avec ca , je vais avoir du boulot !

                      @jglrxavpok : Euh… d’accord , mais OU et COMMENT . J’ai fouillé énormément avant de poster ici !
                      Ensuite , pour le moment je fonctionne avec des idées simples , tres extensibles , mais difficile a mettre en place , je pense que je vais commencer par des attributs simples , puis mettre des fonctionnalitées originales , et ensuite , impleter des attributs plus complexe

                      Encore une fois , si vous avez d’autres idées , proposez les moi !

                      "Que la ForceTri soit avec toi !"
                      Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
                      [/a…

                      1 réponse Dernière réponse Répondre Citer 0
                      • jglrxavpok
                        jglrxavpok Modérateurs dernière édition par

                        updateEntity fera ce que tu voudras

                        Modérateur sur MFF. 
                        Mon Github: http://github.com/jglrxavpok
                        Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

                        1 réponse Dernière réponse Répondre Citer 0
                        • N
                          nwmqpa dernière édition par

                          Petite exception …. :

                          et.minecraft.util.ReportedException: Ticking block entity
                          at net.minecraft.world.World.updateEntities(World.java:2154) ~[World.class:?]
                          at net.minecraft.client.Minecraft.runTick(Minecraft.java:2096) ~[Minecraft.class:?]
                          at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1038) ~[Minecraft.class:?]
                          at net.minecraft.client.Minecraft.run(Minecraft.java:961) [Minecraft.class:?]
                          at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0]
                          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0]
                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0]
                          at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0]
                          at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?]
                          at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]
                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0]
                          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0]
                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0]
                          at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0]
                          at GradleStart.bounce(GradleStart.java:107) [start/:?]
                          at GradleStart.startClient(GradleStart.java:100) [start/:?]
                          at GradleStart.main(GradleStart.java:55) [start/:?]
                          Caused by: java.lang.NullPointerException
                          at net.modularblocks.common.material.TileEntityMaterial.isHeating(TileEntityMaterial.java:77) ~[TileEntityMaterial.class:?]
                          at net.modularblocks.common.material.TileEntityMaterial.updateEntity(TileEntityMaterial.java:80) ~[TileEntityMaterial.class:?]
                          at net.minecraft.world.World.updateEntities(World.java:2139) ~[World.class:?]
                          … 17 more
                          ---- Minecraft Crash Report ----
                          // Why is it breaking :(
                          
                          Time: 05/09/14 14:05
                          Description: Ticking block entity
                          
                          java.lang.NullPointerException: Ticking block entity
                          at net.modularblocks.common.material.TileEntityMaterial.isHeating(TileEntityMaterial.java:77)
                          at net.modularblocks.common.material.TileEntityMaterial.updateEntity(TileEntityMaterial.java:80)
                          at net.minecraft.world.World.updateEntities(World.java:2139)
                          at net.minecraft.client.Minecraft.runTick(Minecraft.java:2096)
                          at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1038)
                          at net.minecraft.client.Minecraft.run(Minecraft.java:961)
                          at net.minecraft.client.main.Main.main(Main.java:164)
                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                          at java.lang.reflect.Method.invoke(Unknown Source)
                          at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
                          at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                          at java.lang.reflect.Method.invoke(Unknown Source)
                          at GradleStart.bounce(GradleStart.java:107)
                          at GradleStart.startClient(GradleStart.java:100)
                          at GradleStart.main(GradleStart.java:55)
                          

                          Voici mon code :

                          public void isHeating() {
                          World world = null;
                          if(this.getElectricActualVoltage() > this.getCapacityVoltage()){
                          world.setBlock(xCoord, yCoord+1, zCoord, Blocks.fire);
                          this.updateEntity();
                          }
                          else
                          world.setBlock(xCoord, yCoord+1, zCoord, Blocks.air);
                          }
                          public void updateEntity() {
                          this.isHeating();
                          
                          }
                          
                          }
                          

                          Si quelqun a une solution …

                          "Que la ForceTri soit avec toi !"
                          Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
                          [/a…

                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                            World world = null;
                            …
                            Si l’objet world est null, c’est normal que ça cause un NPE …
                            utilise this.worldObj si tu as besoin de l’instance du monde.

                            1 réponse Dernière réponse Répondre Citer 0
                            • N
                              nwmqpa dernière édition par

                              Aprs avoir fait ca j’ai encore une erreur …
                              C’était bien World world = this.worldObj; qu’i fallait faire ?

                              "Que la ForceTri soit avec toi !"
                              Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
                              [/a…

                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                Non, directement this.worldObj.setBlock(xCoord, yCoord+1, zCoord, Blocks.fire)

                                1 réponse Dernière réponse Répondre Citer 0
                                • N
                                  nwmqpa dernière édition par

                                  Alors , plus d’erreur , juste , la “surchauffe” ne se produit plus à 13.0 , voici mon code :

                                  public void isHeating() {
                                  
                                  if(this.getElectricActualVoltage() > this.getCapacityVoltage()){
                                  this.worldObj.setBlock(xCoord, yCoord+1, zCoord, Blocks.fire);
                                  }
                                  else
                                  this.worldObj.setBlock(xCoord, yCoord+1, zCoord, Blocks.air);
                                  }
                                  public void updateEntity() {
                                  this.isHeating();
                                  
                                  }
                                  
                                  

                                  Dans ma class Block , j’appelle bien la methode ths.updateEntity();

                                  "Que la ForceTri soit avec toi !"
                                  Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
                                  [/a…

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • robin4002
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                    Vérifie les valeurs de this.getElectricActualVoltage() et this.getCapacityVoltage()

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • N
                                      nwmqpa dernière édition par

                                      Voila :

                                      
                                      player.addChatMessage(new ChatComponentTranslation("Le courant est de : " + tileEntityMaterial.getElectricActualVoltage()));
                                      tileEntityMaterial.setElectricVoltage(12.0);
                                      tileEntityMaterial.updateEntity();
                                      

                                      La valeur est bien vrai , il m’affiche bien les bonnes valeurs lorsque je clique

                                      "Que la ForceTri soit avec toi !"
                                      Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
                                      [/a…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • N
                                        nwmqpa dernière édition par

                                        Bon , j’ai résolu on probleme , il suffisait simplement de mettre le contenu de isHeating() dans updateEntity() au lieu d’appeler isHeating dans updateEntity

                                        "Que la ForceTri soit avec toi !"
                                        Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
                                        [/a…

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • N
                                          nwmqpa dernière édition par

                                          Est ce qu’un admin voudrait bien déplacer ce sujet dans la zone “En devellopement” ?
                                          Merci

                                          "Que la ForceTri soit avec toi !"
                                          Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
                                          [/a…

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • N
                                            nwmqpa dernière édition par

                                            Bonjour , j’ai deux nouveaux problemes :

                                            1. Mon render spécial de Table ne s’affiche pas , pouvez exactement me dir ou je dois placer le fichier par rapport au ressources ?
                                            
                                            package net.modularblocks.proxy;
                                            
                                            import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
                                            import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                                            import net.minecraft.tileentity.TileEntity;
                                            import net.minecraft.util.ResourceLocation;
                                            import net.modularblocks.client.Table;
                                            import net.modularblocks.common.microblock.TileEntityTable;
                                            
                                            import org.lwjgl.opengl.GL11;
                                            
                                            public class TileEntityTableSpecialRender extends TileEntitySpecialRenderer implements IInventoryRenderer {
                                            private final Table model = new Table();
                                            public static final ResourceLocation textureLocation = new ResourceLocation("modularblocks" , "textures/blocks/modelTable.png");
                                            public TileEntityTableSpecialRender()
                                            {
                                            this.func_147497_a(TileEntityRendererDispatcher.instance);
                                            }
                                            
                                            @Override
                                            public void renderInventory(double x, double y, double z)
                                            {
                                            this.renderTileEntityTableAt(null, x, y, z, 0.0F);
                                            }
                                            
                                            @Override
                                            public void renderTileEntityAt(TileEntity te, double x, double y, double z, float tick)
                                            {
                                            this.renderTileEntityTableAt((TileEntityTable)te, x, y, z, tick);
                                            
                                            }
                                            public void renderTileEntityTableAt(TileEntityTable te, double x, double y, double z, float tick)
                                            {
                                            GL11.glPushMatrix();
                                            GL11.glTranslated(x + 0.5F, y + 1.5F, z + 0.5F);
                                            this.bindTexture(textureLocation);
                                            GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                                            this.model.render(0.0625F);
                                            GL11.glPopMatrix();
                                            
                                            }
                                            
                                            }
                                            

                                            Et 2 eme probleeme : je ne trouve pas de tuto récent sur les GUI , du coup , j’ai du me rabattre sur une JFrame 
                                            Sachant que la JFrame n’est qu’une interface qui sert à construire quelque chose à partir d’objets listés dans le code , y’a t’il 
                                            des problemes qui peuvent survenir ? (cette fenetre va me servir pour la conception des blocs “spéciaux”)

                                            "Que la ForceTri soit avec toi !"
                                            Maitre Yoda - The Legend of Zelda : Mystery of Solarus XD
                                            [/a…

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB