Jump to content
  • Home
  • Files
  • Docs
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [1.16.4] Get Default Item Burn Times
Currently Supported: 1.16.X (Latest) and 1.15.X (LTS)
Sign in to follow this  
Followers 1
ptolemy2002

[1.16.4] Get Default Item Burn Times

By ptolemy2002, November 21, 2020 in Modder Support

  • Reply to this topic
  • Start new topic

Recommended Posts

ptolemy2002    0

ptolemy2002

ptolemy2002    0

  • Tree Puncher
  • ptolemy2002
  • Members
  • 0
  • 27 posts
Posted November 21, 2020

I'm trying to develop a simple mod that will export certain properties of every registered item to an external file. Most of my properties are working, but I'm having trouble trying to implement the burnTime property. First, I tried using 

item.getBurnTime(new ItemStack(item, 1))

and found that method was repeatedly returning "-1" because the value was to be determined by the vanilla Minecraft Logic. I then did some research and found that I could use this:

ForgeHooks.getBurnTime(new ItemStack(item, 1))

I found that this was continuously returning "0" instead of my desired value, presumably because the map "VANILLA_BURNS" has no entry for the item. Finally, I tried using the deprecated

FurnaceTileEntity.getBurnTimes().get(item)

where I got the error

 java.lang.IllegalStateException: Tag minecraft:non_flammable_wood used before it was bound
Stacktrace:
	at net.minecraft.tags.TagRegistry$NamedTag.getTag(TagRegistry.java:131) ~[forge-1.16.4-35.0.18_mapped_snapshot_20201028-1.16.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.tags.TagRegistry$NamedTag.contains(TagRegistry.java:142) ~[forge-1.16.4-35.0.18_mapped_snapshot_20201028-1.16.3-recomp.jar:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.tileentity.AbstractFurnaceTileEntity.isNonFlammable(AbstractFurnaceTileEntity.java:161) ~[forge-1.16.4-35.0.18_mapped_snapshot_20201028-1.16.3-recomp.jar:?] {re:classloading}
	at net.minecraft.tileentity.AbstractFurnaceTileEntity.addItemBurnTime(AbstractFurnaceTileEntity.java:175) ~[forge-1.16.4-35.0.18_mapped_snapshot_20201028-1.16.3-recomp.jar:?] {re:classloading}
	at net.minecraft.tileentity.AbstractFurnaceTileEntity.getBurnTimes(AbstractFurnaceTileEntity.java:97) ~[forge-1.16.4-35.0.18_mapped_snapshot_20201028-1.16.3-recomp.jar:?] {re:classloading}
	at com.example.examplemod.ExampleMod.setup(ExampleMod.java:104) ~[main/:?] {re:classloading}
	at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:247) ~[eventbus-3.0.5-service.jar:?] {}
	at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:239) ~[eventbus-3.0.5-service.jar:?] {}
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:297) ~[eventbus-3.0.5-service.jar:?] {}
	at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:120) ~[forge:?] {re:classloading}
	at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$4(ModContainer.java:121) ~[forge:?] {re:classloading}
	at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1800) ~[?:?] {}
	at java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1792) ~[?:?] {}
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665) ~[?:?] {}
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598) ~[?:?] {}
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) ~[?:?] {}

Which seems to indicate that the burn times cannot be generated yet. I was generating my file during the "FMLCommonSetupEvent" event. How can I successfully retrieve the correct value for burnTime?

  • Quote

Share this post


Link to post
Share on other sites

Draco18s    2402

Draco18s

Draco18s    2402

  • Reality Controller
  • Draco18s
  • Members
  • 2402
  • 15924 posts
Posted November 21, 2020
4 hours ago, ptolemy2002 said:

I was generating my file during the "FMLCommonSetupEvent" event. How can I successfully retrieve the correct value for burnTime?

You need to wait until after tags have been read and generated. There's an event for that too, but I'm blanking on its name.

IIRC it doesn't happen until after you start or load a save though.

  • Thanks 1
  • Quote

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Share this post


Link to post
Share on other sites

diesieben07    7592

diesieben07

diesieben07    7592

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7592
  • 55027 posts
Posted November 21, 2020

