Navigation

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

    SOLVED Empêcher destruction block

    1.12.x
    1.12.x
    3
    6
    565
    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.
    • L
      LaurentOutang last edited by

      Bonjour,

      Je voudrais empêcher les joueurs mais aussi les pnj de casser les plantes (blé, carotte, betterave, patate, etc). Je ne sais pas comment m’y prendre. J’ai essayé avec PlayerInteractEvent, LivingDestroyBlockEvent, BlockEvent) ca n’a pas marché sauf avec le dernier mais au bout de 10s ça crash en disant que l’event n’est pas cancellable. Sinon au moins empêcher les plantes des pousser.

      Merci

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

        Salut,
        Il faut cancel BlockEvent.BreakEvent

        1 Reply Last reply Reply Quote 0
        • L
          LaurentOutang last edited by

          @‘robin4002’:

          Salut,
          Il faut cancel BlockEvent.BreakEvent

          Cette méthode semble ne pas exister (ou plus) je suppose que ce que j’ai fait est l’équivalent :

          @SubscribeEvent
          public static void onBlockDestroyed(BlockEvent event)
              {
          if(season_manager.getSeason() == SeasonManager.seasons.Summer && event.getState().getBlock() instanceof BlockBeetroot)
          {
          event.setCanceled(true);
          }
              }
          

          Mais j’ai l’erreur suivante Event#setCanceled() on a non-cancelable event of type: net.minecraftforge.event.world.BlockEvent.CropGrowEvent.Pre

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

            Hum si si il existe bien en 1.12.2

            
              @SubscribeEvent
               public static void onBlockDestroyed(BlockEvent.BreakEvent event)
               {
                   if(season_manager.getSeason() == SeasonManager.seasons.Summer && event.getState().getBlock() instanceof BlockBeetroot)
                   {
                        event.setCanceled(true);
                   }
              }
            
            1 Reply Last reply Reply Quote 0
            • L
              LaurentOutang last edited by

              @‘robin4002’:

              Hum si si il existe bien en 1.12.2

              
                @SubscribeEvent
                 public static void onBlockDestroyed(BlockEvent.BreakEvent event)
                 {
                     if(season_manager.getSeason() == SeasonManager.seasons.Summer && event.getState().getBlock() instanceof BlockBeetroot)
                     {
                          event.setCanceled(true);
                     }
                }
              

              Ah oui d’accord, merci beaucoup, résolu !

              1 Reply Last reply Reply Quote 0
              • Izuka_
                Izuka_ last edited by

                AH ! Oups j’suis arrivé trop tard :’(

                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