MFF

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

    Custom Fuel en 1.13.2

    Planifier Épinglé Verrouillé Déplacé Résolu 1.13.x
    1.13.2
    7 Messages 2 Publieurs 534 Vues 2 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.
    • AlasDiabloA Hors-ligne
      AlasDiablo
      dernière édition par

      Bonjour, du au faite que la forge 1.13.2 et ressente je n’arrive pas a trouve comme faire un Custom Fuel, car apparemment les Interface et Class, de la version 1.12.2 ne sont plus pressent.
      Des idée sur comment faire un Custom Fuel ? Car je ne trouve pas d’info a propos de ça…

      mes mod actulle:

      • JANOEO
      1 réponse Dernière réponse Répondre Citer 0
      • AlasDiabloA Hors-ligne
        AlasDiablo
        dernière édition par

        C’est bon j’ai trouvé, en fessant un peux de rétro-ingénierie.
        Enfaite la class Item implemente l’interface IForgeItem et dans cette interface on a une fonction default int getBurnTime(ItemStack itemStack), il sufi juste de l’override.
        Sa donne ça.

        import net.minecraft.item.Item;
        import net.minecraft.item.ItemStack;
        
        public class CustomItem extends Item {
        
            private int burnTime;
        
            public CustomItem(Properties p_i48487_1_, String name, int burnTime) {
                super(p_i48487_1_);
                this.setRegistryName(name);
                this.burnTime = burnTime;
            }
        
            @Override
            public int getBurnTime(ItemStack itemStack) {
                return this.burnTime;
            }
        }
        

        Je passe le topic en résolu.

        mes mod actulle:

        • JANOEO
        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

          Salut,

          Tu veux faire un fluide ou tu parles d’ajouter un item utilisable comme carburant pour le four ?

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

            je veux juste faire un item utilisable comme carburant, c’est tous. 😄

            mes mod actulle:

            • JANOEO
            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

              Visiblement cela a été remplacé par l’événement FurnaceFuelBurnTimeEvent.

              Avec event.getItemStack() tu peux récupérer l’item qui a été mis dans le four, donc fait une condition dessus, si l’item est celui voulu appeles la fonction event.setBurnTime(temps) pour donner le temps.

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

                Je vien de faire ceci mais je ne peux pas mettre l’item dans le slot du four.
                Au niveau code j’ai ceci.
                j’ai un doute dans mes equalité dans le FurnaceEvent on mes un == ou un .equals(objet)

                import net.minecraft.item.ItemStack;
                import net.minecraftforge.event.furnace.FurnaceFuelBurnTimeEvent;
                import net.minecraftforge.eventbus.api.SubscribeEvent;
                import net.minecraftforge.fml.common.Mod;
                
                @Mod.EventBusSubscriber(modid = SomeCoal.MOD_ID)
                public class FurnaceEvent {
                
                    @SubscribeEvent
                    public static void onFurnaceFuelBurnTime(FurnaceFuelBurnTimeEvent event) {
                        if (event.getItemStack() == new ItemStack(ItemInit.blaze_coal)) {
                            event.setBurnTime(4000);
                        }
                        if (event.getItemStack() == new ItemStack(ItemInit.sugar_coal)) {
                            event.setBurnTime(800);
                        }
                        if (event.getItemStack() == new ItemStack(BlockInit.blaze_coal_block)) {
                            event.setBurnTime(36000);
                        }
                        if (event.getItemStack() == new ItemStack(BlockInit.sugar_coal_block)) {
                            event.setBurnTime(7200);
                        }
                    }
                }
                

                et

                public SomeCoal() {
                    [...]
                    MinecraftForge.EVENT_BUS.register(FurnaceEvent.class);
                }
                

                mes mod actulle:

                • JANOEO
                1 réponse Dernière réponse Répondre Citer 0
                • AlasDiabloA Hors-ligne
                  AlasDiablo
                  dernière édition par

                  C’est bon j’ai trouvé, en fessant un peux de rétro-ingénierie.
                  Enfaite la class Item implemente l’interface IForgeItem et dans cette interface on a une fonction default int getBurnTime(ItemStack itemStack), il sufi juste de l’override.
                  Sa donne ça.

                  import net.minecraft.item.Item;
                  import net.minecraft.item.ItemStack;
                  
                  public class CustomItem extends Item {
                  
                      private int burnTime;
                  
                      public CustomItem(Properties p_i48487_1_, String name, int burnTime) {
                          super(p_i48487_1_);
                          this.setRegistryName(name);
                          this.burnTime = burnTime;
                      }
                  
                      @Override
                      public int getBurnTime(ItemStack itemStack) {
                          return this.burnTime;
                      }
                  }
                  

                  Je passe le topic en résolu.

                  mes mod actulle:

                  • JANOEO
                  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

                    Ah oui ça fonctionne aussi comme cela.

                    Pour ton code avec l’event, il aurait fallut utiliser ItemStack.areItemsEqual(event.getItemStack(), new ItemStack(ItemInit.sugar_coal)) ou tout simplement event.getItemStack().getItem() == ItemInit.sugar_coal et cela aurait été bon.

                    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