[MISC/FUN] Appleseed - Plant apple trees! Not your standard apples from leaves plugin!

Discussion in 'Inactive/Unsupported Plugins' started by redsgreens, May 19, 2011.

  1. Offline

    redsgreens

    Appleseed is now on dev.bukkit.org! Go there for the latest versions, a dedicated support forum, and ticket tracking system: http://dev.bukkit.org/server-mods/appleseed/


    Appleseed - Plant trees that drop apples on the ground (or other items!):
    There are other plugins out there that make trees drop apples/items when you break the leaves, but this plugin doesn't do that. With Appleseed, all existing trees are left as-is. To get an apple tree, you must use a hoe to create soil, then right click the soil with an apple in hand. Done correctly(and if you have permission), a sapling will appear in the soil. When the sapling grows(use bonemeal to speed this up), the tree will drop apples on the ground.

    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 likelihood
    • Permissions to control who can plant trees(and what type)
    Download Appleseed: http://dev.bukkit.org/server-mods/appleseed/

    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 on the very bottom block of the trunk. 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.
    • 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", or "Birch".
      • 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: If you don't have a permissions plugin, then only Ops will be able to plant trees.
    • 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.
    Screenshots:

    2011-05-19_15.50.19.png An apple tree with some apples under it.

    2011-05-30_13.22.39.png Two trees with signs. On the left is an "infinite" apple tree, and on the right is a tree that needs fertilizer.

    Video: This video demonstrates how to plant an apple and a cookie. Note that the drop rate has been increased for demonstration purposes.

    Old Changelog (open)
    Version 0.6.4 (08/25/2011)
    • Refactored trees per player counting
    Version 0.6.3 (08/09/2011)
    • Replaced calls to deprecated Bukkit methods
    • Added AllowNonOpAccess parameter to config file for servers without permissions
    • If a player exceeds the maximum allowed trees, the error message will now display the number they have planted and the maximum allowed.
    Version 0.6.2 (07/10/2011)
    • Fix error handling when ShowErrorsInClient is disabled
    Version 0.6.1 (07/01/2011)
    • Fix for "n must be positive" exception
    Version 0.6.0 (06/13/2011)
    • Added optional MaxUncollectedItems config parameter that can prevent items from piling up under trees
    Version 0.5.6 (06/12/2011)
    • Players are prevented from "eating" a seed item if a tree can't be planted for some reason (requested by Joy)
    Version 0.5.5 (06/05/2011)
    • Non-integer DropLikelihood values allowed
    • Configurable per player cap on how many trees can be planted (per world or server-wide)
    • Fertilizer item can be customized
    Version 0.5.0 (05/30/2011)
    • Added support for signs on trees (suggested by kaasinees)
    • Better support for items with damage values
    • Corrected spelling of "fertilizer" in config file (misspelling still works)
    • Added IntervalsBeforeFertilizer parameter to tree type config (suggested by Zarius)
    Version 0.4.1 (05/29/2011)
    • Small tweak to handling of "wrong location" exception.
    Version 0.4.0 (05/26/2011)
    • Fixed a major bug in multiworld saving/loading. If you load this version without restarting the server, ie. with the "reload" command, then you might not lose data. Otherwise the trees outside of your main world will probably be lost. :'(
    • Added config option to enforce minimum distance between trees
    • Added config option to kill trees after some number of fertilizer cycles
    • Added wand item support to show tree type and fertilizer status
    • Allow clicking with wand or fertilizer anywhere on tree trunk
    • Fixed bug with ShowErrorsInClient config flag
    Version 0.3.2 (05/24/2011)
    • Added detection of WorldGuard regions when trees are planted
    Version 0.3.1 (05/23/2011)
    • Fixed bug with permission node "appleseed.plant.cocoa_beans"
    Version 0.3 (05/22/2011)
    • Restructured config file to allow per tree type drop rates and sapling types
    • Trees occasionally stop dropping items and require fertilizer to keep going
    • Added two permission nodes for admins to plant trees that don't require fertilizer, and allow admins to use fertilizer to cause an existing tree to no longer require fertilizer
    • Saving the trees.yml file now runs in a separate thread to improve performance when a large number of trees exist
    • Fixed bug where last tree is not removed from trees.yml (reported by GipsyKing)
    Version 0.2 (05/19/2011)
    • Fixed potential bug that caused some drops to have infinite quantity (reported by walruscode)
    Version 0.1 (05/19/2011)
    • Initial release
    Feature(s) expected for later releases:
    • Config flag to disable initial sapling growth with bonemeal
    • Adjust DropInterval so it uses real time rather than tickrate (for servers with customized tickrate)
    • Bonus items with very low likelihood / configurable "seed" items
    • Suggestions?
     

    Attached Files:

  2. Offline

    thecoolwolf

    this sounds realy good! :D i think i will add this^^
     
  3. Offline

    noahwhygodwhy

    aww, thecoolwolf beat me to the first post, but this would be awesome!
     
  4. Offline

    Jumla

    This is an awesome plugin. Great job, i will be installing today. Also, for future requests, is there anyway you could make iConomy support, and let saplings grow on soil to make apple trees too? Just an idea, not sure if its even possible.
     
  5. Offline

    redsgreens

    With iConomy, are you suggesting that it should cost money to plant the tree? I can't track when users pick up items dropped by the trees.
    Also, can you explain further what you are asking about saplings in soil? Do you mean without using an apple to plant?
     
  6. Offline

    Jumla

    Well, the iConomy might be over the top. But in my idea you would pay iConomy money to plant the tree, so somebody could make a tree farm, and sell apples, it would be an investment. I meant to place a sapling in soil, and it grows an apple tree. Just a suggestion, the plugin is great the way it is.
     
  7. Offline

    wmhcook

    If you could add iConomy support to make a money tree, I would download this.
     
  8. Offline

    Shaegar

    This is a wonderful addition. I love the farming/tilled soil step, it adds more depth than just making leaves randomly drop apples. I'll use this with apples and cocoa beans (rather than cookies). Looks great, keep it simple like this and I'll use it forever. =)
     
  9. Offline

    noahwhygodwhy

    lol a money tree, that would be EPIC :cool:
     
  10. Offline

    redsgreens

    Does iConomy use an in game item as currency? If so the money tree would be possible :D
     
  11. Awesome Plugins! :)
     
  12. Offline

    The PC Tech Guy

    No, unfortunately...
    Interesting idea, although I encourage users to mine trees :) I may still add this, though.
     
  13. Offline

    Shaegar

    Now that I think about it, why not replace the default cookie setting with cocoa bean? It makes a little more sense and isn't so immersion-breaking. :)
     
  14. Offline

    Chipmunk9998

    This looks WAY cooler than the plugin I have that drops apples from leaves. Good job!
     
  15. Offline

    walruscode

    The apples that drop from my trees give LOTS of apples when you pick them up, and you can to right click for a while before the apple stack in your inventory gets a number on it. :/
     
  16. Offline

    redsgreens

    Woah that's weird. Could be a bug, I'll take a look.

    UPDATE: I couldn't reproduce this behavior on my test server, but I went ahead and released version 0.2 that specifically sets the quantity to one when an item is dropped.
     
  17. Offline

    thepackett

    this is epic :D
     
  18. Offline

    Shaegar

    I can confirm that last night the apples being dropped from trees were infinite (-1 value) use.
     
  19. Cool idea!

    But to make it really great, there would need to be some form of work required to keep this going. I'd like to use this, but in the current mechanic, this will end up with players making a tree farm of 500x500, and walk around all day picking up apples and likely killing the server.

    Something like, chance for all the leaves to die, or after x MC days, all the leaves die, killing the apple dropping process. Then the player needs to chop down the remaining logs, and plant a new tree.

    Would be great!

    ===
    Edit:

    If that is too complex, or impossible, or an issue for performance, a simple solution could be a config variable that specifies how many times a Tree can drop something, after which it stops working. Then people just need to monitor what happens, and replant a tree when they suspect it has "died" !
     
  20. Offline

    Mephestrial

    If you can detect the end of a storm, I'd suggest making an option for drops only to appear after a rain.
     
  21. Offline

    redsgreens

    @walruscode and @Shaegar: does version 0.2 fix the infinite drops problem for you? Also, what CraftBukkit build are you running?

    @Joy: I had a couple thoughts about how to limit the size of tree farms. What do you think about a configurable maximum number of trees per player, or max per chunk? A chunk is 16x16 blocks, so a limit of 1 or 2 per chunk would keep the tree density way down. There could be a permission node that would allow overriding the maximums, as well.


    UPDATE: After considering it, I think I'll make it so that trees will occasionally require fertilizer in the form of bonemeal. That way the trees wouldn't have to be cut down and replanted, but they would require tending. This would be configurable, of course, and probably disabled by default. Also there would be a permission node that would enable admins to plant trees that don't get tired.
     
  22. Offline

    moonjokes

  23. Offline

    ErMurazor69

    A money tree would be easy to make, have the tree drop gold bars then setup an iConomy chest shop (admin shop) set to buy gold bars not sell them and voila instant'ish cash.
     
  24. Offline

    airsoftinva

    Fantastic. I love it. Screw the iconomy to plant, you can just sell the apples. And if you get a lot of gold, golden apples.
     
  25. Offline

    walruscode

    0.2 seems to fix all the problems I've been running into. I also had a problem with pumpkin trees dropping glitchy pumpkins that couldn't be paced, but that seems to have also stopped. Thanks!
     
  26. Offline

    marco213

    It wont work for me to create a tree: i right clik with a cookie in my hand and it eat it (yes i use a hoe) i'm using revision 766. any help? :(
     
  27. Offline

    redsgreens

    Are you sure you have permissions set so you can plant a tree? If you use "appleseed.plant.*" you will definitely have permission. Also, is cookie in your list of allowed tree types(in the config file). The defaults are apple and cocoa beans.
     
  28. Offline

    koibunny

    Fantastic plugin. Much more intuitive and pretty than knocking down apple trees just to get apples. But yeah, similar problem here with getting too many apples. The drop rates seem to work perfectly, but without any limitation on dropped apples, the effect is still to drop way way too many. And setting the drop frequency very low is not a nice solution. Limitation on number of trees is one thing, but the number of apples dropped per tree is another.

    My suggestion would be to set some kind of hard limit on how many apples any given tree can have dropped, and uncollected. For instance, stopping trees from dropping additional apples once there are already four apples on the ground near the tree. This would also make it less pointless to plant trees very close together (say 5 by 5 area detection per tree.

    Also, separate drop frequencies (and specific tree types) for different items would be handy.. ^_^
     
  29. Offline

    marco213

    i'm admin. so i have acess to all command. but i will give it a try ;)

    still do nothing D=

    nvm it work. thanks

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
  30. Offline

    batlham

    LOL!!! I made a TNT tree a couple of mins ago..... this mod is very cool
     

    Attached Files:

Share This Page