MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    GLUtils, ou comment faire des modèles 3D facilement

    Planifier Épinglé Verrouillé Déplacé Autres
    150 Messages 20 Publieurs 60.4k Vues 2 Watching
    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.
    • AmaA Hors-ligne
      Ama
      dernière édition par

      Très bien j’irais tester tout ça ! Mais j’ai un problème… Mon Model est blanc est-ce normal ?


      Edit: Oublié le .mtl ><


      Edit: 2 Une autre question niveau animations… Comment faire ? Est-ce possible ? Toujours pareil, est-ce lourd pour Minecraft ? Un tuto là dessus serait sympa de ta part jglrxavpok ^^

      Si je t'ai filé un coup de main n'oublie pas le + / -
      Par contre évite les demandes d'aides en MP, tu sera sympa'

      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

        Je suis toujours en train de travailler là-dessus.
        Peut-être un tuto dans 1 semaine ? 😄

        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
        • AmaA Hors-ligne
          Ama
          dernière édition par

          @‘jglrxavpok’:

          Je suis toujours en train de travailler là-dessus.
          Peut-être un tuto dans 1 semaine ? 😄

          Ah ! ça c’est cool ! Ça me sera utile pour mon projet !

          Si je t'ai filé un coup de main n'oublie pas le + / -
          Par contre évite les demandes d'aides en MP, tu sera sympa'

          La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

          Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

          1 réponse Dernière réponse Répondre Citer 0
          • elias54E Hors-ligne
            elias54 Administrateurs
            dernière édition par

            L’api ne fonctionne pas en 1.7… ^^

            Caused by: java.lang.NoClassDefFoundError: net/minecraftforge/event/Event

            Mon site | GitHub

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

              Elias, tu as du télécharger les mauvaises sources 😕
              En 1.7 la classe Event n’est plus la même https://github.com/jglrxavpok/MCGLUtils/commit/a2647cfdb3b08319e7c1955aa993e29f71324608

              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
              • garganG Hors-ligne
                gargan
                dernière édition par

                C’est génial! j’attend avec impatience la partie sur l’animation ^^
                Elles est tj d’actualité? Et elle sera pour quelle version: 1.7 ou 1.6?

                1 réponse Dernière réponse Répondre Citer 0
                • GuguG Hors-ligne
                  Gugu
                  dernière édition par

                  Gargan, étant donné que cette lib est une lib LWJGL et non Minecraft, elle devrait marcher tant que Minecraft utilise LWJGL.

                  Soit : pour toujours

                  "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                  ― Jordan B. Peterson

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

                    Gugu a raison.
                    Mais comme le système d’animation utilisera les events, il faudra deux-trois très légers changements entre 1.6<->1.7

                    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
                    • jglrxavpokJ Hors-ligne
                      jglrxavpok Modérateurs
                      dernière édition par

                      Partie sur les animations postée!
                      N’hésitez pas à poser des questions et autres!

                      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
                      • AmaA Hors-ligne
                        Ama
                        dernière édition par

                        Yeah ! Je vais voir !

                        Si je t'ai filé un coup de main n'oublie pas le + / -
                        Par contre évite les demandes d'aides en MP, tu sera sympa'

                        La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                        Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                        1 réponse Dernière réponse Répondre Citer 0
                        • ZakZ Hors-ligne
                          Zak
                          dernière édition par

                          Voilà un tuto montrant réèllement la puissance de Forge et d’OpenGL !
                          Si vous voulez un conseil, pourquoi pas faire un tuto sur ForgeMultiPart ?

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

                            ForgeMultiPart m’intéresse pas mal, je vais voir pour ajouter ça à ma TODO list, mais ça sera pas avant un moment, en plus ça m’a l’air plutôt complexe, comme FMP est coder en scala, il faut scala dev avec (enfin, il me semble).

                            1 réponse Dernière réponse Répondre Citer 0
                            • A Hors-ligne
                              anguelwyvern
                              dernière édition par

                              question, j’ai un amis qui va me faire mes modèle de base sous blender, es que minecraft les acceptera comme ça ?
                              ou il n’y as que GLUutil qui fonctionne ?

                              sinon excellent tuto clair que sa va grandement m’aidez !

                              1 réponse Dernière réponse Répondre Citer 0
                              • GuguG Hors-ligne
                                Gugu
                                dernière édition par

                                @‘anguelwyvern’:

                                question, j’ai un amis qui va me faire mes modèle de base sous blender, es que minecraft les acceptera comme ça ?
                                ou il n’y as que GLUutil qui fonctionne ?

                                sinon excellent tuto clair que sa va grandement m’aidez !

                                Tu peux utiliser le loader forge de base, mais il faudrat adapter ton modèle pour n’user qu’une texture.

                                Je te conseille de prendre GLUtils, je m’en sert grandement dans mon mod Ratchet & Clank, et le rendu est super.

                                "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                                ― Jordan B. Peterson

                                1 réponse Dernière réponse Répondre Citer 0
                                • A Hors-ligne
                                  anguelwyvern
                                  dernière édition par

                                  ok merci de ta réponse

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

                                    N’hésite pas à prendre les sources et les compiler avec ton mod 😉

                                    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
                                    • A Hors-ligne
                                      anguelwyvern
                                      dernière édition par

                                      ok je vais essayez, j’avoue que je suis au début de mon apprentissage pour l’utilisation java et autre, et je risque par le futur de vous posez pas mal de question, en tous cas depuis qu’elle que jour j’arrête pas de voir tous les tuto de votre chaine youtube en boucle xD

                                      edit : bon j’ai vue les tuto, et mon niveau en java de base est trop faible donc je retourne aux base,
                                      (en gros je ne sait pas ce que fait “@Event Handler” ou “public void/static”
                                      je revient donc dans 2-3 mois quand j’aurais grossis mes connaissance

                                      http://fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-java

                                      bref dsl du dérangement, et merci pour les tuto ^^ sa à été instructif

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • DeletedD Hors-ligne
                                        Deleted
                                        dernière édition par

                                        Salut à tous. Bon tutoriel mais il y a juste une chose que je ne comprends pas (une chose surement toute bête) il faut créer un model pour le block lorsque vous dites de dessiner son model et de mettre ceci : model.render();

                                        Le seul truc c’est où faut-il mettre cette ligne de code car elle m’embête in-game mon yoshi a les proportions d’un block normal et il est invisible je vois juste les contours noirs.Plz help

                                        mon tileEntityTestSpecialRenderer.java

                                        package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                                        
                                        import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityTest;
                                        import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
                                        import net.minecraft.tileentity.TileEntity;
                                        
                                        import org.jglrxavpok.glutils.TessellatorModel;
                                        import org.lwjgl.opengl.GL11;
                                        
                                        public class TileEntityTestSpecialRenderer extends TileEntitySpecialRenderer implements IInventoryRenderer
                                        {
                                        
                                        private TessellatorModel glmodel;
                                        
                                        public TileEntityTestSpecialRenderer()
                                        {
                                        glmodel = new TessellatorModel("/assets/obj/Yoshi.obj");
                                        glmodel.regenerateNormals();
                                        }
                                        
                                        @Override
                                        public void renderTileEntityAt(TileEntity tileentity, double d0, double d1, double d2, float f)
                                        {
                                        GL11.glPushMatrix();
                                        GL11.glTranslated(d0+0.5, d1, d2+0.5);
                                        GL11.glScaled(0.01, 0.01, 0.01);
                                        GL11.glShadeModel(GL11.GL_SMOOTH);
                                        glmodel.render();
                                        GL11.glPopMatrix();
                                        }
                                        
                                        public void renderInventory(double x, double y, double z)
                                        {
                                        this.renderTileEntityTestAt(null, x, y, z, 0.0F);
                                        }
                                        
                                        public void renderTileEntityTestAt(TileEntity te, double x, double y, double z, float tick)
                                        {
                                        this.renderTileEntityTestAt((TileEntityTest)te, x, y, z, tick);
                                        }
                                        }
                                        
                                        

                                        mon TileEntityTest.java

                                        package mods.maxiworldcraft.mineKingdomHeartsmod.common;
                                        
                                        import net.minecraft.nbt.NBTTagCompound;
                                        import net.minecraft.tileentity.TileEntity;
                                        
                                        public class TileEntityTest extends TileEntity
                                        {
                                        public String visiteur[] = new String[]{"visiteur0", "visiteur1", "visiteur2", "visiteur3", "visiteur4"};
                                        
                                        public void readFromNBT(NBTTagCompound nbtTag)
                                        {
                                        super.readFromNBT(nbtTag);
                                        for(int i = 0; i < 5; i++)
                                        {
                                        visiteur* = nbtTag.getString("visiteur" + i);
                                        }
                                        }
                                        
                                        public void writeToNBT(NBTTagCompound nbtTag)
                                        {
                                        super.writeToNBT(nbtTag);
                                        for(int i = 0; i < 5; i++)
                                        {
                                        nbtTag.setString("visiteur" + i, visiteur*);
                                        }
                                        }
                                        
                                        public String getPlayerList()
                                        {
                                        return visiteur[0] + ", " + visiteur[1] + ", " + visiteur[2] + ", " + visiteur[3] + ", " + visiteur[4] + ", ";
                                        }
                                        public void addplayertolist(String playerName)
                                        {
                                        if(!visiteur[0].equals(playerName))
                                        {
                                        for(int i = 3; i >= 0; i–)
                                        {
                                        visiteur _= visiteur*;
                                        }
                                        visiteur[0] = playerName;
                                        }
                                        worldObj.notifyBlockChange(xCoord, yCoord, zCoord, modMineKingdomHearts.blockTest);
                                        }
                                        }
                                        ```_
                                        1 réponse Dernière réponse Répondre Citer 0
                                        • jglrxavpokJ Hors-ligne
                                          jglrxavpok Modérateurs
                                          dernière édition par

                                          Utilise les balises [java*][/java*] (sans les *) pour insérer du code

                                          Sinon, es-tu sûr d’enregistrer ta TileEntity correctement ?

                                          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
                                          • DeletedD Hors-ligne
                                            Deleted
                                            dernière édition par

                                            @‘jglrxavpok’:

                                            Utilise les balises [java*][/java*] (sans les *) pour insérer du code

                                            Sinon, es-tu sûr d’enregistrer ta TileEntity correctement ?

                                            voilà ma classe principale et merci de ta réponse ^^

                                            package mods.maxiworldcraft.mineKingdomHeartsmod.common;

                                            import java.awt.Color;
                                            
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy;
                                            import net.minecraft.block.Block;
                                            import net.minecraft.block.material.Material;
                                            import net.minecraft.creativetab.CreativeTabs;
                                            import net.minecraft.item.Item;
                                            import cpw.mods.fml.common.Mod;
                                            import cpw.mods.fml.common.Mod.EventHandler;
                                            import cpw.mods.fml.common.Mod.Instance;
                                            import cpw.mods.fml.common.SidedProxy;
                                            import cpw.mods.fml.common.event.FMLInitializationEvent;
                                            import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                                            import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                                            import cpw.mods.fml.common.registry.EntityRegistry;
                                            import cpw.mods.fml.common.registry.GameRegistry;
                                            
                                            @Mod(modid = modMineKingdomHearts.MODID, name = "Mod MineKingdom Hearts", version = "1.0")
                                            
                                            public class modMineKingdomHearts
                                            {
                                            
                                            public static final String MODID = "modminekingdomhearts";
                                            
                                            public static Item itemCIN1;
                                            public static Item itemCIN2;
                                            public static Item itemCIN3;
                                            public static Item itemCIN4;
                                            public static Item itemCIN5;
                                            
                                            public static Block blockTest;
                                            
                                            @Instance("MODID")
                                            
                                            public static modMineKingdomHearts instance;
                                            public static CreativeTabs mineKingdomHeartsCreativeTabs = new mineKingdomHeartsCreativeTabs("MineKingdom Hearts");
                                            
                                            @SidedProxy(clientSide = "mods.maxiworldcraft.mineKingdomHeartsmod.client.modMineKingdomHeartsClientProxy", serverSide = "mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy")
                                            public static modMineKingdomHeartsCommonProxy proxy;
                                            
                                            @EventHandler
                                            public void preInit(FMLPreInitializationEvent event)
                                            {
                                            
                                            itemCIN1 = new itemCIN1().setMaxStackSize(1).setUnlocalizedName("itemCIN1").setTextureName(modMineKingdomHearts.MODID + ":itemCIN1");
                                            GameRegistry.registerItem(itemCIN1, "itemCIN1");
                                            
                                            itemCIN2 = new itemCIN2().setMaxStackSize(1).setUnlocalizedName("itemCIN2").setTextureName(modMineKingdomHearts.MODID + ":itemCIN2");
                                            GameRegistry.registerItem(itemCIN2, "itemCIN2");
                                            
                                            itemCIN3 = new itemCIN3().setMaxStackSize(1).setUnlocalizedName("itemCIN3").setTextureName(modMineKingdomHearts.MODID + ":itemCIN3");
                                            GameRegistry.registerItem(itemCIN3, "itemCIN3");
                                            
                                            itemCIN4 = new itemCIN4().setMaxStackSize(1).setUnlocalizedName("itemCIN4").setTextureName(modMineKingdomHearts.MODID + ":itemCIN4");
                                            GameRegistry.registerItem(itemCIN4, "itemCIN4");
                                            
                                            itemCIN5 = new itemCIN5().setMaxStackSize(1).setUnlocalizedName("itemCIN5").setTextureName(modMineKingdomHearts.MODID + ":itemCIN5");
                                            GameRegistry.registerItem(itemCIN5, "itemCIN5");
                                            
                                            blockTest = new BlockTest(Material.rock).setCreativeTab(modMineKingdomHearts.mineKingdomHeartsCreativeTabs).setBlockName("blockTest").setBlockTextureName(modMineKingdomHearts.MODID + ":blockTest");
                                            GameRegistry.registerBlock(blockTest, "blockTest");
                                            
                                            }
                                            
                                            @EventHandler
                                            public void init(FMLInitializationEvent event)
                                            {
                                            proxy.registerRenderer();
                                            proxy.registerTileEntityRender();
                                            
                                            EntityRegistry.registerGlobalEntityID(EntityEffrayeur.class, "effrayeur", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 0, 0).getRGB(), new Color(0, 0, 0).getRGB());
                                            EntityRegistry.registerModEntity(EntityEffrayeur.class, "effrayeur", 410, this, 40, 1, true);
                                            
                                            EntityRegistry.registerGlobalEntityID(EntityHayner.class, "hayner", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                            EntityRegistry.registerModEntity(EntityHayner.class, "hayner", 411, this, 40, 1, true);
                                            
                                            EntityRegistry.registerGlobalEntityID(EntityPence.class, "pence", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                            EntityRegistry.registerModEntity(EntityPence.class, "pence", 412, this, 40, 1, true);
                                            
                                            EntityRegistry.registerGlobalEntityID(EntityOlette.class, "olette", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                            EntityRegistry.registerModEntity(EntityOlette.class, "olette", 413, this, 40, 1, true);
                                            
                                            EntityRegistry.registerGlobalEntityID(EntitySeifer.class, "seifer", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                            EntityRegistry.registerModEntity(EntitySeifer.class, "seifer", 414, this, 40, 1, true);
                                            
                                            EntityRegistry.registerGlobalEntityID(EntityRei.class, "rei", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                            EntityRegistry.registerModEntity(EntityRei.class, "rei", 415, this, 40, 1, true);
                                            
                                            EntityRegistry.registerGlobalEntityID(EntityFuu.class, "fuu", EntityRegistry.findGlobalUniqueEntityId(), new Color(255, 229, 0).getRGB(), new Color(255, 151, 7).getRGB());
                                            EntityRegistry.registerModEntity(EntityFuu.class, "fuu", 416, this, 40, 1, true);
                                            
                                            GameRegistry.registerTileEntity(TileEntityTest.class, "test");
                                            
                                            }
                                            
                                            @EventHandler
                                            public void postInit(FMLPostInitializationEvent event)
                                            {
                                            
                                            }
                                            }
                                            

                                            Sinon as-tu besoin de ma class ClientProxy?

                                            Sinon je ne comprends pas ce que tu me dire à propos des balises? tu parles de ces slash pour les commentaires?

                                            //quelque chose

                                            Tiens au cas où mon client proxy où j’ai déclaré mon TileEntity pour mon TESR

                                            package mods.maxiworldcraft.mineKingdomHeartsmod.client;
                                            
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityEffrayeur;
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityFuu;
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityHayner;
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityOlette;
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityPence;
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityRei;
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntitySeifer;
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityTest;
                                            import mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy;
                                            import net.minecraft.client.model.ModelBiped;
                                            import cpw.mods.fml.client.registry.ClientRegistry;
                                            import cpw.mods.fml.client.registry.RenderingRegistry;
                                            
                                            public class modMineKingdomHeartsClientProxy extends modMineKingdomHeartsCommonProxy
                                            {
                                            public static int renderInventoryTESRId;;
                                            
                                            @Override
                                            
                                            public void registerRenderer()
                                            {
                                            System.out.println("Salut je suis un test du client");
                                            
                                            RenderingRegistry.registerEntityRenderingHandler(EntityEffrayeur.class, new RenderEffrayeur(new ModelBiped(), 0.1F));
                                            RenderingRegistry.registerEntityRenderingHandler(EntityHayner.class, new RenderHayner(new ModelBiped(), 0.5F));
                                            RenderingRegistry.registerEntityRenderingHandler(EntityPence.class, new RenderPence(new ModelBiped(), 0.5F));
                                            RenderingRegistry.registerEntityRenderingHandler(EntityOlette.class, new RenderOlette(new ModelBiped(), 0.5F));
                                            RenderingRegistry.registerEntityRenderingHandler(EntitySeifer.class, new RenderSeifer(new ModelBiped(), 0.5F));
                                            RenderingRegistry.registerEntityRenderingHandler(EntityRei.class, new RenderRei(new ModelBiped(), 0.5F));
                                            RenderingRegistry.registerEntityRenderingHandler(EntityFuu.class, new RenderFuu(new ModelBiped(), 0.5F));
                                            
                                            renderInventoryTESRId = RenderingRegistry.getNextAvailableRenderId();
                                            RenderingRegistry.registerBlockHandler(new TESRInventoryRenderer());
                                            
                                            }
                                            public void registerTileEntityRender()
                                            {
                                            
                                            ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTest.class, new TileEntityTestSpecialRenderer());
                                            
                                            }
                                            }
                                            
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 6 / 8
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB