Giant Trees
Giant Trees
Giant Trees is a plugin for adding procedurally generated giant trees to your world. Giant trees are generated in three ways:
- Giant trees are grown in creative/survival mode by planting saplings and fertilizing with bone meal
- Giant trees are summoned with a command
- Giant trees naturally grow when new forested biomes spawn
Tutorials in other languages:
Planting Giant Trees
To plant a giant tree in creative/survival mode, perform the following steps:
- Flatten a 5x5 area of dirt
- Surround an emerald block with two rings of saplings
- Fertilize a sapling with a stack of 64 bone meal
- Stand back
The type of sapling fertilized will determine the species of giant tree that grows.
Commands
To create a giant tree with a command, use the /tree-create or /gt command, followed by the name of the tree. Tree names are found in the plugin's data directory. For example, to summon a giant acacia tree, use the command
/gt tree.ACACIA
To edit the model for an existing tree, or create a new tree model, use the /tree-edit command. This command can only be used from the server console.
/tree-edit tree.ACACIA
Naturally Growing Trees
By default, Giant Trees will grow naturally in newly generated chunks in the default overworld (the world called "world"). To add giant trees to more worlds, increase the frequency of tree growth, or disable natural tree growth altogether, edit the plugin's config.yml.
Tree Species
For the beta the following species of trees can be summoned with the /gt command:
- tree.ACACIA
- tree.BIRCH
- tree.DARK_OAK
- tree.JUNGLE
- tree.OAK
- tree.SPRUCE
More tree species will be added in future releases.
Undoing Giant Trees
Trees summoned with the /gt command can be undone using WorldEdit's //undo
command. This feature is automatically enabled if WorldEdit is installed.
Making Your Own Giant Tree Species
You can make your own species of giant tree. Start by using the /tree-edit command from the server console, giving it the name of the tree you want to edit or create. (For new trees, ignore the file not found error). As an alternative, you can double-click the Giant Trees plugin .jar file to start the visual tree editor.
Design your tree using the visual tree editor. When you are done, click save and exit the visual editor. To add roots to your tree, create another tree with the same name as your tree, with .root added to the end. For example, /tree-edit tree.ACACIA.root. Root trees are rendered upside down in the world and scaled to match their tree.
Is your new tree really awesome? If so, PM me the model and I'll include it in the next version of the plugin.
Permissions
- gianttrees.create (default OP) - Allows the creation of a giant tree using the tree-create command.
- gianttrees.grow (default true) - Allows a player to grow a giant tree by fertilizing a grid of saplings.
Source Code/Issues
https://github.com/rmichela/GiantTrees
Metrics
This plugin utilizes Hidendra's plugin metrics system. the following information is collected and sent to mcstats.org unless opted out:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- Plugin's version
- Server's version
- OS version/name and architecture
- core count for the CPU
- Number of players online
- Metrics version
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
Update this, don't be a turd like the rest
[22:21:28] [Server thread/WARN]: [GiantTrees] Task #8767 for GiantTrees v1.1 generated an exception java.lang.VerifyError: class com.ryanmichela.trees.history.NoChangeBukkitWorld overrides final method setBlockType.(Lcom/sk89q/worldedit/Vector;I)Z at java.lang.ClassLoader.defineClass1(Native Method) [?:1.7.0_65] at java.lang.ClassLoader.defineClass(ClassLoader.java:800) [?:1.7.0_65] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [?:1.7.0_65] at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) [?:1.7.0_65] at java.net.URLClassLoader.access$100(URLClassLoader.java:71) [?:1.7.0_65] at java.net.URLClassLoader$1.run(URLClassLoader.java:361) [?: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) [spigot1.8.jar:git-Spigot-13716d9-0899683] at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:195) [spigot1.8.jar:git-Spigot-13716d9-0899683] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:97) [spigot1.8.jar:git-Spigot-13716d9-0899683] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) [spigot1.8.jar:git-Spigot-13716d9-0899683] at java.lang.ClassLoader.loadClass(ClassLoader.java:425) [?:1.7.0_65] at java.lang.ClassLoader.loadClass(ClassLoader.java:358) [?:1.7.0_65] at com.ryanmichela.trees.rendering.WorldChangeTracker.applyChanges(WorldChangeTracker.java:72) [?:?] at com.ryanmichela.trees.rendering.Draw3d.applyChanges(Draw3d.java:41) [?:?] at com.ryanmichela.trees.rendering.TreeRenderer$1$1.run(TreeRenderer.java:85) [?:?] at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftTask.run(CraftTask.java:71) [spigot1.8.jar:git-Spigot-13716d9-0899683] at org.bukkit.craftbukkit.v1_8_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot1.8.jar:git-Spigot-13716d9-0899683] at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:694) [spigot1.8.jar:git-Spigot-13716d9-0899683] at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot1.8.jar:git-Spigot-13716d9-0899683] at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [spigot1.8.jar:git-Spigot-13716d9-0899683] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [spigot1.8.jar:git-Spigot-13716d9-0899683] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_65]
@Liger_XT5
Using /gt tree.TREETYPE with WorldEdit on my server allows me to do it fine. I have yet to try it with randomly spawned trees or using the saplings.
Using Spigot 1.8
@OriginalMadman
Or he could make a suggested change to spigot's code. Technical term escapes me.
I really enjoyed this plugin, but as it does not work for Spigot 1.8, it will have to be left out until something comes out to allow it to work.
@deltahat
I see. Then I respectfully request you to consider an update for spigot 1.8 (which is the only game in town at the moment). Thanks!
@OriginalMadman
Giant Trees won't work with Spigot 1.8. You can't update 150,000 blocks in under a second using the stock Bukkit API. There is a bunch of low level code in this plugin that is specific to the internal implementation details of the server. The last server Giant Trees was made to work with was Craftbukkit 1.7.8. Spigot 1.8 will require an update.
Plugin loads fine in spigot 1.8, but when trying to make a tree I get this error: http://pastebin.com/5sbF3Jqc
@blackyamato
use this version of spigot: http://www.spigotmc.org/threads/bukkit-craftbukkit-spigot-1-8.36598/ (decompile it yourself) download page: https://hub.spigotmc.org/jenkins/job/BuildTools/?auto_refresh=true
Report a bug.
This error message is displayed on the server console.
http://pastebin.com/Xf2r7QP2
Server Environment
 ・Java 8u25
 ・Spigot 1.8
 ・Giant Trees 1.1
