Jump to content

[1.7.2] Overriding speed of leaf decay

Guest Abrynos

Recommended Posts

Guest Abrynos

Hey guys I was wondering, if there's a possibility to fasten the process of decaying leaves up, if they are not connected to log any more.


I would be grateful, if you could help me to find a solution. Thanks in advance

Link to comment
Share on other sites

The only gracefull way to do that is probably with a coremod.


A very ungracefull way is to search for leaves and replace them with a custom version you created or do this on wolrd creation.

Long time Bukkit & Forge Programmer

Happy to try and help

Link to comment
Share on other sites



Leaves decay when updateTick is called.  UpdateTick is called pseudo-randomly in WorldServer.tickBlocksAndAmbience under the "tickTiles" section.  If you added your own Server Tick, and then perform your own random ticking in the same way (checking to see if the block is a leaf block before calling it) this will speed up the decay.



Link to comment
Share on other sites

Yeah, I was going to suggest similar.  The question is whether you want to speed up the decay (meaning still go through all the stages of decay) or just you want to remove them faster. 


But the trick seems to be that the decay level seems to be controlled by a package-private int array (called field_150128_a in 1.7.10).  I can't quite understand how the array works (kinda hurt my head) but I would guess that it is a map to the decay levels.  I'm not sure why they didn't use metadata, or maybe they did but my guess is wrong, but probably because they wanted breaking leaves and decaying leaves to be different.  Anyway that field seems to hold the decay values in some sort of "map".


So I think to speed up the decay you'd have to access that field.  Because it is non-static I think you can use Java reflection to access it.


Just some thoughts based on my quick look at the BlockLeaves class.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.


  • Create New...

Important Information

By using this site, you agree to our Terms of Use.