MFF

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

    Plantation

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.x
    11 Messages 3 Publieurs 2.4k 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.
    • T Hors-ligne
      thecraft38
      dernière édition par

      après de nombreux test et recherche je suis arrivé la dessus :

      package thecraft.mod.common.blocks;
      
      import java.util.Random;
      
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import net.minecraft.block.BlockCarrot;
      import net.minecraft.block.BlockCrops;
      import net.minecraft.client.renderer.texture.IIconRegister;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.init.Items;
      import net.minecraft.item.Item;
      import net.minecraft.util.ChatComponentText;
      import net.minecraft.util.IIcon;
      import net.minecraft.world.World;
      import thecraft.mod.common.ewifaction;
      
      public class BlockCultureTomate extends BlockCrops
      {
      public static final String name = "BlockCultureTomate";
      private IIcon[] textures;
      
      public BlockCultureTomate() {
      setBlockTextureName(ewifaction.MODID + ":" + name);
      }
      
      @Override
      public IIcon getIcon(int side, int meta) {
      if (meta < 0 || meta > 2) {
      meta = 2;
      }
      
      return this.textures[meta];
      }
      
      @Override
      public Item func_149866_i() {
      return ewifaction.ItemTomate;
      }
      
      @Override
      public Item func_149865_P() {
      return ewifaction.ItemTomate;
      }
      
      @Override
      public void registerBlockIcons(IIconRegister p_149651_1_) {
      this.textures = new IIcon[3];
      
      for (int i = 0; i < this.textures.length; ++i) {
      this.textures* = p_149651_1_.registerIcon(this.getTextureName() + "_stage_" + i);
      }
      }
      
      @Override
      public boolean func_149851_a(World p_149851_1_, int p_149851_2_, int p_149851_3_, int p_149851_4_, boolean p_149851_5_) {
      return false;
      }
      
      @Override
      public boolean func_149852_a(World p_149852_1_, Random p_149852_2_, int p_149852_3_, int p_149852_4_, int p_149852_5_) {
      return false;
      }
      
      }
      
      

      le seul problème restant est que les drop sont toujours une seul tomate.
      quelqu’un aurait une solution ?

      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

        Il faut gérer ça avec la fonction quantityDropped

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

          voila se que j’ai fait mais  quand la plante est en état final le drop est toujours de 1 :

          public int quantityDropped(Random random, int meta)
          {
          if(meta > 1)
          {
          return 3;
          }
          else
          {
          return 1;
          }
          
          1 réponse Dernière réponse Répondre Citer 0
          • GabsG Hors-ligne
            Gabs
            dernière édition par

            Tu veux faire quoi en fait ? tu veux modifier le nombre d’item drop ? mais tu veux le faire aléatoirement ?

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

              non je veux juste le modifier pas en aléatoire mais dans l’état actuel du code quand je case la plante peut importe l’étape de la plante le drop est 1 seul tomate.

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

                Ahh en fonction de la hauteur de ton bloc tu veux drop plus d’item d’accord.

                Je t’avoue que je sais pas trop a quoi correspond l’Integer meta, essaye de faire un System.out.println(meta); dans la fonction quantityDropped

                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

                  Il y a deux variantes de la fonction damageDropped.
                  Celle-ci :

                  public int quantityDropped(Random p_149745_1_)
                  {
                  return 1;
                  }
                  

                  Ou celle-ci :

                  public int quantityDropped(int meta, int fortune, Random random)
                  {
                  /**
                  * Returns the usual quantity dropped by the block plus a bonus of 1 to 'i' (inclusive).
                  */
                  return quantityDroppedWithBonus(fortune, random);
                  }
                  

                  public int quantityDropped(Random random, int meta) n’existe pas.

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

                    je ne vois pas trop comment utiliser se code un exemple serait il possible ?

                    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

                      C’est une blague ?

                      public int quantityDropped(int meta, int fortune, Random random)
                      {
                      if(meta > 1)
                      {
                      return 3;
                      }
                      return 1;
                      }
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • T Hors-ligne
                        thecraft38
                        dernière édition par

                        non j’ai voulu chercher compliqué la ou il n’y avait pas lieu d’être en effet comme sa le code parait logique

                        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