one little: problem: there are no leaves... even the green lines like in the picture aren't rendering...
@cooperisdunn
i tried this plugin in spigot 1.8 i can confirm that this works without any bugs /glitches or flaws
bukkit, spigot and craftbukkit AREN'T DEAD, search for 'buildtools.jar' on internet and compile it yourself, isn't so difficult, did it myself....
@cooperisdunn
I appreciate your compliments, but Bukkit as we know it is definitely dead. Spigot has updated to 1.8, but as long as the DMCA take down stands, none of the work they have done can be ported back to Bukkit. Perhaps when the dust settles and either Sponge or Spigot are declared the winner, I will pick this plugin back up and port it to the winning platform. For now, I just don't have time for the drama.
You have a hell of a plugin here. Bukkit is not dead and many people including myself would be happy to see a GiantTrees update for 1.8 when bukkit gets around to patching up the extremely deep hole they have been digging themselves for a very long time. We are already seeing progress with spigot and sponge. Bukkit will follow.
Bukkit isn't dead. https://storify.com/lukegb/the-tale-of-bukkit-for-minecraft-1-8
Thanks
I love the plugin but i would like to report a weird occurance/bug. It styarted when i was mining and i ended up finding a giant tree growing underground in a cave and it went all the way to the void with a little more discovery and when i went to the top area it seemed to be in a spruce forest biome. I don't know for sure but i have not really seen any giant spruce trees generate in that biome. Is it possible they could have been generating underground?
@thelastlokean
Are you using the /gt command above water, or are the trees growing naturally? Where trees naturally grow is based on the biome. If you are using some biome modifying plugin that could cause a problem.
I'm having an issue with giant trees spawning underwater... This wouldn't be as much of an issue if they didn't stick out the top of the water...
@jacklollz2
Giant trees works fine on 1.7.10. I'll see about fixing the /reload problem with the next release.
Your observation about trees not being shown to users until they are complete is correct and by design. If you increase TICK_DELAY too high, it could take a long time to build a tree.
There are 20 ticks in a second, and by default Giant Trees modifies 2500 blocks per tick. The average tree is around 100k blocks. This means it takes about two seconds to render a tree into the world. If you increase TICK_DELAY to 10, a tree will take 20 seconds to render.