SnowControl
Makes snow more "real" and configurable, by allowing it to fall "through" leaves (and any other object you want), in addition to allowing snow to accumulate and melt.
Also, when breaking a block with snow on it, the snow will "fall" (similar to sand or gravel) and pile up on any snow that's underneath.
Snow will only accumulate while it's snowing, and can pile up as much as you want.
Snow will also melt (configurable) during the day if it's not snowing. It can melt down to one layer (default), or down to nothing.
WARNING
This plugin is very CPU intensive, and if you have a very large server with many players always on, this plugin may cause lag. Also, if your server hardware is old and out dated it may also have issues running this plugin. Having said this, my real server where this is running is a Dual core Xeon @ 3.00GHz with 4GB ram, and haven't had any issues.
Installation
Download jar and place it in your plugins folder. (http://wiki.bukkit.org/Installing_Plugins)
There is always a development version HERE. Please keep in mind that this build may not be working 100%, or even tested, use at your own risk.
Commands/Permissions
commands: snowcontrol: description: Primary command for SnowControl. aliases: [sc] usage: - /<command> reload - Force the plugin to reload the config file. - /<command> addReplace - Adds next clicked block to 'CanReplace' list. - /<command> addAccum - Adds next clicked block to 'CanAccumulateOn' list. - /<command> addFall - Adds next clicked block to 'CanFallThrough' list. permissions: snowcontrol.reload: description: Force the plugin to reload the config file. default: op snowcontrol.addReplace: description: Adds next clicked block to 'CanReplace' list. default: op snowcontrol.addAccum: description: Adds next clicked block to 'CanAccumulateOn' list. default: op snowcontrol.addFall: description: Adds next clicked block to 'CanFallThrough' list. default: op
Configuration Defaults
"SnowFall.CheckEvery" is how often each snow eligible block will be checked. It is not recommended to set less than 5 seconds, or if you have a large server with many players, the higher the better. And then every time a block is checked, there is a chance it can accumulate, or melt based on the config below.
# # Settings for Snow Fall # blocks can be listed as ID's or their names, # but names must be exactly as seen here: # http://jd.bukkit.org/apidocs/org/bukkit/Material.html ### SnowFall: #this is only in biomes where snow falls naturally CheckEvery: 10 #number in seconds AccumulationEnabled: true AccumulationChance: 1 #percent 0-100 MaxAccumulationDefault: 8 # number of 'layers' of snow MaxAccumulationOverride: # Must match marerial name exactly LEAVES: 3 MeltingEnabled: true MeltingChance: 0.5 #percent 0-100 MeltDownCompletely: false #If true, snow could disappear during the day MinLightLevelToMelt: 11 ChanceToFallThrough: 80 #percent 0-100 CanFallThrough: #Air is always assumed - LEAVES CanReplace: #Air is always assumed - CanAccumulateOn: - BEDROCK - BRICK - CACTUS - CLAY - CLAY_BRICK - DIAMOND - DIAMOND_BLOCK - DIAMOND_ORE - DIRT - EMERALD - EMERALD_BLOCK - EMERALD_ORE - ENDER_STONE - GOLD_BLOCK - GOLD_ORE - GRASS - HUGE_MUSHROOM_1 - HUGE_MUSHROOM_2 - IRON_BLOCK - IRON_ORE - LAPIS_BLOCK - LAPIS_ORE - LEAVES - LOG - MELON_BLOCK - MOSSY_COBBLESTONE - NETHER_BRICK - NETHERRACK - OBSIDIAN - PUMPKIN - SAND - SANDSTONE - SMOOTH_BRICK - SOIL - STONE - WOOD - WOOL
Wish I had time to Do List
- Make thrown snowballs create snow patches.
- Make thrown snowballs cause damage.
- Make thrown snowballs cause slowdown (freezing effect).
- Make deeper snow slow down players and/or mobs.
- Create custom snow related recipes (ideas welcome)
. . . . . . . . . . . . .
This plugin utilizes Hidendra's plugin metrics system, which means some anonymous information will be collected and sent to mcstats.org. This allows me to track how many servers are actually running the plugin, and the larger user base I have the more likely I am to add features. If you wish to opt out of this service, it can be done by editing plugins/Plugin Metrics/config.yml
@zwollner
Do not use Beta7... major bug where any and all blocks could be replaced with snow. I'll try and get a fix out ASAP.
@diannetea
I did not know that... thanks, I'll have to check it out.
I don't know if you know this, but the latest information on 1.5 is that they've enabled snow stacking. Just thought you might want to take a look at that.
Beta7 has command to reload, and added ability to enable config for specific worlds.
When first loaded all your worlds will be added to the config, then just remove any that you don't want it enabled for.
@zwollner
If it is the difference between world support now or later then I'm happy with a simple on/off. I would prefer more detailed control, but can wait for it if I have the simple toggle.
Thanks for the great plugin!
General question to all....
If I were to make it configurable for each world, would just enabled/disabled per world be good enough, or would you want different config options for each world?
@jeffro1001
I am working on getting accumulation to more than 7 layers, but having a few issues. and currently if you set it to anything not between 0 & 7 it just defaults to 7.
I haven't considered different worlds, currently it affects all worlds with snow biomes, I guess that wouldn't me too hard to add, but it's not at the top of my list.
On another note, I pushed my latest code that should solve all melting issues to the build server, so beta6 should be available within the hour.
The addon is very cool.
Hopefully youll consider adding the additional snowblock thing
I like the idea of snow piling up to at least 3 blocks where people can get snowed in and have to dig out.
Not sure how you would go about making the snow blocks melt though. Seems like only the thin snow is affected by melt.
What would happen if i set the max to 8? Would it just break the addon or would it pile up like you mentioned?
I realize if unchecked it would build huge glaciers but I think that would be neat for an adventure / specialty map.
Any thoughts of making the addon world specific ( for servers running multiverse )
It seems like the addon will affect all worlds without any option to disable it per world.
@jeffro1001
Thanks for the tests, I'll try and get the under tree melting issue fixed soon.
And setting MaxAccumulationDefault to anything above 7 would cause a snow block to form, and reset the level. So If I allowed 8, it would essentially be unlimited, and would pile up without stopping at 8. I could maybe calculate the current height by adding up all the snowblocks under the current one, but not sure how that would affect my melting algorithm. (Maybe it will be in some future update, nothing immediate)
And I'll try and get the reload in the next update (or two)... been planning on adding that for a while.
yea im having the same melt problem
1.4.7 bukkit
v1.0-beta4 snowcontrol
Snow melts everywhere except under trees.
Edit:
Forgot to add..
I did add SNOW_BLOCK to list of can accumlate and it doesnt seem to make any difference.
Another question..
Is it possible to set the MaxAccumulationDefault: to above 7, to get deeper snow?
one more thing..
Can you add a reload, so i dont have to bounce the server each config change?
Edit #2:
Ive noticed that the snow melts at night also. Not sure if that's intentional.
Ive been trying to determine if the melt occurs while its snowing but i havent been able to confirm.
Im thinking that the 'melt' occurs all the time regardless of time of day or current weather, and that the accumulate only happens while its snowing.
@nicholasooo
using beta5, I set the MeltingChance to 10, and MeltDownCompletely to true (keeping all other defaults) and after about 15mins of sunlight all my snow was gone (except under trees, which seems to be a bug I'll take a closer looks at)
@zwollner
Let's see if I can explain. Some snow will melt just fine but other piles of snow will remain there regardless of how long it is sitting in the sun. Also, regardless of whether I have MeltDownCompletely set to true or not, the snow never melts down completely.
@jeffro1001 "what happens if you add snowblock to the CanAccumulateOn: list? Would it end up building glaciers?"
I haven't tested it, but I don't believe the accumulation actually creates a SNOW_BLOCK, so it shouldn't affect it too much. Feel free to test it.
@nicholasooo CheckEvery is the number of seconds between checks of every "eligible" block. MeltingChance is the chance each block has to melt one layer off every <CheckEvery> So by default, CheckEvery is 10sec and MeltingChance is 0.5 (half a percent). which means every 10 seconds every block with snow has a 0.5% chance to loose a layer. if you want it to melt completely gone, set MeltDownCompletely to true.
If you want it to melt faster you can increase either or both numbers. if you have a large server be careful setting the "CheckEvery" too low, because setting it to every second or something would cause every block, in every loaded chunk, to be checked. And if you have a lot of loaded chunks, it may take longer than a second to check causing the next check to happen before the first finishes causing a lot of lag.
And what do you mean by "My snow isn't melting correctly." ?
@nicholasooo
Actually, scratch that. My snow isn't melting correctly.
What is the best way of adjusting snow melting speed? raising the number of snow checks? changing the melting chance? Maybe you could explain how those two settings work.
I'm running beta5
what happens if you add snowblock to the CanAccumulateOn: list?
Would it end up building glaciers?
Oh thank you for this, I'm currently using better snow but this looks way more fantastic
Just uploaded 1.0-Beta4. If you happen to be using beta3, please updated ASAP. While the file is being approved, you can access the latest version Here
@MrMightyGnome This should prevent the floating snow slabs from forming also.
Must just be notepad+ + acting up. Doesn't seem to like it when you try to put a comment in the same line as a variable. Not a big deal.
Excellent updates.
@MrMightyGnome
Oh, interesting. I guess I'll make that more of a priority.