MFF

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

    Modifier le drop d'un bloc

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.6.4
    12 Messages 5 Publieurs 4.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.
    • VebertV Hors-ligne
      Vebert
      dernière édition par

      Bonjours,
      pour mon mod j’aurais besoin de modifié le drop de certains bloc vanilla en autre la dirt et la grass.

      J’ai fait des recherches pour trouver comment faire avec forge sans trouver de méthodes direct.
      La solution que j’utilisais jusqu’à maintenant était de supprimer le bloc vanilla avec ce code (pour la dirt):

      Block.blocksList[Block.dirt.blockID] = null;
      

      et de recréer un bloc pour le remplacer avec les caractéristiques voulu.

      Le problèmes c’est que supprimer le bloc de grass de la liste des bloc fait planter le jeu au lancement même si celui-ci est remplacé après. Je suppose que cela vient de son type (BlockGrass et non Block) mais je ne trouve pas de solution pour résoudre ça.

      Pour résumer je cherche:
         -une méthode pour changer le drop des bloc vanilla
         -(et/ou) une méthode pour remplacer le bloc grass sans faire planter le jeu

      Merci de votre aide.

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

        http://www.minecraftforgefrance.fr/showthread.php?tid=404
        Désolé, erreur 404 solution no found.

        Plus sérieusement, pour le drop il existe l’event drop de forge et pour remplacer le bloc d’herbe, le bloc par qui remplace le bloc d’herbe est il extends BlockGrass ?


        Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

          Je vais aller voir du coté de l’event drop de forge ( j’ai du passer a coté ).

          Le bloc qui remplace le BlockGrass est bien extends BlockGrass mais dans le doute j’ai revu mon code et il y avait une erreur d’ID sur celui-ci.
          Donc pour le bloc d’herbe j’ai une erreur à la génération (ou au chargement) de la map c’est déjà mieu 😛 .

          Merci pour votre réponse rapide je vais essayer de résoudre le problème pour le bloc d’herbe et aller voir comment marche l’event drop si tout marche bien je posterais la solution plus en détail et je clôturerais le post.

          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

            @ForgeSubscribe
            public void onBlockDrop(HarvestDropsEvent event)
            {
            if(event.block.blockID == Block.grass.blockID)
            {
            event.drops.clear(); //supprime la liste de drop actuel
            event.drops.add(new ItemStack(Block.stone)); //ajoute un bloc de pierre à la liste des drops
            }
            }
            

            La classe a importer :
            import net.minecraftforge.event.world.BlockEvent.HarvestDropsEvent;

            1 réponse Dernière réponse Répondre Citer 1
            • VebertV Hors-ligne
              Vebert
              dernière édition par

              Merci de m’avoir mâché le travail :p.

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

                J’ai un probleme avec la commance “if(event.block.blockID == Block.grass.blockID)”, le programme ne reconnait pas le block entre event et blockID

                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

                  Existe plus depuis la 1.7.x
                  Retires simplement les .blockID.

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

                    Le logiciel ne reconnait aucun mot en gras, il me manque juste ça et je pense que c’est okay …

                    **@ForgeSubsribe **                                         
                        public void onBlockDrop(HarvestDropsEvent event) {

                    if(event.block == ModBlocks.rubyore) {
                                event.getDrops().clear();
                                ItemStack stack = new ItemStack(ModItems.ruby);
                                event.getDrops().add(stack);
                            }

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

                      Il faut remplacer le @ForgeSubscribe par @SubscribeEvent (puis l’importer) et le event.block à du être remplacé par event.getBlock() (pas sur à 100% dépend du la version où tu es).

                      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
                      • N Hors-ligne
                        neverslands
                        dernière édition par

                        Désolé de vous embèter avec ça mais j’ai actuellement ceci mais ça marche pas vraiment …

                        @SubscribeEvent
                            public void onBlockDrop(HarvestDropsEvent event) {

                        if(event.getState().getBlock() == ModBlocks.rubyore) {
                                    event.getDrops().clear();
                                    ItemStack stack = new ItemStack(ModItems.ruby);
                                    event.getDrops().add(stack);
                                }                    
                            }

                        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

                          https://www.minecraftforgefrance.fr/showthread.php?tid=716

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

                            Merci de votre aide, désolé pour le dérangement, j’ai finalement trouver la solution ❤

                            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