MFF

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

    Charger une classe au démarrage

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    14 Messages 3 Publieurs 1.6k Vues 1 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.
    • P Hors-ligne
      PotTime
      dernière édition par

      En gros, le code que je veux ajouter c’est :

      
      import java.util.Random;
      
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.renderer.EntityRenderer;
      import net.minecraft.client.resources.IResourceManager;
      
      public class ServerProxy extends EntityRenderer {
      
      private Minecraft m;
      private double d;
      private long l;
      private Random r;
      
      public ServerProxy(Minecraft p_i45076_1_, final IResourceManager p_i45076_2_) {
      super(p_i45076_1_, p_i45076_2_);
      this.d = 3.7;
      this.l = 0L;
      this.r = new Random();
      this.m = p_i45076_1_;
      }
      
      }
      
      

      et j’aimerai le rajouter à ma classe principal qui charge mon mode plus précisément dans le init

      
      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 fr.pottime.proxy.CommonProxy;
      
      @Mod(modid = Reference.MODID, name = Reference.Name, version = Reference.Version)
      public class Pottime {
      
      @Instance(Reference.MODID)
      public static Pottime instance;
      
      @SidedProxy(clientSide = Reference.ClientProxy, serverSide = Reference.ServerProxy)
      public static CommonProxy proxy;
      
      @EventHandler
      public void preInit(FMLPreInitializationEvent event)
      {
      
      }
      
      @EventHandler
      public void Init(FMLInitializationEvent event)
      {
      
      proxy.registerRenders();
      /*
      * Je souhaite le rajouter ici !
      */
      
      }
      
      @EventHandler
      public void PostInit(FMLPostInitializationEvent event)
      {
      
      }
      }
      
      
      1 réponse Dernière réponse Répondre Citer 0
      • DeletedD Hors-ligne
        Deleted
        dernière édition par

        Qu’essaies-tu de faire concrètement ?
        Car quand je voie un ServerProxy contenir des références vers des classes client, mon cerveau me dit que c’est tout bêtement impossible …

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

          Ma classe ServerProxy modifie des choses dans Minecraft, j’ai dejà créer un gui pour le lancer manuellement mais je souhaiterai que ça le fasse automatiquement au démarrage.
          J’aimerai que ma classe s’éxécute au démarrage en gros…

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

            Passons le fait que tu auras sûrement des problèmes ClassNotFound lors de l’exécution du mod sur serveur, pour ta demande, je te conseille, en + d’apprendre définitivement les bases de la POO, d’instancier ta classe dans la méthode init, et avec ta variable ServerProxy, lancer les fonctions qui t’intéressent.

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

              D’accord, tu peux me dire comment tu pourrai régler mon problème 🙂

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

                @‘Plaigon’:

                'instancier ta classe dans la méthode init, et avec ta variable ServerProxy, lancer les fonctions qui t’intéressent.

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

                  Tu peux me donner le code car je n’ai pas exactement tout compris,
                  instancier ta classe dans la méthode init, faut faire un

                  
                  @Instance(Reference.ServerProxy)
                  public static final ServerProxy ServerProxy;
                  
                  

                  au dessus de

                  
                  @EventHandler
                  public void Init(FMLInitializationEvent event)
                  {
                  proxy.registerRenders();
                  }
                  
                  

                  et après ?

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

                    Bon premièrement, tu ne devrais pas avoir de classe appelé ServerProxy. C’est soit ClientProxy, soit CommonProxy, pas ServerProxy.
                    Ensuite, tu réexpliqueras ce que tu souhaites faire car je n’ai toujours pas compris.

                    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

                      Salut,
                      Pour répondre à ta question :

                      new ServerProxy(Minecraft.getMinecraft(), une instance de quelque chose implémentant IResourceManager, aucune idée de quoi);
                      

                      Voila comment tu peux instancier ta classe (ça fait partie de la base java)

                      Et si tu as besoin de faire quelque chose de ton instance :

                      ServerProxy nomVariable = new ServerProxy(Minecraft.getMinecraft(), une instance de quelque chose implémentant IResourceManager, aucune idée de quoi);
                      

                      ceci dit, je pense que tu ferai mieux d’expliquer ce que tu cherches à faire pour qu’on puisse t’aider de façon pertinente.

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

                        Robin, tu devrais changer ce topic de catégorie, je ne pense pas que ce soit la bonne.

                        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

                          En effet, je viens de voir.

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

                            Merci , ça marche !

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

                            MINECRAFT FORGE FRANCE © 2024

                            Powered by NodeBB