• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Custom Fuel en 1.13.2

    1.13.x
    1.13.2
    2
    7
    354
    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.
    • AlasDiablo
      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
      • AlasDiablo
        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
        • robin4002
          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
          • AlasDiablo
            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
            • robin4002
              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
              • AlasDiablo
                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
                • AlasDiablo
                  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
                  • robin4002
                    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
                    Contact / Mentions Légales

                    MINECRAFT FORGE FRANCE © 2018

                    Powered by NodeBB