Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    SOLVED Demande d'aide pour créer une pioche à spawner [Forge 1.7.10]

    1.7.x
    1.7.10
    2
    8
    408
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MrKibatsu last edited by Superloup10

      Bonjour, j’ai un petit soucis j’essaie de crée une pioche qui permet de récupérer les “mob_spawner” donc déjà tout d’abord je déclare mon événement dans ma Class Event

      MinecraftForge.EVENT_BUS.register(new DropsBlock());
      

      et crée la class lui correspondant

      public class DropsBlock 
      {
          @SubscribeEvent
          public void BlockDestroyed(HarvestDropsEvent events)
          {
              if(events.block == Blocks.mob_spawner)
              {
                  events.drops.add(new ItemStack(Blocks.mob_spawner));
              }
          }
      }
      

      Oui je sais je n’est pas intégré la condition pour que ma Pioche à Spawner uniquement puisse récupérer le “mob_spawner” (a vrai dire je ne vois pas vraiment comment faire) , mais ce n’est pas encore l’heure de ce pré-occuper de ce problème mon problème actuel et que ben tout simplement mon évent ne marche pas j’ai ma petite idée je pense que c’est du au fait que j’utilise HarvestDropsEvent et pas BreakBlock, donc si une âme charitable pourrait m’accorder son aide.

      1 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

        Salut,
        En effet HarvestDropsEvent n’est appelé que lorsqu’un bloc drop des items, ce qui n’est pas le cas du spawner.
        Il faut absolument utiliser BlockEvent.BreakEvent (tu peux drop un item en faisant spawn l’EntityItem dans le monde).

        1 Reply Last reply Reply Quote 0
        • M
          MrKibatsu last edited by

          Merci de ta réponse qui confirme mon hypothèse de base par malchance je ne sais pas comment utiliser cette Event correctement j’ai essayer déjà mais sans succès

          1 Reply Last reply Reply Quote 0
          • robin4002
            robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

            De la même façon que les autres event.
            Tu peux envoyer le code d’une de tes tentatives ?

            1 Reply Last reply Reply Quote 0
            • M
              MrKibatsu last edited by MrKibatsu

              Non je l’es malheureusement supprimer car je ne trouvais d’ailleurs plus comment drops le block au sol

              Edit à 19:10 H donc j’ai re-tester un code en bidouillant

              public class DropSpawner extends BreakEvent {
              
              	public DropSpawner(int x, int y, int z, World world, Block block, int blockMetadata, EntityPlayer player) 
              	{
              		super(x, y, z, world, block, blockMetadata, player);
              		
              		if(block == Blocks.mob_spawner)
              		{
              			world.setBlock(x, y, z, Blocks.mob_spawner);
              		}
              	}	
              }
              

              Donc il marche mais je ne sais pas si il y a mieux et ensuite j’vois pas trop comment rajouter ma condition pour ma Pioche. j’me doute bien que dans mon if j’doit dire que l’item qui effectue le break = Item.diamond_pickaxe mais c’est le “item qui effectue le break” que je n’arrive pas à faire

              1 Reply Last reply Reply Quote 0
              • robin4002
                robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                L’event doit être utilisé comme les autres event :

                    @SubscribeEvent
                    public void BlockDestroyed(BreakEvent events)
                    {
                        if(events.block == Blocks.mob_spawner)
                        {
                            events.world.spawnEntityInWorld(new EntityItem(x, y, z, new ItemStack(Blocks.mob_spawner)));
                        }
                    }
                
                1 Reply Last reply Reply Quote 0
                • M
                  MrKibatsu last edited by MrKibatsu

                  D’accord merci et pour la condition pour vérifier la pioche car je ne trouve pas s’il te plaît

                  1 Reply Last reply Reply Quote 0
                  • robin4002
                    robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                    depuis event.player il faut get le current item (et vérifier qu’il n’est pas null)

                    1 Reply Last reply Reply Quote 0
                    • 1 / 1
                    • First post
                      Last post
                    Design by Woryk
                    Contact / Mentions Légales / Faire un don

                    MINECRAFT FORGE FRANCE © 2018

                    Powered by NodeBB