SnoGro (SnowGrow)
SnoGro
AKA SnowGrow
Version: v1.2.7(release)
CB 1.6.2-R0.1
Authors: @Musaddict @Feed_Dante
This plugin uses all 8 of the snowtops (yes, there are 8 heights of snow!) using a gradual snow pile-up algorithm to make aesthetically pleasing snowy areas! The snow is set up to not build up on cliff edges, or borders of the chosen area, so you can simply walk into them without worrying about it lookin' choppy! Works great in forests, adds a little extra touch to the feel. Makes everything less... blocky.
Features:
- Uses all 8 snowtops! (well, technically 7 and a snow block)
- Hooked into weather!
- Piles-up snow automatically in snowy biomes.
- Start it snowing for as long as you want using /snow [radius] [time]
- Radius is Square, not Circular
- Time is in seconds. (300 = 5 min)
- Stop the snow whenever you feel like it using /snow stop
- Optimized performance to relieve resource consumption on servers
- Fully compatible with WorldEdit (use snow with a double-slash to use WE's)
- Compatible with SuperPerm plugins
Permissions:
sg.snow | Starts snow /snow [radius] [time] |
sg.stop | Stops snow /snow stop |
sg.world.enable | allows the use of /snow enable [world] |
sg.world.disable | allows the use of /snow disable [world] |
OPs can, by default, start and stop snow
Known Bugs:
- Due to the restrictions of Bukkit and Minecraft, we cannot simulate snowfall within the specified radius, sorry!
- SnoGro require the server to be running Java 1.7
@Jendon23
Well of course it's "like it's not even there"; it failed during startup! *facepalm*
Copypasta from the many times I've had to tell users this:
http://lmgtfy.com/?q=Unsupported+major.minor+version+51.0
This is not a problem with the plugin, it's a problem with the execution environment.
"Unsupported major.minor version 51.0" (Google would've solved your problem already) means that you're running the server with Java 1.6
This plugin requires Java 1.7; run it with 1.7 and the problem will go away.
If you have 1.7 installed then check the run.bat file you use to start the server as I would guess that it points directly to the 1.6 exe.
i get this error when starting up, then its like the plugin isnt even there...
22:31:48 [SEVERE] Could not load 'plugins\SnoGro.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError : musaddict/snowgrow/SnowGrow : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:151) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:305) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager .java:230) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:214) at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:556) at org.bukkit.Bukkit.reload(Bukkit.java:182) at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java: 22) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:16 6) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:4 84) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler. java:811) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:771)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:754) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34) at net.minecraft.server.NetworkManager.b(NetworkManager.java:246) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:102) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:8 2) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:559) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:451) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.UnsupportedClassVersionError: musaddict/snowgrow/SnowGrow : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:41) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:29) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:140) ... 18 more
Just posted a ticket.
@jokse25
If the plugin loaded successfully then the command would work. (Or at least provide you with feedback as to why it failed.)
Which leads me to one conclusion:
CHECK FOR ERRORS IN THE LOG, K? 9/10 times there's a error in the log and people expect me to have a crystal ball; I do not.
If the error in the console is like "UnsupportedMajorMinorVersion 5x.x" [done from memmory] then you're using java 1.6, 1.7 is required for this plugin.
If there really are no errors in the console then please open a ticket and provide all the info you can so I can try to figure out whats wrong.
@FeedDante
Oh, sorry, now i see what you mean. What I meant is /snow enable world. My bad :) I didn't type the command wrong in my server though, but it isn't working.
@jokse25
So is mine. What does that have to do with anything?
my main world is called "world"
@jokse25
Where did you get the idea that the command is "/weather enable world"? As far as I can tell none of the pages here list that as the command.
Anyways, it's all on the command page: /snow enable [world]
How do i hook SnoGro in to my server? I type /weather enable world but snow height doesn't change when it's snowing. /snow 100 60 works fine
@Drakortha
Yea, I was expecting you to say that. It's unfortunate but there really in no easy way to do this with the way Bukkit is currently written.
Here's to hoping the official modding API (whenever the hell it comes out) makes this easier/doable.
Well after some trials I can safely say this plugin isn't suitable for servers with a large playerbase. Which is a shame because I was able to see some of it in action and it looked spectacular.
All the best then I guess. I hope some day this can be possible without the potential lag.
@Delbyzz
There's nothing wrong with the file itself, (I even tested this by downloading the file and seeing if it would run on my server.) so that leaves two options:
CHECK FOR ERRORS IN THE LOG, K? 9/10 times there's a error in the log and people expect me to have a crystal ball.
If the error in the console is like "UnsupportedMajorMinorVersion 5x.x" [done from memmory] then you're using java 1.6, 1.7 is required for this plugin.
If there really are no errors in the console then please open a ticket and provide all the info you can so I can try to figure out whats wrong.
i really want to use this plugin but when installing it doesnt load and when i try loading it with plugman it says "file exists but is not a plugin"
@Drakortha
Honestly, that's really hard to say.
The biggest drain is a combo of max-range and growth-rate. (Essentially, for each block in max-range^2 do a quick percent check.)
The second (or third) factor is the calculation delay (growth-delay). Increasing this makes the 'growth' seem mot timed and less random, but, increasing this with a low growth-chance can make it seem like no blocks are updating.
In short, both growth chance and delay must be kept proportional to each other but finding the right balance can be hard. Too low (like say .5 secs with 5-10%) and the server seems laggy, too high (like say 5 secs with 40-50%) will make the server unresponsive for a few secs when it checks (every 5 secs).
On my server I have it at:
And for 1-2 people this can increase the CPU demand by about 10-20%. (AMD v160 2.4Ghz, laptop in basement as server)
Having never run a large (or public) sever I can't tell you what to expect, you'll just have to experiment. (I think I'd start with limiting the max-range though.)
TLDR:
I'd say just change the max range to 50 (maybe 100) and see how it goes with everything else at its default.
Your results may vary.
Thanks for fixing the spaces with world names :)
I was wondering what settings in the config you recommend for a largish server? I'm trying to have the least lag possible while still using your plugin.
Thanks, Aaron.
@Hendric
PS: This is why you keep backups!!! When shit like this happens you just restore from a backup; problem solved.
Hmmm, I wanted to test out your plugin. I installed it but I didnt get it to work. COmmands didnt work, and nothing seemed to have changed. But only one thing, I got lag on my server. People can't mine without blocks coming back for a moment and then dissapearing. I uninstalled the plugin, but it still does that. I'm renting my server and CPU and RAM looks fine, also Ping is fine. Any idea what could have happened or how to fix it?
@Drakortha
1.2.4 has a fix for worlds with spaces. Just use:
No quotes or anything. (I even used this name as the test world to make sure it works.)
@Drakortha
Yea, this plugin has the potential to bring lag-free servers to a halt. I've done my best to try to try to minimize the amount of block data that's checked/altered but because of the way Bukkit is written (the methods are not thread safe), I can't do that on a separate thread.
Essentially, for each player that's in a stormy world, build a list of all blocks around the player to check/modify. If there are multiple players in the same general area then that list will be a lot smaller. The worst case scenario (for lag) is having all 20 players in a rainy world but have them no where near each other.
You'll just have to try it out and see what happens. If you want though, you can alter the config and try to minimize the damage (lag).
The config page doesn't seem to quite explain everything so I'll leave this here for now:
Storm Snow
(settings for snow hooked into weather)
max-range: 200 #Total number of blocks checked will be x^2 (for each player) with players at the center (there might be some overlap)
player-check-delay: 5 #Time in seconds to delay checking/recalculation of affected blocks around players (It will only recalculate if the players position is > max-range/3 from where it was last calculated)
growth-rate: 10 #Percent chance of snow accumulating
growth-delay: 1.5 #Time in seconds to calculate accumulation
height-limit: -1 #Maximum height for snow (in layers... 8 = one snow block)
(Copied from the default config, notes just get lost when it's saved. The config page can explain everything else.)
By the way, would you say this plugin would cause too much lag for a server with 20 people online? I'm a bit worried about what will happen about all the block updates going on around the map. Thanks.