Release V1.0 for Minecraft V1.2.3 available! See the Downloads section for links
Nature Reclaims is a progressive decay mod intended to cause man-made structures to slowly but surely deteriorate and fall into ruin after being abandoned by the player.
Currently, mod inter-compatibility is unknown, but is expected to be low due to the relatively high number of modified classes. If you find a mod that works with Nature Reclaims installed, please post in this thread! Bear in mind I'm a fairly accomplished programmer but this is my first project in Minecraft and the Java language, so there was quite a bit of a learning curve and bits and pieces of the mod are somewhat temperamental, so I appreciate all bug reports and offers of assistance in improving it.
Decay is distance-influenced, and only happens beyond 100 blocks of you and beyond 75 blocks of any villager. This means your house won't collapse around you, but that you can watch buildings fall apart from a safe distance. Additionally, only blocks placed by the player after installation will decay. This is an intentional feature to greatly reduce in-game lag.
Decay functions dominantly on exposure, to air/water (flowing or still) and to the block that a given block will decay into (cobble for stone, for example). Blocks age over time whilst decay is enabled (and you/villagers are out of range), so newer blocks will decay much later than older blocks. A simple way to avoid a block decaying is to bury it in a block that it does not decay into (sand is popular), but you can also surround it in Obsidian to severely dampen the rate of decay and anything built in the Nether will not decay at all.
In version 1.0 of Nature Reclaims the following decay lines have been implemented:
Stone (normal and slab)
Cobblestone (normal and slab)
Gravel
Stone brick (normal, cracked, circle, mossy, and slab)
Wooden planks (all kinds and slab)
Wooden logs
Rotten wood
Bookshelves
Glass and Glass Panes
Torch
Burnt-out torch
Melon
Rotten melon
Jack o' Lantern
Pumpkin
Rotten pumpkin
Cake
Wheat
Brick (normal and slab)
Sandstone (all kinds and slab)
Iron and diamond blocks
More decay lines likely to come in the future.
New blocks added in this mod:
Burnt-out torches, which smoulder but give off no light. You can relight them using a flint and steel
Rotten wood, which creaks and gives off dust when walked over. Beware, it can collapse in whole sections if it gets updated! Once it has fallen, it also has a chance to crumble beneath your feet if trodden on.
Tarnished iron and diamond blocks. Though not visually different from their untarnished counterparts right now, they cannot be used in crafting. You can however combine them with a water bucket in your crafting menu to retrieve the untarnished block.
Rotten melons and pumpkins, which collapse readily under foot and give only a seed when broken by hand.
The default decay speed is daily (meaning each day is 1 day of decay), but can be increased to yearly and decades to increase the rate at which buildings fall apart. Warning: Higher rates of decay will cause more lag.
Future Additions
Broken Glass blocks & panes - Decay from their unbroken equivalents, decay into air as glass blocks currently do. Intended to bridge the gap between "window" and "no window".
Lily-pad growth - Lily-pads will have an extremely small chance of appearing on top of water source blocks near mossy player-placed blocks
More decay lines - Add decay lines for more blocks, reducing the number of "ageless" blocks in the game
Soulstone, crafted using soulsand. This pseudo-demonic block prevents the decay of item drops on top of it and sets a player's spawn when walked on
Pictures
What once was a house is now almost entirely unrecognisable, choked beneath the foliage.
The diagonal construction of this pyramid helps it to survive longer, but the shallow roof was its downfall.
The wood in this tower would have lasted longer, but the decaying outer stone ring triggered a collapse throughout the structure.
With the more resilient stone bricks as an exterior, this tower can be expected to last for decades at least, perhaps centuries, largely intact (if mildly inhospitable to the explorer). Vines have begun to creep from the grass surrounding it, and most of the windows have fallen apart.
A simple test structure, containing most of the currently-supported blocks. Be warned, these images represent an older version of the mod, in the current version the decay methodology has been changed to create more realistic falling patterns as well as substantially less decay to gravel across the decay lines.
The same test structure after ~fifty minutes of idling decay.
This kind of decay isn't uncommon in reality for older wood-interiored buildings, but later version of this mod (namely those with rotten wood implemented) will allow them to retain their internal structure a lot better than this one did, since wood currently decays to gravel at a fairly rapid rate.
So I'm having some wierd issues with the player-placed-only functionality (to do with how redundant functions are handled in order to determine if a player was responsible for placing a block as opposed to any other entity), which may take me a while to sort out.
Would people prefer that I fix the player-only blocks first or get the GUI slider that controls decay rate (including to 0) working first?
Multipurpose really. It would allow you to disable decay for maps you didn't want to affect with it (such as adventure maps) as well as advance decay to watch structures fall apart for entertainment or quick-and-easy artistic license. Certainly having the capacity to alter the rate of decay is no bad thing.
Added a new video of the current rotten wood coding, needs some slowing down but the primary feature of rotten wood, its precarious stability, is pretty much perfect.
I was watching this mod grow up, just from the idea.
Through the coding difficulties, into this!
Keep up the great work.
The only thing I would like to see in this, are the sounds.
I know this is still EXTREMELY early and all, but just an idea, instead of the sand sound when you walk onto the rotten wood, but how about a creaking wood sound.
I'm working to get the decay speed GUI element functional, so far I've got it appearing in the options and storing a value, I just need to get it to display it better. The current options are:
Off
Day
Normal
Decade
Century
Millennia
I tried using a slider initially, but the way sliders are coded means I'd have had to use a percentage that defaulted at a given point and ended at another, which would have been less easily understood. Currently seeking out where "options.difficulty.hard" etc. are translated to the overlay text "Difficulty: Hard" but then I'll plug the value into the decayBlock function and see about getting a new release out.
This will make it possible to have the mod installed without it ravaging your worlds, though I'm still baffled by how to resolve the player-placed function problem. It definitely seems that having fewer blocks to run the code reduces lag substantially, an entire world changing generates a lot of lag.
By default, decay is set to Off, and "normal" is basically the sort of timeline I'm generally working with, not 100% realistic but fast enough to actually be noticeable.
What if you added a boolean variable to the "block.java" object. call it playerplaced. That way you could make the game so that it on tic "if(playerplaced) then do some code. i presume you are already tinkering with the original wood etc blocks, so this would be a reasonable extra.
If I did it in Block.java, as I have already learned in testing, it marks an entire block type as placed (stone, wood planks, obsidian, etc.), rather than individual blocks. Even then, ideally I'd need to set the variable purely when the block is placed by players only, which is evidently trickier than one might suspect.
Seen and used a mod like this before. Think it was called all will fall or something. It added gravity. And planks were not effected by gravity. But over time they turned into rotten planks that would fall. Water nearby or sun exposure sped this up a lot.
Water would also cause blocks near it to slowly break causing erosion.
Seen and used a mod like this before. Think it was called all will fall or something. It added gravity. And planks were not effected by gravity. But over time they turned into rotten planks that would fall. Water nearby or sun exposure sped this up a lot.
Water would also cause blocks near it to slowly break causing erosion.
Nature Reclaims and All Will Fall seem to have very different focuses and implementations.
AWF seems to be about the whole world, mines and all, falling apart around the player, whereas NR is about abandoned structures deteriorating over time. AWF also seems a lot more invasive, whereas with NR Minecraft can be played perfectly normally even without disabling it.
They do serve similar functions and add similar things to the game, but I definitely think they do it to different ends and in different ways.
Metadata is handled very differently to the variables held in Block.java, and I've already tried that method, it doesn't work. Tinkering with metadata is also pretty tricky, at the moment I've got lists of blocks stored in the nature_reclaims.java that are referred to during the decay process, but the variable itself isn't setting properly due to how entities are handled.
Blocks decaying next to an empty space above grass now have a chance of growing vines. The appearance of the vines doesn't affect whether rotten wood or the like falls, but its growth can.
Stone that decays next to water now has a chance of turning into mossy cobblestone instead of ordinary cobblestone. Currently, the moss does not spread (mossy cobblestone is not it's own class, so I need to add one for it), and it only affects stone, not stone bricks (which determine moss by metadata, so I need to add a new generic decay function for blocks that decay based on their metadata, like stone bricks).
Additionally: MegaUpload has been assailed by the courts, so I'm afraid for the moment downloads for this mod are unavailable. Hopefully I'll be able to get something up and running again soon, probably with the next version release.
I've also received a suggestion from a friend regarding the burnt-out torches, which is that flint & steel should be able to re-light them, an idea I am wholly in favour of. Other suggestions are certainly welcomed.
Managed to get mossy cobblestone spreading across cobblestone, and from there I managed to make a fairly generic spreading code similar to grass that allowed me to get it to spread across different blocks as well.
As a result, moss now spawns from stone bricks or cobblestone next to water and can spread throughout a decaying structure, across floors and up walls.
There's currently a bug with rotten wood falling without a texture, but I'll try to get that fixed and add burnt-out torches today.
And then I'll put together a new version and sort out a download solution.
Burnt-out torches give off no light or flame particles, instead smoldering in the dark. They have a 1 in 4 chance to drop a stick, so you could mine coal to relight them, and I'm currently working on getting them to be relit by flint & steel.
Nature Reclaims is a progressive decay mod intended to cause man-made structures to slowly but surely deteriorate and fall into ruin after being abandoned by the player.
Currently, mod inter-compatibility is unknown, but is expected to be low due to the relatively high number of modified classes. If you find a mod that works with Nature Reclaims installed, please post in this thread! Bear in mind I'm a fairly accomplished programmer but this is my first project in Minecraft and the Java language, so there was quite a bit of a learning curve and bits and pieces of the mod are somewhat temperamental, so I appreciate all bug reports and offers of assistance in improving it.
Decay is distance-influenced, and only happens beyond 100 blocks of you and beyond 75 blocks of any villager. This means your house won't collapse around you, but that you can watch buildings fall apart from a safe distance. Additionally, only blocks placed by the player after installation will decay. This is an intentional feature to greatly reduce in-game lag.
Decay functions dominantly on exposure, to air/water (flowing or still) and to the block that a given block will decay into (cobble for stone, for example). Blocks age over time whilst decay is enabled (and you/villagers are out of range), so newer blocks will decay much later than older blocks. A simple way to avoid a block decaying is to bury it in a block that it does not decay into (sand is popular), but you can also surround it in Obsidian to severely dampen the rate of decay and anything built in the Nether will not decay at all.
In version 1.0 of Nature Reclaims the following decay lines have been implemented:
New blocks added in this mod:
Future Additions
What once was a house is now almost entirely unrecognisable, choked beneath the foliage.
The diagonal construction of this pyramid helps it to survive longer, but the shallow roof was its downfall.
The wood in this tower would have lasted longer, but the decaying outer stone ring triggered a collapse throughout the structure.
With the more resilient stone bricks as an exterior, this tower can be expected to last for decades at least, perhaps centuries, largely intact (if mildly inhospitable to the explorer). Vines have begun to creep from the grass surrounding it, and most of the windows have fallen apart.
The same test structure after ~fifty minutes of idling decay.
This kind of decay isn't uncommon in reality for older wood-interiored buildings, but later version of this mod (namely those with rotten wood implemented) will allow them to retain their internal structure a lot better than this one did, since wood currently decays to gravel at a fairly rapid rate.
Videos
Downloads
Release V1.0 for Minecraft V1.2.3
Alpha version 0.7
Alpha version 0.6
Alpha version 0.5
Known bugs (most recent version only)
Anyways, I'll test this out, once you make it only decay abandoned player-placed blocks, cause I don't want my worlds to get destroyed xD.
Good luck :smile.gif:.
Would people prefer that I fix the player-only blocks first or get the GUI slider that controls decay rate (including to 0) working first?
Added a new video of the current rotten wood coding, needs some slowing down but the primary feature of rotten wood, its precarious stability, is pretty much perfect.
I was watching this mod grow up, just from the idea.
Through the coding difficulties, into this!
Keep up the great work.
The only thing I would like to see in this, are the sounds.
I know this is still EXTREMELY early and all, but just an idea, instead of the sand sound when you walk onto the rotten wood, but how about a creaking wood sound.
That would be amazing!
Good luck!
Doctor Arms
This will make it possible to have the mod installed without it ravaging your worlds, though I'm still baffled by how to resolve the player-placed function problem. It definitely seems that having fewer blocks to run the code reduces lag substantially, an entire world changing generates a lot of lag.
By default, decay is set to Off, and "normal" is basically the sort of timeline I'm generally working with, not 100% realistic but fast enough to actually be noticeable.
If I did it in Block.java, as I have already learned in testing, it marks an entire block type as placed (stone, wood planks, obsidian, etc.), rather than individual blocks. Even then, ideally I'd need to set the variable purely when the block is placed by players only, which is evidently trickier than one might suspect.
Water would also cause blocks near it to slowly break causing erosion.
Nature Reclaims and All Will Fall seem to have very different focuses and implementations.
AWF seems to be about the whole world, mines and all, falling apart around the player, whereas NR is about abandoned structures deteriorating over time. AWF also seems a lot more invasive, whereas with NR Minecraft can be played perfectly normally even without disabling it.
They do serve similar functions and add similar things to the game, but I definitely think they do it to different ends and in different ways.
Blocks decaying next to an empty space above grass now have a chance of growing vines. The appearance of the vines doesn't affect whether rotten wood or the like falls, but its growth can.
Additionally: MegaUpload has been assailed by the courts, so I'm afraid for the moment downloads for this mod are unavailable. Hopefully I'll be able to get something up and running again soon, probably with the next version release.
I've also received a suggestion from a friend regarding the burnt-out torches, which is that flint & steel should be able to re-light them, an idea I am wholly in favour of. Other suggestions are certainly welcomed.
As a result, moss now spawns from stone bricks or cobblestone next to water and can spread throughout a decaying structure, across floors and up walls.
Remember the 90s?
He already mentioned this in thread, did you really need to ask a useless question?
And then I'll put together a new version and sort out a download solution.
Burnt-out torches give off no light or flame particles, instead smoldering in the dark. They have a 1 in 4 chance to drop a stick, so you could mine coal to relight them, and I'm currently working on getting them to be relit by flint & steel.