OtherGrowth
OtherGrowth lets you bring your world to life by creating "recipies" that change blocks based on the surrounding blocks - such as "cobble to mossy-cobble near water" (grow mossy-cobble) or "air to leaves near grass" (add a unique feeling to plains) and much much more.
Features
- Modify blocks based on surrounding blocks
- Customisable "tick delay" & console verbosity
- Add other conditions such as:
- world
- (planned) regions
- (planned) biome
- (planned) lightlevel
- Use OtherGrowth to spread wool over desert, add leaves & water in the nether and grow bookshelves on trees - there's a lot of crazy stuff you can do
- OtherGrowth can add a deeper feel to the world with roads that fall apart & castles that become overgrown with leaves and deteriorate (stone->gravel->dirt). Finding an older building that hasn't been maintained is more interesting with cobwebs gathering in corners and many of the blocks possibly infested with silverfish.
Documentation
To be written/expanded as the plugin progresses.
Example Config
"Config.yml"
verbosity: normal run_on_startup: true tick_delay_between_scans: 200 scan_asynchronously: true scan_all_loaded_chunks: true # ignores radius setting (if true) chunk_scan_radius: 6
"recipies.yml"
recipes: #Mossy Cobblestone From water (cobble to mossy adj. water) [slowish] - mossynearwater: # use a dash at front if this allows tags with same spelling - need: COBBLESTONE adjacent: {WATER, STATIONARY_WATER} # { } = or, [ ] = and replacement: MOSSYCOBBLE chance: 6% # equivalent to old “30:500” chance # other conditions as per OtherDrops, as possible (performance permitting) #Mossy Cobblestone spreads (cobble to mossy adj. mossy) [slow] - mossy spreads: - need: COBBLE adjacent: MOSSYCOBBLE replacement: MOSSYCOBBLE chance: 0.5% # equivalent to old “1:200” chance #leaves on Mossy Cobblestone (air to leaves adj. mossy) [slow] - leaves on mossy: - need: AIR adjacent: MOSSYCOBBLE replacement: LEAVES chance: 1% # equivalent to old “1:200” chance #Mossy Cobble grows sponges (water to sponge adj. mossy) [v. slow] - mossy cobble grows on sponges:: - need: {WATER, STATIONERY_WATER} adjacent: SPONGES replacement: MOSSYCOBBLE chance: 0.002% # equivalent to old “1:200” chance
Planned Features
- fine-tune default values (higher delay period - anywhere from 10 seconds to once per hour - vs radius scanned)
- specific a way to add preference for particular growth styles (eg. for stalactites and stalagmites).
- multiple adjacent block conditions (eg. must be surrounded by 3 water & 1 lava)
- expand default example file with "friendly" changes such as mossy cobble near water, spiderwebs in dark houses, lily pads on water, etc
- create example file with more "damaging" (but still slow acting) recipes - eg. cobble turning to monstereggs and/or deteriorating into gravel/dirt, fences falling apart, etc
- create example file for glowstone that slowly regrows in the nether
- create an example "corruption" recipe file
- using netherblocks or mycellium to crawl over the surface of the land slowly
- yes, this does mean players could "seed" the corruption however the corruption could use a unique block or data value to avoid this
- allow random chance of a corrupted "spike", "tree" or other formations (low chance of a particular block to form as a "seed" with higher chance of that growing)
- create a "two-stage" corruption with inner/older blocks having had a chance to mutate into a stronger form of corruption
- using OtherDrops - create chance of unique artifacts when digging up/destroying the corruption
- using OtherDrops - higher chance of hostile/stronger mobs spawning on the corruption
- brainstorm unique ways of making the corruption harder to destroy/more rewarding
Dev Builds
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Thanks
OtherGrowth is a inspired by the original iGrow plugin by TechGuard. Thanks to Valdark and Raspberry for inspiration with recipies for the original iGrow.
working good in 1.12. I wish I can use the new blocks! diorite, granite, etc.!!
Thanks!
I'm getting the following error:
28.12 23:46:59 [Server] INFO at java.lang.Thread.run(Unknown Source) [?:1.8.0_60] 28.12 23:46:59 [Server] INFO at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_60] 28.12 23:46:59 [Server] INFO at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_60] 28.12 23:46:59 [Server] INFO at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) [custom.jar:git-Spigot-7d78b81-70bc70b] 28.12 23:46:59 [Server] INFO at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[custom.jar:git-Spigot-7d78b81-70bc70b] 28.12 23:46:59 [Server] INFO at com.gmail.zariust.metrics.Metrics$1.run(Metrics.java:246) ~[?:?] 28.12 23:46:59 [Server] INFO at com.gmail.zariust.metrics.Metrics.access$400(Metrics.java:65) ~[?:?] 28.12 23:46:59 [Server] INFO at com.gmail.zariust.metrics.Metrics.postPlugin(Metrics.java:358) ~[?:?] 28.12 23:46:59 [Server] INFO java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player; 28.12 23:46:59 [Server] WARN Plugin OtherGrowth v0.4.0 generated an exception while executing task 180
Other Growth is still working in 1.9, although unfortunately it only works with "scan_all_loaded_chunks: true", which makes a little lag when scanning. If you change this scan mode to "true" it doesn't work for any reason.
I use this plugin to constantly generate minerals around with randoms settings. Great plugin! Congratulations!
@resoluciones
Cool! Thanks for letting me know, glad to see someone enjoying it :) Please let me know if you come up with any crazy configs :)
working perfect on Spigot 1.8.8
Is this plugin at all updated to 1.6.2? I've had it on my server for a few hours, set up my own recipe using the default one as a template, but I haven't seen any changes...
Wow. This looks amazing. Great idea!
Does the plugin support WorldGuard regions at all? I'd like builds out in the wilderness and underwater to decay over time (requiring maintenance), but not the WorldGuarded server cities I have.
I hope this keeps getting developed, as I think it has crazy potential.
@ZariusT
Sure thing, ill PM you the details.
@Dan7heMan
Thanks for the report however I haven't seen any issues like this as yet - can you send me a copy of the config you're using so I can test it? Will also help to find out the versions of CraftBukkit & OtherGrowth as well as a list of other plugins you have running (you can PM me the details if you wanted to).
Also, can you please define what you mean by "like crazy" - does it go through 8 gigs of RAM in 20 minutes (cause I'd think that's pretty crazy :D) or 1 gig of RAM in 24 hours, etc? Do you use the /ogr command a lot (if at all)?
This plugin has something wrong with it. Eats through the server memory like crazy.
@semirotta
Wrote a long message but Bukkit lost it :( Don't feel like rewriting just now, will try again later...
Question: Possible to make this plugin do the following;
random water pond spawned in desert, generates slowly couple of logs around it and leaves, perhaps few grass blocks near the water too?
@WolfyRetroKnight
Can you post a ticket here: https://github.com/Zarius/OtherGrowth/issues ?
That'll reminder me to test it later.
ok iv got a bug to report a long time a go i asked about makeing long grass grow on grass blocks but ill i ever get is dead bush cuse i guse thay all ues the long grass as the name furn and dead bush and grass all ues long grass so is thar any way to work aound this cuse i wode like grass to grow and vines to take over every thang
@cadika_orade
Not sure if the Bukkit API allows you to change the biome but I'll look into it. The fungus idea is cool :)
I love this design!
Mind if I make a feature request? I would like to see the option to change the biome data of a block (which, of course, means that whole column).
I want to make fungus grows and devour most terrain, but I want it to avoid certain biomes and change the areas it spreads to into mushroom island.
@MattSheridan
Currently defaults once per 200 ticks (10 seconds) for testing although I personally use to run the predecessor (iGrow) only once per hour. I think I'll settle on a default of once per 15 minutes in future versions. Here's a link to the default config settings (via GitHub).
The config file lets you change it to whatever interval you wish.
@ZariusT
How often does the mod check a block to see if it changes? I mean, is that percentage chance per tick, or per second, or what?
Here is the config: http:pastebin.com/PcFKgiRW
Here is the terminal output: http:pastebin.com/Xg6i3LuJ