Sprout - Ultimate Farming Plugin
Sprout
Please be sure to read all the information on this plugin before downloading and installing it onto your server.
This plugin offers something never before made available to users but is extremely picky to how it is setup and configured.
Single Block Sprouts
Multi Block Sprouts
Core Features
- Add "Unlimited" amounts of new plantable, growable, harvestable sprouts!
- All harvested items can be used to craft additional items!
- Super-Fast Multi-threaded H2 or MySql Database for virtually zero additional server lag!
- Designed and Coded by the AlmuraDev team, so you know its good.
Configurable Options
- Unlimited Growth Stages, timed (seconds based), with a randomizer.
- Unlimited configurable drops with configurable bonus chances.
- Configurable light value requirements.
- Configurable fertilizer types and amounts.
- Configurable Damage to Player (can configure spike vines?!?).
Multi-World Enabled / SqlLite or MySql
- Along with each crop growth stage having its own configuration, each world has a parent growth value. You can make certain crops grow at certain rates for each world they are placed in.
- Database engine can use SqlLite or MySql.
Sprout Harvest & Planting Requirements
- At the moment, crops do not require water, however we do prevent the soil block from changing back into Dirt or Grass.
- Crops will be affected by water and pistons so you can use them for automated farms.
Seed Drops
Each seed drop type can be configured to drop based on breaking a specific type of block. Each type of seed has specific chances you can configure, example: Break Long_Grass and you can configure it to have a 1-10 chance of dropping a specific seed.
Pre-Configured Sprouts and Drops
The AlmuraDev team along with Kaynide have come together to provide users with a pre-configured set of crops as well as drops, craftable items etc. We have included a generic sprout.yml file for you in version 1.2. You will need to download MoreMaterials from the link below.
You will also need the SMP package that handles the materials, images etc for the pre-configured custom crops we've configured. The SMP file goes into your /plugins/morematerials/materials This file is required to make the pre-configured package work.
Required SMP packages for MoreMaterials
Currently the pre-configure files include the following Sprouts:
Sprouts added in 1.4
Sprouts added in 1.5
All of these Sprouts are configured with the same growth rates as well as a total of 4 growth stages.
Spoutcraft & SpoutPlugin
Get Spoutcraft & Spoutplugin Now! >> Get Spout!
Developers:
- AlmuraDev Team
Support
Support for this and all other AlmuraDev plugins can be found by joining our chat channel here:
Configuration
File: config.yml
# You can specify the intervals (wait times) between each tick of the growth task per world. # These values are in ticks, not seconds. There is approximately 20 ticks in one real second # so keep that in mind (IE 300 ticks = every 15 seconds). # # Any worlds not listed in this file will NOT HAVE A GROWTH VALUE! Keep this in mind. # # Simply follow the style below to add more. Keys are world names. # # WARNING: Setting a value too low will be too intensive for servers with many custom crops. # Two hundred is typically a good compromise but feel free to experiment and see # what works for your environment. # # We also support SQL (h2, sqlite, and mysql). If you specify h2 or sqlite then you do not # need to change any additional fields, only mysql mode needs this information. # # WARNING: We have only tested h2 thoroughly for performance impact and therefore only # recommend that mode. We make no promises that sqlite or mysql will have the same # level of performance. # # Feedback: # bonus-message: true/false = displays a message in the users chat when they receive a bonus drop. # # Jobs: # enabled: true/false = Enabled the Jobs Plugin Hooks for the Farming Job. # # ForceLoadChunks: # enabled: true/false = Enables the ability to force load a chunk if a Sprout is due to grow and it isn't already loaded. # # Updated: 2/22/2014 - Version 1.6 world: growth-interval: 200 sql: mode: h2 host: localhost database: minecraft port: 25566 username: minecraft password: minecraft feedback: bonus-message: true jobs: enabled: false forceloadchunks: enabled: false
Sprout Configuration File
File: sprouts.yml
# WARNING: errors in this file will cause you lots of issues that will be flagged when you start your server. # alfalfa: item-source: MoreMaterials\KFood_Core\alfalfa_seed block-source: MoreMaterials\KFood_Core\flatseed fertilizer-source: bonemeal fertilizer-amount: 1 min-light-level: 7 max-light-level: 15 bonus-chance: 10 minimum-level-required: 18 drops: MoreMaterials\KFood_Core\alfalfa: amount: 1 MoreMaterials\KFood_Core\alfalfa_seed: amount: 1 bonus: MoreMaterials\KFood_Core\alfalfa_seed: amount: 1 MoreMaterials\KFood_Core\alfalfa: amount: 1 tools: MoreMaterials\Example\Tool: required: false bonus: true bonus-amount: 1 MoreMaterials\Example2\Tool: required: true stages: 1: source: MoreMaterials\KFood_Core\flatseed fertilizer-source: bonemeal fertilizer-amount: 1 min-light-level: 7 max-light-level: 15 growth-required: 60 growth-chance: 5 2: source: MoreMaterials\KFood_Core\alfalfa1 fertilizer-source: bonemeal fertilizer-amount: 1 min-light-level: 7 max-light-level: 15 growth-required: 120 growth-chance: 5 3: source: MoreMaterials\KFood_Core\alfalfa2 fertilizer-source: bonemeal fertilizer-amount: 1 min-light-level: 7 max-light-level: 15 growth-required: 180 growth-chance: 5 4: source: MoreMaterials\KFood_Core\alfalfa3 tools: MoreMaterials\Sprout-Tools\HarvestClaw: required: false bonus: true bonus-amount: 5 fertilizer-source: bonemeal fertilizer-amount: 1 min-light-level: 7 max-light-level: 15 growth-required: 240 growth-chance: 5 variables: allow-fertilization: true; damage-player: false drop-item-source-on-grass-break: true ignore-light: false
Commands:
- /Sprout clear = Clears all Sprouts from ALL worlds, will clear DB and reset custom data on blocks and replace previous Sprout blocks with AIR.
- /Sprout clear WORLD = Clears all Sprouts for WORLD name.
Be advised that depending on how many Sprouts you have this command can take a very long time to complete.
Hard Dependencies
The following is required in order for the Sprouts plugin to function
- Server must be using Java 7.
- Bukkit 1.5.2+
- Spoutcraft Client
- SpoutPlugin
- MoreMaterials 2.0
Server / Client Load Expectations
Our Sprout plugin is cutting edge, never before has this been attempted on the SpoutPlugin/Spoutcraft platform in this manner. We've taken the time to thoroughly test this plugin as well as profile its load against the server and the client and found that it generates almost Zero additional TPS lag to the server or the client.
Our database uses SimpleSave SQL handlers and a H2 database connector which are shaded into the sprout.jar file which makes up its 2mb+ in size. Combined with the power of Tint21TripleHashMaps this probably has one of the fastest database search capabilities of any plugin available today.
MySql Server Optimizations
Depending on the number of growing sprouts your server may take additional time to shutdown / stop. When the plugin stops it will validate its in-memory database with what exists on the server if sprouts have not fully grown. Those sprouts that needs to be updated are then either appended to or updated via SQL calls. It is recommended that the database be set to MyISAM and having query caching enabled.
Plugin Metrics Notice
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
Donations for this project can be directed here: PayPal: Click Here
Many thanks for your consideration.
@Merlimont
Thats actually a pretty good idea. I've been testing way to eliminate this issue and still use the blockCrop base block so that the collision box is appropriate.
Hello, it's me again. So the "crop breaking when side-to-side bug" was a conflict with libigot. The "crop breaking in darkness bug" was maybe a bug with the plugin itself. I fixed it by changing the base value of the crops from rose to tripwire (132) in morematerials. :)
Hi, all look like to work but i've a problem with seeds... I send you the problem on this video: http://youtu.be/aNZp1meutq8
Ps: I'm french sorry for my english ;)
I'll be posting the two additional KFood_Meals.smp and the KFood_Drinks.smp packages later today. With these two packs, you can create meals and drinks with the grown items.
@AngryBeanz
You could do that with MoreMaterials, it's not difficult. But crafting with MM doesn't work well at this time, it's buggy. Correct me if I'm wrong.
maybe this has been addressed but this seems kinda useless unless I can cook/craft new food after I have taken the time to grow it all. on that note this looks awesome I love farming in this game :)
It seems like this line
variables: allow-fertilization: true;
is causing major bugs when you break the crops. I fixed it by removing the ; at the end of the line. Was this intended or was it a mistake ? Now I'm trying to fix my other problems. I won't give up. :D
Edit:
So I didn't manage to make it work. It definitely has something to do with light level, as it work fine when the area is all lighted up but not in darkness. This is the code i used for my crop :
When I place two crops next to each other in darkness, they seem to drop but are still there invisible, and become visible when you try to place a block where they're supposed to be. It's just weird, try it.
2nd edit:
Sorry, it's too buggy. I don't understand a damn thing so I'm downgrading.
3rd edit:
Last thing. There is a bug in 1.3 too : when you use placement-source to make crops grow on ; let's say grass ; they're is some terrible bugs when the light level is low because the crops are based on roses and roses drop when the light level is low. It's causing issues because it seems that the block is dropping but Sprout doesn't understand it and the crops are still in the database. I fixed it by changing the base block ID to 39 (mushroom) so light level isn't a problem anymore, because mushrooms just doesnt care. I thought you might want to know. Also this is not causing issues when you use the default farmland placement source, I don't even understand why. Voilà .
I dont know if this is my last - 4th edit :
It's still there. Some crops are dropping when I place them next to each other. :( What do I do wrong ?
It seems buggy. I tried to make my new crops work without success at this time. It's 0:40am here so I'm going to sleep and I will try harder tomorrow but I don't think I will succeed.
I tried to make a crop that can only grow in darkness but when I place two of them next to each other, they just drop. I tried to change the base block from rose to mushroom as I thought the light level of the vanilla rose was conflicting but it doesn't work.
Also, some crops that can only grow in light just doesn't grow at all, although they can be placed next to each other.
Also, is there a way to keep bonus drops, but remove the message in the chat when you get one? That's not very important, but I'm not a big fan of this kind of stuff.
That's quite a big comment, I'm sorry but this plugin has some great potential and It's just too great for me to let it go. :D Also, sorry if this is not proper english : I am french and I'm not really fluent.
Thanks.
Edit: Actually, the "darkness crops" aren't really dropping. They drop into minecraft vanilla seeds but are still there, invisible. They can grow over time, and if you place a block where they're supposed to be, it place an "invisible x-ray block" with the crop on the center of that block. It's weird, really. If you want anything more, like screenshots, just ask me.
Night edit: I just had an idea. The last bug might be my fault. I will try to fix it in the afternoon.
You updated it ! I'm going to try the new version, thanks :D
@Th3Z0n3
If Spoutcraft, SpoutPlugin and MoreMaterials was all 1.6.2 then Yes, but since I've not finished updating those yet, currently no.
Very nice plugin, but can i use it for 1.6.2?
@dockter
Cool, thank you ! Staying tuned.
PS: I like that cat.
@Merlimont
I'm going to be working on the lighting stuff within the next day or so. I'm also going to be adding support for the Jobs plugin.
@dockter
Alright. I found out on the spout forum how to plant seeds on specific blocks and how to prevent seeds dropping from grass. It's all I really need at the time, although the light feature would be useful. Thank you for your time !
@Merlimont
I've been away for a few months but this is a feature I need to finish up. The code is all there I just need to activate it and compile.
Hi, Very nice plugin you have there. I downloaded it, made some crops, everything is working fine.
My only problem is : you claim that "Each sprout has configurable seeds, each has configurable fertilizer types and amounts per stage. Each sprout has a configurable plant-able base block. You can grow things specifically on sand, stone, etc. Each seed drop type can be configured to drop based on breaking a specific type of block. Each type of seed has specific chances you can configure, example: Break Long_Grass and you can configure it to have a 1-10 chance of dropping a specific seed. "
I don't understand how to do that. Could you please help me ? Thank you and again, nice work, this is great.
@dockter
Using More Materials 2.0 beta 2 with Sprout 1.3 and still cannot eat the Sprout items? Is there something else I need to add, like permissions maybe?
@nathan2439
Yup, Spoutcraft!
so.. you do need a cleint mod for this?
@dockter @gamerover98 It's okay, I got this. He's saying the plugin is "beautiful" (I'm guessing he means nice), but he doesn't like the fact that Spout is a dependency.