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

Sprout Crop Example

Multi Block Sprouts

Sprout Crop Example

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:

Bellpeppers Bamboo Shoots Broccoli Cabbage Celery Chili Peppers Corn Cucumbers Daikon Eggplant Fargreens Garlic Leek Lettuce Luffa Olives Onions Radish Soybeans Sweet Peppers Sweet Potatos Turnip

Sprouts added in 1.4

Raspberries Blackberries Strawberries Barley Tobacco Cotton Grapes Oats Peanuts Rice Spinach

Sprouts added in 1.5

Alfalfa

All of these Sprouts are configured with the same growth rates as well as a total of 4 growth stages.

Spoutcraft & SpoutPlugin

Spoutcraft Logo

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:

Mibbit Chat 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 / 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.


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    55966
  • Created
    Apr 17, 2013
  • Last Released File
    Jul 8, 2014
  • Total Downloads
    9,857
  • License

Categories

Members

Recent Files

Bukkit