Botany
Botany
Botany is a bukkit server plugin that attempts to recreate natural plant regrowth in the Minecraft world.
Reasons to use Botany
Ever got tired of having to use bone meal to make your landscapes look natural again? Fighting lots of spiders causing all your grass to break? Are your plains looking really, really plain? This bukkit plugin slowly and naturally will grow back plants that are natural to a biome, such as a thick grass cover in Savannas, flowers on plains, spruce trees in Ice Biomes.
Normal Minecraft worlds are very static - only players will cause changes to the world, perhaps an ender will move some blocks around. This plugin will, just like Sedimentology, create a more natural and dynamic world that adapts and behaves as the real world. If you mow your grass, it will slowly regrow over time. If you chop down trees, saplings will come up over time and regrow the forest.
Considerations
Currently, Botany plants most trees, grasses, ferns, and sunflowers. Most of the regular flowers are not planted due to the sheer number of possibilities and combinations, but they may be added in the future.
Some plants like to grow in little clusters, and Botany can not yet achieve this result, instead, Botany tries to litter plants of a type in a somewhat unordered way so that the density is close to the measured experimental values.
The list of plants that Botany plants in each Biome is configurable (see below) and can be modified by a server admin to exclude plants or add new plants that are not covered by the base list.
Do you like a more dynamic world? Please check out my Sedimentology plugin too!
Using this plugin together with other plugins?
Recommendations for other plugin's settings:
UberForest
- isForestGrowthEnabled: false
UberForest's way of growing forests is not compatible with Botany, make sure you set "isForestGrowthEnabled: false" in UberForest's config.yml. UberForest does nothing to prevent overgrowth of forests and will happily spread spread trees that do not belong in certain Biomes. Also, UberForest is not maintained and cannot properly create seedlings for Acacia and dark oak trees.
PwnPlantGrowth
PwnPlantGrowth modifies seedlings or plants, but doesn't interfere with how forests spread in the long run. The combination should be without any issues, and PwnPlantGrowth will create an even further natural simulation. Recommended!
Sedimentology
Goes without speaking that Sedimentology was designed to work well together with Botany. While they share code, the plugins do not depend on eachother, but the outcome of running both will enhance gameplay and create interesting benefits and drawbacks for users, creating a dynamic world that they will appreciate in the long term.
Configuration
Information about commands, permissions and config.yml switches are found on the Configuration page.
Information about the plants.csv file format and how it works can be found on the plants.csv page.
no more updates?
@s0f4r
yup, got both of those.
@chuck4100
When loading the plugin prints out a message something like this:
[22:40:11 INFO]: [Botany] Protection plugins: -Factions, -Towny, +WorldGuard, -Residence
Check that line and make sure that there's a "+" in front of worldguard. Also check that the following line appears:
[22:40:11 INFO]: [Botany] protection is on
@s0f4r
yeap i updated... you can update the plugin too?
tnks!!
I was looking around but could not find the information. How does it interact with world guard? I have a region, but botany still grows trees in it. config item is set to true.
@k3ldon
Most likely you've upgraded mcore or Factions to a version that is not supported by Botany. What mcore/Factions versions are you using?
a lot errors in spigot 1.7.10
[07:01:26 WARN]: [Botany] Task #78 for Botany v10 generated an exception java.lang.NoClassDefFoundError: com/massivecraft/mcore/ps/PS at org.foo_projects.sofar.Botany.Botany.isProtected(Botany.java:219) [?:?] at org.foo_projects.sofar.Botany.Botany.growAt(Botany.java:256) [?:?] at org.foo_projects.sofar.Botany.Botany.access$2(Botany.java:243) [?:?] at org.foo_projects.sofar.Botany.Botany$BotanyRunnable.run(Botany.java:508) [?:?] at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask.run(CraftTask.java:71) [spigot.jar:git-Spigot-1581] at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:346) [spigot.jar:git-Spigot-1581] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:638) [spigot.jar:git-Spigot-1581] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [spigot.jar:git-Spigot-1581] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [spigot.jar:git-Spigot-1581] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [spigot.jar:git-Spigot-1581] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1581] Caused by: java.lang.ClassNotFoundException: com.massivecraft.mcore.ps.PS at java.net.URLClassLoader$1.run(URLClassLoader.java:366) [?:1.7.0_65] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [?:1.7.0_65] at java.security.AccessController.doPrivileged(Native Method) [?:1.7.0_65] at java.net.URLClassLoader.findClass(URLClassLoader.java:354) [?:1.7.0_65] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) [spigot.jar:git-Spigot-1581] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) [spigot.jar:git-Spigot-1581] at java.lang.ClassLoader.loadClass(ClassLoader.java:425) [?:1.7.0_65] at java.lang.ClassLoader.loadClass(ClassLoader.java:358) [?:1.7.0_65] ... 11 more
@CloudeLecaw
Hi - The plugin plants $blocks plants every $ticks ticks. So if you increase $ticks, plants are planted less often. If you increase $blocks, more plants will be planted per time.
Of course, not every planting attempt succeeds.
Setting ticks to 200 means indeed that only once every 10 seconds something will happen.
Does that answer your question?
@s0f4r
i've got v10, i'll let you know if any problems arise.
@Delebird
Gotcha - thanks for the stack trace - I've uploaded v10, please monitor the files until it becomes available and let me know if v10 fixes the problem for you!
04.07 09:14:38 [Server] INFO at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1497]
04.07 09:14:38 [Server] INFO at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:489) [spigot.jar:git-Spigot-1497]
04.07 09:14:38 [Server] INFO at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:583) [spigot.jar:git-Spigot-1497]
04.07 09:14:38 [Server] INFO at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:283) [spigot.jar:git-Spigot-1497]
04.07 09:14:38 [Server] INFO at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:635) [spigot.jar:git-Spigot-1497]
04.07 09:14:38 [Server] INFO at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [spigot.jar:git-Spigot-1497]
04.07 09:14:38 [Server] INFO at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftTask.run(CraftTask.java:58) [spigot.jar:git-Spigot-1497]
04.07 09:14:38 [Server] INFO at org.foo_projects.sofar.Botany.Botany$BotanyRunnable.run(Botany.java:506) [?:?]
04.07 09:14:38 [Server] INFO java.lang.NullPointerException
04.07 09:14:38 [Server] WARN Task #103 for Botany v9 generated an exception
@JEtheGreat
People have recently reported that error before. It can occur if you have multiple worlds enabled and one of the worlds that has Botany enabled unloads all chunks.
I'll fix it up, should be in the next release.
@the3rdnumber_
It grows saplings, and those will grow into trees, and therefore forests will grow.
I've been getting an error when using your plugin. I use Spigot(can't test it with CraftBukkit, unfortunately) and I get this error at random occurrences:
[18:35:47] [Server thread/WARN]: [Botany] Task #50 for Botany v8 generated an exception java.lang.IllegalArgumentException: n must be positive at java.util.Random.nextInt(Unknown Source) [?:1.7.0_02] at org.foo_projects.sofar.util.ChunkList.ChunkList.getRandom(ChunkList.java:149) [?:?] at org.foo_projects.sofar.Botany.Botany$BotanyRunnable.run(Botany.java:502) [?:?] at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftTask.run(CraftTask.java:58) [spigot.jar:git-Spigot-1493] at org.bukkit.craftbukkit.v1_7_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) [spigot.jar:git-Spigot-1493] at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:635) [spigot.jar:git-Spigot-1493] at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:283) [spigot.jar:git-Spigot-1493] at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:583) [spigot.jar:git-Spigot-1493] at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:489) [spigot.jar:git-Spigot-1493] at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [spigot.jar:git-Spigot-1493]
If you could shed some light on what I can do to fix the problem, that'd be great.
If you could do it grow forests like uberforest. From what I understand, botany only grows bonemeal plants (flowers, bushes)?
@s0f4r
Just got around to updating to v8. Works like a charm and no more errors in the console :D
Thanks so much!
@pilvimaa
Should be harmless, but nonetheless I'll need to fix it. I can reproduce here so I'll work on it in the next few days.
"[Botany] Error parsing plants.csv at line 19"
It's default generated. Tried deleting it. Same thing happens.
v8
@Sunconure11
You can add more plant definitions and Biome's if they properly change the Biome and Material classes in bukkit, as the plugin knows how to translate string names back to the enum values.
There is a problem that the custom biome/material plugins need to be loaded before Botany, something I can't influence unless I know what mod/plugin is doing this, so the potential for breakage is relatively large.
Using the plants.csv to add more flowers or even different blocks appearing in the landscape is obviously entirely possible, just read the plants.csv page.
1.6.x (or any earlier version) is untested, and due to API changes it's unlikely to work - I do not test or port the plugin to support it.
Can I add my own trees, plants and biomes from mods? And does anyone know if this works in 1.6.4 or not?