Currently, Copper blocks oxidize based on random ticks, which results in them being effectively frozen in time while not loaded. This breaks the immersive quality that copper is intended to have--instead of weathered copper indicating that a structure has been around for a while in the world's history, it just means that the area its in has been loaded for a few hours.
Fortunately, there is a simple way to fix this side effect. Rather than basing oxidation on random ticks, each copper block, upon being placed, receives a tag indicating what time it should proceed to the next weathering state.
Here's an example of how that could work:
I place a Block of Copper on Day 47 of my world, and it generates a tag "oxidize_day: 56". I leave and return to the area on Day 66. When the chunk is loaded, it checks the oxidize_day tag and recognizes that it has passed, so it progresses it to Exposed Copper and gives it the tag "oxidize_day: 64". That day has also passed, so it instead moves to Weathered Copper with a tag "oxidize_day: 72". If I stick around for six more days, at the beginning of Day 72, it will check all loaded chunks and find my Weathered Copper block, and progress it to its final state of Oxidized Copper (and remove the tag, as it is not needed anymore).
Please sign in to leave a comment.
1 Comments