Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Commoble/a89a3f6ce49530707ea074a6329048d6 to your computer and use it in GitHub Desktop.
Save Commoble/a89a3f6ce49530707ea074a6329048d6 to your computer and use it in GitHub Desktop.
Summary of minecraft forge AbstractFurnaceTileEntity tick logic
how does furnace logic flow?
if burning, decrement burn time
rest of tick is on server worlds only
if burning, or if can start burning fuel and has a smeltable input
if not burning but can start cooking
set burn time based on fuel input
if burning
consume fuel, replacing with container item if has container item
if burning and has smeltable input
increase cook progress
if cooking progress is complete
reset cookprogress
craft ingredients into result
otherwise
reset cookprogress
otherwise, if not burning but has cook progress
reduce cook progress
if burning state changed since tick started
set blockstate to lit furnace
if any relevant data changed
mark tile entity dirty
it does this on both sides but I don't think this does anything to the client
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment