What, in precise points, does this plugin actually do?
Shrubs are blocks that produce MMOItems every now and then
They store the MMOItems they produce within themselves, and players can harvest them by shaking (clicking) them.
They drop the items they have produced to the ground.
Shaking the action of making a shrub drop the produce it holds, it can be:
A player right-clicking them
Shrub moved by a piston (if piston harvest is enabled)
Well basically everything that causes the block type a shrub is in to change (generally to AIR).
A player breaking the shrub
Water flowing through shrubs and breaking them
Tree leaf shrubs decaying naturally
Physics block-break updates breaking the shrub
Timer in seconds. Shrubs only tick for generaton [gTicks] if this countdown has reached zero.
By default, resets (to the value specified in the shrub type) when a shrub...
Is first placed on the world
Succeeds on a gTick
Every gTick's chance of success. Specified as an integer number in the config ranging from 0 to 100.
While the generation countdown of a shrub has reached 0, Shrubs tick for generation [gTicks] every second.
If a tick succeeds, a produce [fruit] will be generated.
By default, picking fruit from [shaking] a shrub does not reset their generation countdown. Sometimes, this causes a new fruit to be instantly generated after picking the previous one, which may be undesirable.
Setting this to true, will reset the generation countdown of a shrub whenever it is shook.
Default is false, but it is recommended to set to true.
How many units of produce [fruit] can a shrub hold at once. A shrub may be left to generate for several hours, and after its generation countdown reaches zero, it will keep gTicking, and when it succeeds it will attempt to generate another fruit.
It will fail to generate another fruit if its already at capacity.
Default is 1 (one), must be an integer number.
Every successful gTick, how much produce will be generated?
It will attempt to generate all these units of produce, but any that would overflow its capacity will fail to actually generate.
Default is 1 (one), must be an integer number.
Perhaps allowing shrubs to infinetely generate produce is a little overpowered, so if this is specified, they will stop producing after producing this much. They will also automatically break next time it is shook.
Players can remove the shrub and plant it again (If its not a seed packet) to reset this number though.
Default is infinity, must be an integer number.
Every successful gTick, a shrub will attempt to produce fruit. The shrub may be at capacity though (or hit capacity by this generation itself), and miss the chance of generating some fruit that it would have generated.
When that is the case, a ripe drop roll will occur, and if it succeeds, the shrub will drop as items the excess fruit of this gTick that it could not store.
If maximum generations are specified and have been reached, this will not happen.
Default is 0.0, must be a decimal number between zero and one.
When bone meal is used on a shrub, its generation countdown will be multiplied by this number.
Basically, with the default value of 0.85, if there are 10 seconds left, using bone meal will make it 8.5 seconds left, then 7.22, and so on.
Default is 0.85, must be a decimal number between zero and one.
Usually, when a shrub is a placeable block, it produces fruit upon being placed. However, if this value is specified, and that placeable block is a sapling, it will then not produce anything until it grows into a full tree. If that placeable block is anything else, this value is just ignored.
The moment it grows, each leaf block with at least one face open to the outside has this chance of becoming fruit-producing. This is so players dont have to worry about mining into their trees to get the most out of them (which would make them look ugly, ew).
The tree is guaranteed to have at least the expected number of fruit-producing leaves. Say it grows and has 20 leaf blocks exposed to the outside, and the folliage rate is 50%, it is guaranteed to generate at least 10 fruit-producing leaves (20 * 0.5).
Planting a 2x2 tree square will cause the giant tree to undergo these operations.
Default is 0.0, must be a decimal number between zero and one.
Usually, you make a placeable block be the shrub itself. If you specify a seed-packet name, the item will then infect blocks already placed on the world with fruit-producing power.
You must specify which block materials can be infected by a shrub via a list of strings.
No default value, must be the name of a string list in seed-packets.yml
The climate, preferred growing conditions under which a shrub will produce fruit.
If a shrub succeeds on a gTick, it then proceeds to check if its growth conditions are met before actually generating fruit.
No default value, see the conditions page.
Makes your shrub complain that you dont keep it in its prefered conditions by pausing its generation countdown.
When the conditions are met again, its generation countdown is reset and you have to wait for the whole thing to reach zero.
Default is false, may be set to true.
If your shrub does not produce infinitely, say, it will produce a max of 10 coconuts in its lifetime, at one point, a player mining it should not drop the shrub as an item back (allowing the player to plant it again for 10 coconuts more). This number is the fraction of uses left when the shrub cannot be recovered anymore.
Thus, 0.3 means that if it can only produce 3 coconuts more, breaking it wont drop the shrub back.
Default is 0.0, must be a decimal number between zero and one.
For technical minecraft lovers, behold the power to shake shrubs with redstone.
For this to be possible (since leaf blocks usually get destroyed), Shrubs completely takes over the Piston Event if a shrub is pushed. Possibly causing compatibility issues with other plugins.
Shrubs will drop their currently-held fruit as if they were shook by players.
Default is true, may be set to false.
For better performance, MMOItems are only refrehsed when you call the command goop mmoitems reloadShrubTypes.
Some MMOItems though have randomly generated stats, which will be all the same if you dont activate this.
Wether it really makes it lighter on performance to not generate new items every time a shrub produces is untested, but feels like it should be.
Default is false, may be set to true.
Shrubs display their produce as player heads in heads of armor stands, this option allows you to change the pose of it to a few predetermined ones.
DEFAULT is a small (baby) armor stand with its head inverted (so that it is actually in the middle of its torso lol)
PEEK is a small (baby) armor stand looking straight forward
VAT is a normal-sized armor stand looking straight forward
Default is DEFAULT, may be set to any of those values in the bulleted list above.
Lights the armor stand on fire, which makes it not receive shadows. Fixes the light bug when an armor stand's base is even barely inside an opaque block.
Using the VAT Alternate Type with Glow on makes the armor stand's head be exactly at the center of the block above, while without Glow it is higher up, just enough to evade the illumination glitch.
Default is false, may be set to true.
A list of GooP Item Filters that a player must be holding to shake a shrub.
Pistons, as they cant hold items, cannot farm these
When breaking a shrub, if the player didnt use one of these items, it will only drop itself, not its produce
No default value, which means they can be shook with anything.
Brings compatibility to so many plugins by allowing to run commands from the console.
See the appropiate page for all the placeholders you can use.
May be single command string, or a list of commands to run in order.
Commands with the %player% placholder will not run if it is shook by non-player causes, like being pushed by a piston.
No default value
The amount of vault currency that the shrub costs to shake. Pushing with a piston bypasses this.
Default is 0.0, may be any number.
Fraction of the cost to harvest that is transfered to the owner (whoever placed/planted it down) when anyone shakes the shrub.
Say player A puts down a shrub, and player B harvests it for $100, and the revenue is 0.2, player A gets a good $20.
Default is 0.0, may be a decimal number between zero and one.
Towny and GriefPrevention now prevent outsiders from harvesting private shrubs. You may specify a message to display "You cant haverst that here" with the following line in your config:
ProtectedShrubMessage: 'This shrub belongs to %shrub_owner%, you do not have permission to harvest.'