MFF

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

    Demande d'aide à la création d'un Mod Cannon

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.10
    16 Messages 3 Publieurs 1.9k 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.
    • L Hors-ligne
      LeRicardMenthe
      dernière édition par

      Bonjours je suis nouveau sur les forum, mais aussi en java.

      J’ai appris quelque base me permettant de faire de petits mods pour m’amuser, mais cette fois j’aimerais faire quelque chose qui me seras utile pour un futur serveur moddé, un mod rajoutant un (ou plusieur) type de canon.
      Je ne sais pas du tout comment m’y prendre, car d’abord j’aimerais que ce canon soit sous forme de “block” ou du moins pas d’entité, pour être clair un canon tel celui du mod Balkon’s Weapon, mais pas sous forme d’entité, car ce serait pour utiliser avec le Ship’s Mod.

      J’espère que quelqu’un traitera ma demande, si vous en avez le temps, et si il est possible de m’aiguiller. 
      Ah oui et le plugin Cannons, trés connu, ne fonctionne pas sur mon serveur Cauldron 1.7.0.

      Merci d’avance, et bonne journée.

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

        Salut,
        Pourquoi ne pas essayer plutôt de corriger le plugin, car te lancer dans un tel mod sans connaissances (ou très peu) en Java, c’est + que suicidaire x)
        Plus sérieusement, le Ship’s mod ne supporte pas le déplacement des entity dessus ? Les joueurs sur ton bateau parviennent bien à se déplacer pourtant ?

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

          @‘Plaigon’:

          Salut,
          Pourquoi ne pas essayer plutôt de corriger le plugin, car te lancer dans un tel mod sans connaissances (ou très peu) en Java, c’est + que suicidaire x)
          Plus sérieusement, le Ship’s mod ne supporte pas le déplacement des entity dessus ? Les joueurs sur ton bateau parviennent bien à se déplacer pourtant ?

          Je ne sais pas comment corriger, j’ai essayer toutes les version pour la 1.7.10, non enfin quand je place un canon sur un navire bah vu que pour se déplacer il devient une entité le canon ne reste pas. Après si vous avez des idées pour mon problème sans forcement que j’aille au suicide je suis preneur ^^.

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

            Tu peux essayer de regarder pourquoi le plugin ne fonctionne pas (au cas où il y aurait un crash-report), ou alors te lancer dans le développement d’un mod forge.
            Tu pourrais opter pour une structure de blocks qui constitueraient ton canon, au bout duquel tu ferais spawn tes entity projectiles (= tes boulets de canon).

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

              Oui je pense que je vais opter pour la deuxième option mais ça revient au même je sais pas par où commencer 😢

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

                https://www.minecraftforgefrance.fr/topic/526/créer-la-base-de-votre-mod
                https://www.minecraftforgefrance.fr/topic/562/créer-un-bloc-basique
                https://www.minecraftforgefrance.fr/topic/1366/ajouter-un-rendu-avancé-à-votre-bloc-via-tesr (optionnel)
                https://www.minecraftforgefrance.fr/topic/574/créer-un-mob-basique et https://www.minecraftforgefrance.fr/topic/325/créer-un-modèle-avec-techne-et-l-appliquer-à-un-mob

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

                  Je ne comprend pas pour un mob, en fait je ne vois pas comment permettre a un block de tirer un projectile.

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

                    Tu ne peux pas envisager d’imaginer et de comprendre le déroulement des choses dans le code, si tu n’as pas déjà ta base de mod, ton block et tout.
                    Attaque toi au + dur et + long avec les liens ci-dessus, puis on verra les détails ensuite, okay ?

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

                      Voilà donc j’ai mon block simple, mon mob simple, mais est ce obligatoire d’appliquer un modèle au mob? Et puis à partir de là je suis perdu, j’ai un block et une entité et… c’est tout, pouvez vous m’aider d’avantage, je veux dire être plus précis car je ne suis pas bon donc je ne comprend pas trés bien tout le java.

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

                        Je peux être plus précis, oui, mais je ne donnerai aucun code, car je suis dans l’optique de vouloir te faire progresser. Ton entity peut avoir un modèle ou non, il s’agit d’un boulet de canon, j’imagine. Donc le rendu d’une sphère dans la classe render peut suffire. Ou si tu penses ne pas y arriver, faire un modèle avec craftstudio/tabula et en effet appliquer un modèle à l’entity. Ensuite pense bien à l’hériter EntityThrowable, au lieu de EntityMob.
                        Pour finir concernant ton block, je t’avais conseillé de faire un structure multiblock (il me semble qu’il y a un tuto sur le fofo), afin de détecter l’ensemble “canon”. Tu pourras override la méthode onBlockActivated pour faire spawn/décoller ton boulet !

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

                          Pas de soucis, bien sur que je veux progresser (même si c’est mal partit). Donc mon entity sera en fait le projectile? Qui sera tirer par le canon oui mais par quel événement? et je n’ai pas bien compris l’override de onBlockActivated? Vous pouvez développer?

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

                            Tu peux me tutoyer, je te rassure !
                            Il n’y a pas de notion d’événement ou quoique ce soit, juste la méthode World#spawnEntityInWorld.
                            Je ne développerai pas le terme “override”, car il s’agit littéralement des bases en Java, et surtout en Programmation Orientée Objet. Tu ferais mieux de revoir cette partie, sinon on passera d’un topic de 2 pages à surement 5 ou 10 pages (et crois moi c’est déjà arrivé…) !

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

                              Je suis actuellement bloqué pour le TileEntity, je comprend le tuto jusqu’a la la classe TileEntity, aprés j’ai fais ça mais ça ne m’a pas l’air bon, de plus le tutorial est pour la 1.8 et je ne sais pas quoi changé pour la 1.7.10

                              package com.cannon;
                              
                              import net.minecraft.nbt.NBTTagCompound;
                              import net.minecraft.tileentity.TileEntity;
                              
                              public class TileEntityMultiBlockTuto extends TileEntity
                              {
                                  private boolean hasMaster = false;
                                  private boolean isMaster = false;
                                  private int masterX = 0;
                                  private int masterY = 0;
                                  private int masterZ = 0;
                              
                                  @Override
                                  public void readFromNBT(NBTTagCompound compound)
                                  {
                                      super.readFromNBT(compound);
                                      this.hasMaster = compound.getBoolean("HasMaster");
                                      this.isMaster = compound.getBoolean("IsMaster");
                                      this.masterX = compound.getInteger("MasterX");
                                      this.masterY = compound.getInteger("MasterY");
                                      this.masterZ = compound.getInteger("MasterZ");
                                  }
                              
                                  @Override
                                  public void writeToNBT(NBTTagCompound compound)
                                  {
                                      super.writeToNBT(compound);
                                      compound.setBoolean("HasMaster", hasMaster);
                                      compound.setBoolean("IsMaster", isMaster);
                                      compound.setInteger("MasterX", masterX);
                                      compound.setInteger("MasterY", masterY);
                                      compound.setInteger("MasterZ", masterZ);
                                  }
                              
                              public boolean hasMaster()
                              {
                                  return this.hasMaster;
                              }
                              
                              public boolean isMaster()
                              {
                                  return this.isMaster;
                              }
                              
                              public int getMasterX()
                              {
                                  return this.masterX;
                              }
                              
                              public int getMasterY()
                              {
                                  return this.masterY;
                              }
                              
                              public int getMasterZ()
                              {
                                  return this.masterZ;
                              }
                              
                              public void setMaster(int x, int y, int z)
                              {
                                  this.hasMaster = true;
                                  this.masterX = x;
                                  this.masterY = y;
                                  this.masterZ = z;
                              }
                              
                              private boolean checkStructure()
                              {
                                  int n = 0;
                                  for(int x = this.pos.getX() - 1; x < this.pos.getX() + 2; x++)
                                  {
                                      for(int z = this.pos.getZ() - 1; z < this.pos.getZ() + 2; z++)
                                      {
                                          BlockPos position = new BlockPos(x, this.pos.getY(), z);
                                          TileEntity tile = worldObj.getTileEntity(position);
                                          if(tile != null && tile instanceof TileEntityMultiBlockTuto)
                                          {
                                              TileEntityMultiBlockTuto t = (TileEntityMultiBlockTuto)tile;
                                              if(t.hasMaster)
                                              {
                                                  if(this.pos.getX() == t.getMasterX() && this.pos.getY() == t.getMasterY() && this.pos.getZ() == t.getMasterZ())
                                                  {
                                                      n++;
                                                  }
                                              }
                                              else
                                              {
                                                  n++;
                                              }
                                          }
                                      }
                                  }
                              
                                  if(n == 9)
                                  {
                                      return true;
                                  }
                                  return false;
                              }
                              
                              }
                              
                              1 réponse Dernière réponse Répondre Citer 0
                              • DylemD Hors-ligne
                                Dylem
                                dernière édition par

                                Ce serait pas-mal de nous dire ce qui ne fonctionne pas.

                                
                                

                                Pourquoi pas simplement return n == 9 ? Et pourquoi 9, ton canon fait 9 cases ? Il semble qu’il manque beaucoup de fonctions, d’où as-tu pris ce code ?

                                Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

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

                                  Du tutoriel structure multiblock de BrokenSwing, je n’ai encore rien changé, mon canon doit faire 3 cases, c’est pas que ça ne fonctionne pas, c’est juste que this.pos et Block pos ne sont pas trouver comme type.

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

                                    @‘LeRicardMenthe’:

                                    Du tutoriel structure multiblock de BrokenSwing, je n’ai encore rien changé, mon canon doit faire 3 cases, c’est pas que ça ne fonctionne pas, c’est juste que this.pos et Block pos ne sont pas trouver comme type.

                                    C’est BlockPos, et fais CTRL + SHIFT + O pour importer les classes qu’il manque.

                                    this.pos est défini ainsi :

                                    
                                    protected BlockPos pos = BlockPos.ORIGIN;
                                    
                                    

                                    Le mot clef protected montre que si ta classe est une extension de TileEntity, tu ne devrais avoir aucun problème.

                                    Si je t'ai aidé, n'hésite pas à cliquer sur le nombre vert en dessous de mon image de profil, pour me le faire savoir. Ca me motive pour continuer …

                                    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