MFF

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

    Problème item qui ne se drop pas

    Planifier Épinglé Verrouillé Déplacé Résolu 1.9.x et 1.10.x
    1.10.x
    10 Messages 4 Publieurs 1.8k 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.
    • GabsG Hors-ligne
      Gabs
      dernière édition par

      Bonjour,

      J’ai créer un block, je voudrais que le joueur quand il casse le block un item drop (très simple).

      Mais je sais pas, j’ai du oublier quelques chose mais je vois pas ou… j’ai bien Override et tout je sais pas.

      Class Block:

      
      package com.CSC.net.block;
      
      import java.util.Random;
      
      import javax.annotation.Nullable;
      
      import com.CSC.net.item.CSCItems;
      
      import net.minecraft.block.Block;
      import net.minecraft.block.BlockHorizontal;
      import net.minecraft.block.BlockPlanks;
      import net.minecraft.block.SoundType;
      import net.minecraft.block.material.Material;
      import net.minecraft.block.properties.IProperty;
      import net.minecraft.block.properties.PropertyDirection;
      import net.minecraft.block.state.BlockStateContainer;
      import net.minecraft.block.state.IBlockState;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.entity.monster.EntityZombie;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.inventory.InventoryHelper;
      import net.minecraft.item.Item;
      import net.minecraft.item.Item.ToolMaterial;
      import net.minecraft.item.ItemStack;
      import net.minecraft.potion.Potion;
      import net.minecraft.potion.PotionEffect;
      import net.minecraft.util.EnumFacing;
      import net.minecraft.util.math.BlockPos;
      import net.minecraft.world.IBlockAccess;
      import net.minecraft.world.World;
      
      public class blockbois extends BlockHorizontal{
      
      public blockbois(Material materialIn) {
      super(materialIn);
      this.setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
      this.setSoundType(SoundType.WOOD);
      this.setHarvestLevel("Class", 0);
          }
      
          public IBlockState onBlockPlaced(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer)
          {
              return this.getDefaultState().withProperty(FACING, placer.getHorizontalFacing().getOpposite());
          }
      
          public IBlockState getStateFromMeta(int meta)
          {
              return this.getDefaultState().withProperty(FACING, EnumFacing.getHorizontal(meta));
          }
      
          public int getMetaFromState(IBlockState state)
          {
              return ((EnumFacing)state.getValue(FACING)).getHorizontalIndex();
          }
      
          protected BlockStateContainer createBlockState()
          {
              return new BlockStateContainer(this, new IProperty[] {FACING});
          }
      
      @Override
      public int quantityDropped(Random random)
      {
         return 1;
          }
      
          @Override
          public Item getItemDropped(IBlockState state, Random rand, int fortune)
          {
              return CSCItems.item_boisabime;
          }
      
          @Override
          public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
          {
          //(1 chance / 10)
          if(worldIn.rand.nextInt(10) == 5) 
          {
          System.out.println("");
          EntityZombie zombie = new EntityZombie(worldIn);
          zombie.setChild(true);
          zombie.addPotionEffect(new PotionEffect(Potion.getPotionById(2), 9999999, 2));
          zombie.addPotionEffect(new PotionEffect(Potion.getPotionById(4), 9999999, 2));
          zombie.setPosition(pos.getX(), pos.getY() + 1, pos.getZ());
          worldIn.spawnEntityInWorld(zombie);
      
          }
          worldIn.setBlockState(new BlockPos(pos.getX(), pos.getY(), pos.getZ()), CSCBlocks.block_invisible.getDefaultState());
          }
      
      }
      
      

      Register Block:

          public static final Block block_bois = new blockbois(Material.WOOD).setHardness(2.0F).setResistance(5.0F).setUnlocalizedName("block_bois").setCreativeTab(CreativeTabs.DECORATIONS);
      
      
      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

        Je ne vois pas de problème dans ton code. Quel est le soucis ?

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

          Il est possible que ce soit à cause de la metadata qui varie en fonction de l’orientation, override la fonction damageDropped et mets 0 en return.

          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

            Le soucis c’est que quand je casse mon bloc rien ne spawn alors que j’ai mis l’item boisabime.

            Aymeric, non rien du tout c’est pareil…

            EDIT:

            J’ai essayer sans l’orientation du bloc, c’est pareil.

            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

              L’item est sûrement null alors.

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

                @‘robin4002’:

                L’item est sûrement null alors.

                J’ai essayer avec une pomme, c’est pareil.

                C’est bizarre car il me semble que au début avant que je fasse le système du zombie qui spawn 1 fois sur 10 ça marchait… je vais essayer de l’enlever voir…

                EDIT:

                Ouais je confirme… en fait c’est mon système je penses que c’est le bloc que je fais spawn juste après avoir casser le bloc.

                Je vais essayer de réglé ça.

                Problème résolu!

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

                  J’ai pas les sources mais un simple appelle de ```java
                  super.breakBlock(…);

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

                    @‘BrokenSwing’:

                    J’ai pas les sources mais un simple appelle de ```java
                    super.breakBlock(…);

                    J’ai pas compris ta question, mais si tu veux savoir comment j’ai résolu, j’ai modifier la position du block_inivisible que je faisait spawn dans la fonction breakblock.

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

                      Il parlait d’appeler la fonction breakBlock de la classe parente à ta classe (le extends, ici BlockHorizontal pis Block) car il pensait que c’était elle qui s’occupait du loot, mais ce n’est pas le cas.

                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                        Ahh d’accord ^^

                        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