Appleseed
Description: This plugin allows players to plant and grow trees that drop items, such as apples, on the ground around the tree. This can be a fun way to help your players to obtain hard to find items like apples, cocoa beans, etc. Cooked pork trees or the like can be entertaining as well. :)
Features:
- Plant items in soil(aka farmland) and grow a tree that drops that item on the ground
- Config file that controls allowed types of trees, item drop interval, and the need for fertilizer
- Permissions to control who can plant trees(and what type)
Installation: Drop Appleseed.jar in your Bukkit server plugins folder and restart/reload the server. After the plugin loads the first time the Appleseed/config.yml file will be created. See below for details on what is contained in the config file. Restarting/reloading the server is required for the plugin to see changes to the config file.
Fertilizer: If trees have the setting "RequireFertilizer" set to "Yes", then they will stop dropping items and require bonemeal as fertilizer to continue. To fertilize a tree, hold bonemeal in your hand and right-click anywhere on the trunk of the tree. Fertilizing more than once doesn't hurt, neither will fertilizing while a tree is still dropping items.
Signs: If a player has permission, they can place a sign on a planted tree that reads "[Appleseed]". The sign will show the type of tree it is, and the color of the text will indicate it's status. If the text is light blue, the tree is an "infinite" tree and will never require fertilizer. If the text is green, then the tree is healthy and dropping items. If the text is red, then the tree requires fertilizer before it will continue dropping items.
Config File: Remember, the config file is a YAML file, so the indentation is significant.
- DropInterval: This determines how often items might drop. The default is 60 seconds; any value lower than this might cause lag.
- FertilizerItem: Item used to fertilize a tree. Defaults to bone meal.
- MaxUncollectedItems: Optional, approximate maximum number of items that can sit uncollected under a tree.
- MaxTreesPerPlayer: Optional cap on number of trees a player can plant.
- MaxIsPerWorld: Optional, if MaxTreesPerPlayer is defined, this allows the max to be either per world or server-wide.
- WandItem: Right click a tree with this item in hand to see its type and fertilizer status.
- MinimumTreeDistance: Optional, minimum distance between trees.
- SignTag: Text that should be placed within square brackets on signs (defaults to "Appleseed").
- TreeTypes: This section defines the allowed types of trees that can be planted. The following values must be set for each tree type:
- DropLikelihood: The chance of a drop happening each interval. Can be set from 0-100, where 100 is always drop and 1 is one chance in a hundred intervals. Fractional values now permitted.
- RequireFertilizer: If set to Yes, the trees of this type will stop dropping items and require bonemeal to continue (if you set this to yes, either DropsBeforeFertilizer or IntervalsBeforeFertilizer must also be set).
- DropsBeforeFertilizer: Sets the approximate number of drops before the tree gets tired and requires fertilizer (this option cannot be combined with IntervalsBeforeFertilizer).
- IntervalsBeforeFertilizer: Sets the approximate number of time intervals before the tree gets tired and requires fertilizer (this option cannot be combined with DropsBeforeFertilizer).
- TreeType: Defines the type of tree that will grow from the sapling. Can be "Standard", "Spruce", "Birch", or "Jungle".
- MaxFertilizer: Optional, approximate number of times a tree can be fertilized. After the maximum is reached, the tree dies (trunk disappears and the leaves decay).
Permissions:
- appleseed.plant.*: This will allow the planting of any item in the AllowedTreeTypes list.
- appleseed.plant.apple: This only allows the planting of an "apple".
- appleseed.infinite.plant: Trees planted by a player with this permission will never stop dropping items.
- appleseed.infinite.fertilizer: Trees fertilized by a player with this permission will never need fertilizer again.
- appleseed.infinite.cap: This allows a player to plant more than the defined MaxTreesPerPlayer.
- appleseed.wand: Players can right-click a tree with a wand item(defaults to wooden hoe) to get type of tree and fertilizer status.
- appleseed.sign.place: Player has permission to place an [Appleseed] sign on a tree.
This video demonstrates how to plant an apple and a cookie. Note that the drop rate has been increased for demonstration purposes.
Newest version has been uploaded, if you run into any errors please open a support ticket.
@graywolf336
Sure, I'd love to :)
@berserkfury9000
Okay, then I shall upload the version I have on my server. Do you want to test it out prior to me uploading it to verify that it works for you as well?
@graywolf336
Just nothing happens at all. I don't get errors or anything, but I'm also not able to plant any of the trees. Its like the server no longer recognizes it.
@berserkfury9000
Mind me asking what's wrong with it when you add the current version? I've got one working but I haven't checked lately if I need to update the one here..
@graywolf336
I absolutely love this plugin and my players really miss it. How are we looking in regards to an update?
Отличный плагин!
@RiotShielder
In a little bit, kind of got a update one but haven't tested it all the way.
Will an update be coming soon?
@graywolf336
@alanthya
Another option would be to enable the RequireFertilizer setting so trees eventually stop dropping items.
@alanthya
That's a really good idea, never thought of that myself. I can see where it would cause lag, although never would have thought the case was Appleseed so good catch. We'd have to keep track of the last time the user logged on, set a config value that states how long trees should live from their maker's last logon, and then maybe once an hour check that list.
@graywolf336
If you get permission to rewrite this plugin, can you add an option for purging inactive users? I have been dealing with a lag issue for the last few months and determined the issue to be 1000's of appleseed trees. To remedy I have set a limit to the trees users can plant, and had to make a fresh database, some trees were over a year old and long abandoned. Thanks for your interest in continuing this plugin. :)
Dear redsgreens,
As you have stated below that you don't have time to maintain this plugin anymore so I am asking if I can take over this plugin and work on updating it, adding new features (an example is the drop items have a custom name that is customizable), and managing it. I have asked the same via a private message on here a couple days ago and have not gotten any reply. Looking forward to hearing back from you,
GrayWolf
I think I need it!
@Aqelius
He said: The plugin works on version 1.6.2, but it would be normal for adaptation under the latest version.
Плагин работает на версии 1.6.2, но хотелось бы нормальную адаптацию по под последнюю версию.
Actually I'm a Java noob, and was curious to this plugin since it's useful and tackle every single food problem in my server.
My opinion is, that the AppleseedConfig.java has problem with handling the buffer closing, but which part has the specific problem, I can't sure.
PS: I might be not be skillful in Java, but is me stupid or it IS a typo?
itemStackNames.put("birch_log", new AppleseedItemStack(Material.LOG (short)2));
itemStackNames.put("birch_sapling", new AppleseedItemStack(Material.LOG (short)2));
@redsgreens
I would like the code, I will fix what I can to get it going but don't have time to take over the project.
Works fine for me on 1.6.2.
@shortybsd
I'm afraid I just don't have time to maintain this plugin anymore. The code is available if anyone is interested in taking over.