<font color="rgb(51, 51, 153)">Pumpkins</font> Make pumpkins grow Version 1.03 Description This plugin allows pumpkins to grow very similar to mushrooms. Every 3 minutes, it finds all the rooted (on top of dirt) pumpkins in the loaded chunks and checks a block from the immediate area. If that block is grassy, it plants a new pumpkin. <Edit by Moderator: Redacted mediafire url> <Edit by Moderator: Redacted mediafire url> Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler #Worlds that allow pumpkins to grow monitoredWorlds: - world #How many blocks a pumpkin will spread horizontalSpread: 3 verticalSpread: 1 #Valid block IDs that a pumpkin will spread to growthIds: - 2 #Block IDs that a pumpkin must be sitting on to grow #Keeping this at only dirt will force the pumpkin to 'root' (change the grass to dirt) before it spreads rootIds: - 3 #Pumpkin ID blockId: 86 #Time to wait between growths. 3minutes*20ticksPerSecond = 3600 ticks delay: '3600' #Time to wait before the first growth. 3seconds*20ticksPerSecond = 60 ticks initialDelay: '60' #Height of the world chunkHeight: 128 My newbie questions As this is my first plugin, I've still got plenty of questions on the bukkit lexicon. Most I have been able to find answers to through tutorials and the javadocs but some have still eluded me. I'll try and keep the questions current here in the first post. If anyone knows the answer to these or can point me to resources that I obviously haven't seen yet, that'd be awesome. * Java's Logger class has fine\finer\finest messages. Is there a way to get bukkit to listen to those types instead of just info? * Is there a way to check and see if the map is currently saving? * Regarding asynchronous threads, is there any cleanup I should practice when the plugin is disabled? Features: * Configurable growth rate and spread * Configurable growth conditions. * Define multiple worlds to allow pumpkins to grow in. * Multi-Threaded Bugs: * Possible conflict when finding chunks while the map is saving. Changelog: * <Edit by Moderator: Redacted mediafire url> - * First run adds all existing non-nether worlds instead of just "world" - <Edit by Moderator: Redacted mediafire url> * Added proper multi-world support * Spreads the tasks out evenly over the delay period so not all the worlds are growing at once * Added check to make sure the world names match actual worlds on the server - <Edit by Moderator: Redacted mediafire url> * Added catch for null world * Added commands to stop all pumpkin tasks and start a grow thread manually. - <Edit by Moderator: Redacted mediafire url> * Added multi-world support * Forced growth to check for air before setting the new block to a pumpkin * Added config file options (worlds, task delay, spread radius, valid growth blocks) * Cleaned up the code to make it easier to read - <Edit by Moderator: Redacted mediafire url> * Release plugin * Push block finding code over to an asynchronous thread ToDo: * Instead of using a default list of worlds the first time, find all active worlds on the server.