1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

[1.5 ML/Forge] Un bloc #5 Une Mine(explosive)

Discussion dans 'Tutoriels' créé par ATE47, 2 Juin 2013.

  1. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Pour faire ce tuto il vous faut avoir fait cette page(ModLoader/Forge)

    [​IMG][​IMG][​IMG][​IMG][​IMG][​IMG][​IMG]
    [ML]Un bloc #4 Une mine(explosive)
    Sommaire:
    I. Situer ce qu'il faut changer
    II. configurer

    I : Situer ce qu'il faut changer
    Bonjour,
    aujourd'hui je vais vous montrez comment créer une mine qui, lorsque l'on marche dessus fait BOOM !(que avec joueur)
    Tous d’abord il ni Rien à changer dans la classe de votre mod sauf pour ce tutoriel le bloc se nommera BlockMine et non Bloc_Tutoriel/BlockMonBloc et sous modLoader changer le code
    Code (java):
     BlockMine(150, 0, Material.rock, 150, 1)
    par :
    Code (java):
     BlockMine(150)
    Vous allez dans votre classe BlockMine.java et remplacer tous dans la partie de la classe par ceci :
    Code (java):

        public BlockMine(int par1, Material par3Material)
        {
      super(par1, Material.circuits);
      this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.025F, 1.0F);
     
        }
        public boolean isBlockSolid(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
        {
    return false;
     
        }
        public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
     
        {
      if (par5Entity instanceof EntityPlayer)
      {
      float f = 2.50F;
          Explosion explosion = new Explosion(par1World, par5Entity, par2, par3, par4, f);
      par1World.createExplosion(par5Entity, par2, par3, par4, f, false);
      par5Entity.attackEntityFrom(DamageSource.setExplosionSource(explosion), 40);
      par1World.setBlockToAir(par2, par3, par4);
      }
     
        }
        public int getRenderType()
    {
      return 0;
    }
        public boolean isOpaqueCube()
        {
            return false;
        }
     
        /*
        * Definit si vous pouvez toucher le bloc
        * true si oui, false si non.
        */

        public boolean isCollidable()
        {
      return true;
        }
        public boolean renderAsNormalBlock()
        {
            return false;
        }
     
        public void registerIcons(IconRegister par1IconRegister)
        {
        this.blockIcon = par1IconRegister.registerIcon("modTutoriel:TextureBlocTutoriel");
        }

    Code (java):

        public BlockMine(int par1, Material par3Material)
        {
      super(par1, Material.circuits);
      this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.025F, 1.0F);
     
        }
        public boolean isBlockSolid(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
        {
    return false;
     
        }
        public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
     
        {
      if (par5Entity instanceof EntityPlayer)
      {
      float f = 2.50F;
          Explosion explosion = new Explosion(par1World, par5Entity, par2, par3, par4, f);
      par1World.createExplosion(par5Entity, par2, par3, par4, f, false);
      par5Entity.attackEntityFrom(DamageSource.setExplosionSource(explosion), 40);
      par1World.setBlockToAir(par2, par3, par4);
      }
     
        }
        public int getRenderType()
    {
      return 0;
    }
        public boolean isOpaqueCube()
        {
            return false;
        }
     
        /*
        * Definit si vous pouvez toucher le bloc
        * true si oui, false si non.
        */

        public boolean isCollidable()
        {
      return true;
        }
        public boolean renderAsNormalBlock()
        {
            return false;
        }

    II : Configurer
    Explication :
    Code (java):
    public BlockMine(int par1, Material par3Material)
        {
      super(par1, Material.circuits);
      setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.025F, 1.0F);
     
        }
    Material.circuits : définie le matériel utiliser
    setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.025F, 1.0F); : définie la taille du bloc, 0.025 est la hauteur
    Code (java):
    public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
     
        {
      if (par5Entity instanceof EntityPlayer)
      {
      float f = 2.50F;
          Explosion explosion = new Explosion(par1World, par5Entity, par2, par3, par4, f);
      par1World.createExplosion(par5Entity, par2, par3, par4, f, false);
      par5Entity.attackEntityFrom(DamageSource.setExplosionSource(explosion), 40);
      par1World.setBlockToAir(par2, par3, par4);
      }
    float f = 2.50F; : dit la puissance de l'explosion
    explosion), 40); : dit le nombre de coeur perdu ou quelque chose dans le genre, 40 tue le joueur
    par1World.setBlockToAir(par2, par3, par4); : supprime le bloc
    Code (java):
     public int getRenderType()
    {
      return 0;
    }
    0 : définie le type de render (inutile)
    Code (java):
    public boolean isOpaqueCube()
        {
            return false;
        }
    false : Dit si on peut voir à travert(vrai=true/false=faux)
    Code (java):
    public boolean isCollidable()
        {
      return true;
        }
    true : dit si on peut le toucher avec les mains (vrai=true/false=faux)
    Code (java):
    public boolean renderAsNormalBlock()
        {
            return false;
        }
    false : dit que le render n'est pas normal (vrai=true/false=faux)(pas sur que ce soit utile)

    Fin
     
  2. Kanar

    Kanar Ami des Creepers

    Inscrit:
    5 Nov 2012
    Messages:
    11 119
    Points:
    304
    Sexe:
    Homme
    C'est sympathique, on peut s'amuser avec ce genre de choses. ^^

    Et sinon :
    Code (java):
    public boolean isOpaqueCube()
     { return false; }
    Celui là, si je ne me trompe pas définit si le bloc est opaque ou non. (Donc si on peut voir à travers ou non.), à laisser sur false. :)
    (Après, je ne suis plus très sûr, à confirmer quoi. :p)
     
  3. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Pour les (code)(/code) il ne faut pas mettre de couleur ou d'ajout
    pour le faire je te conseille de le faire en éditeur classique
     
  4. Kanar

    Kanar Ami des Creepers

    Inscrit:
    5 Nov 2012
    Messages:
    11 119
    Points:
    304
    Sexe:
    Homme
    Ouais, j'sais, j'ai juste foiré. :')
     
  5. ATE47

    ATE47 Bûcheron

    Inscrit:
    3 Juil 2012
    Messages:
    227
    Points:
    121
    Sexe:
    Homme
    Oui, c'est bien ça.
     

Partager cette page