Draco is correct, you have to wait until you are in game and then call ForgeHooks.getBurnTime.

  • Quote

Share this post


Link to post
Share on other sites

ptolemy2002    0

ptolemy2002

ptolemy2002    0

  • Tree Puncher
  • ptolemy2002
  • Members
  • 0
  • 27 posts
Posted November 21, 2020

Which event should I be using to accomplish this? Currently I am trying to subscribe to the TagsUpdatedEvent, but it doesn't appear to be called at all.

@Mod.EventBusSubscriber(bus=Bus.FORGE)
public static class GenericEvents {
  	@SubscribeEvent
    public static void onTagsUpdated(TagsUpdatedEvent event) {
    ...
    }
}

 

  • Quote

Share this post


Link to post
Share on other sites

diesieben07    7592

diesieben07

diesieben07    7592

  • Reality Controller
  • diesieben07
  • Forum Team
  • 7592
  • 55027 posts
Posted November 21, 2020

PlayerLoggedInEvent.

  • Thanks 1
  • Quote

Share this post


Link to post
Share on other sites

ptolemy2002    0

ptolemy2002

ptolemy2002    0

  • Tree Puncher
  • ptolemy2002
  • Members
  • 0
  • 27 posts
Posted November 21, 2020

Thank you. My mod is working now.

  • Quote

Share this post


Link to post
Share on other sites

Draco18s    2402

Draco18s

Draco18s    2402

  • Reality Controller
  • Draco18s
  • Members
  • 2402
  • 15924 posts
Posted November 21, 2020
1 hour ago, ptolemy2002 said:

but it doesn't appear to be called at all.

Probably the wrong bus. But I'd go with D7's suggestion of the player logged in event.

  • Quote

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

    • Insert image from URL
×
  • Desktop
  • Tablet
  • Phone
Sign in to follow this  
Followers 1
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Huntpor
      1.16.5 Loot Tables

      By Huntpor · Posted 6 minutes ago

      I am able to Generate new Blocks and Items into my very simple mod ( just has Copper Ore ) while I learn. When it comes to those items I am able to generate the texture just fine, but I get a little stuck how how to allow the new blocks to generate their own item. Is Loot tables the correct thing? or should I be looking for something else? Don't even know where to begin, so details would be helpful.    Thank you in advice.   
    • diesieben07
      Some Obj models not working

      By diesieben07 · Posted 12 minutes ago

      I don't know enough about the OBJ format and models in general to know if this is a wrongly formatted model or an issue with the loader, sorry.
    • diesieben07
      [1.14.3] Where to put Item.getItemFromBlock

      By diesieben07 · Posted 18 minutes ago

      1.14 is no longer supported. If you have an issue with a modern version, make your own thread.
    • LEXISMILES
      lexi

      By LEXISMILES · Posted 21 minutes ago

      fkwefwwefewklfjewuhfeufhuih4u74u34y43urhewrur4yy4ryw4rwruwerhywertryryewtryetwgretwtewyreyrewhewfhyefytire
    • Draco18s
      [1.14.3] Where to put Item.getItemFromBlock

      By Draco18s · Posted 30 minutes ago

      Linked resources are not in your src folder, they're stored elsewhere and referenced in your Project Explorer tab of your IDE.
  • Topics

    • Huntpor
      0
      1.16.5 Loot Tables

      By Huntpor
      Started 6 minutes ago

    • Alexalien
      8
      Some Obj models not working

      By Alexalien
      Started 3 hours ago

    • VGLyen
      6
      [1.14.3] Where to put Item.getItemFromBlock

      By VGLyen
      Started July 24, 2019

    • LEXISMILES
      0
      lexi

      By LEXISMILES
      Started 22 minutes ago

    • GenElectrovise
      3
      [ForgeGradle] Publish project to GitHub Packages

      By GenElectrovise
      Started Friday at 09:04 PM

  • Who's Online (See full list)

    • Thorius
    • monkey123
    • Alexalien
    • Veo
    • CookieLukas
    • Jonbo187
    • diesieben07
    • Godis_apan
    • philip-elsner@gmx.net
    • Huntpor
    • laryr
    • Jesus Sandals
    • Lucie
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [1.16.4] Get Default Item Burn Times
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community