GravityControl
Enter into the contest here.
What is it?
[ Fly plugin ] Minecraft & Bukkit determine fall damage by how long you've been falling. The default method makes it so if you fall slowly, or if you fly for a long time and then slowly touch to the ground, you'll recieve a ton of unwarranted damage. Sure you could disable fall damage all together, but where's the fun in that? How it works:
Just takes the previous location minus the current location, devides by 1 tick, and gets speed. Then, it uses the SPEED OF IMPACT to calculate fall damage. Original plugin that simply fixes fall damage: http://dev.bukkit.org/server-mods/softerlandings/
But wait! I didn't stop there. Using physics equations, I made it so that thrown snowballs will change your current momentum, thus bringing you more thrust power.
Features
Snowball Engine
- launch yourself using snowballs to generate lift and pull. Options are available in the config!
Better Fall Damage
- based on angle of impact
- and speed of impact
- config options are available.
Magnetic Field
- will probably crash your server.
- is kind of fun to try out.
- is based on real engineering level partical physics equations
Sonic Boosters
- you can set up sonic the hedge hog courses.
- Seriously, could it be any better? use the snowballs, along an ice path... get hyper speed, then use the boosters to jump from track to track. Just like in the Sonic games.
- Easy to use.
- can set the range each sign detects
- Changes your current velocity.
Want to try it? Here's a list of servers that already have the plugin!
(contact me if you want to be on this list)
- Lumengaming.com:25565
- Lumengaming.com:1024 <
- dev version, expect very high unstability.
To do list:
bug fixes
meh screw it. It's there for fun now. Nothing I can do to fix it, just buy yourself a super computer to be able to use it. magnet mode crashes the server.vector signs give you flight ability. fixed: will take away flight ability if they hover for too long, or if they've touched the ground.
Physics
- lower / higher gravity
- Parkour mode
Config
- permissions for the snowball thrust part.
minimumfalldistance for recieving damage (next update will contain it)- add option for how fast measurements should be taken.
Have an idea?
Please tell me. I'm always open to suggestions on how to make things better.
@McBurgerDude
Done. Check the wiki for a link to the permissions page. =]
@Montpelier
basically, minecraft's default damage system won't hurt you if you fall less than 3 blocks. Its damage is calculated blocks fallen - 3. Therefore, y velocity - 3 blocks = damage.
If you set the ymod to 6 and the damage multiplier to some higher number it should work fine. I'll post an experimental version for you. Let me know how it works.
@Pangamma
I was with you up to exponential damage.
I think that exponential/multiplied damage would make what I am talking about possible, but the most important thing would be control of the area/speed where no damage at all occurs. I'm not sure if that's what the code change (3>6?) was relating to.
Can you add permissions :D?
@Montpelier
Are we talking exponential damage? I'd have to rewrite the damage portion of the plugin. I'd leave it as a config choice option to toggle on and off, but after 6 blocks would it just be damage*damage? damage^2?
The part that determines final damage can be easily modified. It reads:
If you were to set the damage multiplier to a full on 2, and then gave it a POSSIBLEPLACEFORVARIABLE value of 6 instead of the natural minecraft 3, would it work for you?
Could this plugin be used to scale damage in a non-linear way? I'm finding a lot of people on my hardcore server are being killed by attritional damage from minor falls, so I'd like to try a system where up to a certain point (a six block fall for example) there is no damage, but damage accumulates rapidly from that point on.
@nih
Try working with the magnetic fields turned on. (from the latest version)
@Pangamma Oh ok. Yes everything that's supposed to work with the current version works now.
@jacobems
Released a new version, should work now (please ignore the magnets, they aren't ready yet.)
@Pangamma i tried that and the magnets don't seem to do anything.
@jacobems
One error down, one to go. The magnetic field charge portion isn't ready yet. Should have been removed, but for now try /magnet to turn it off.
Ok it loads fine now and claims to place magnets...but i'm unsure how to get the magnets to work. What is the "charge" parameter and what can i put in it?
@nih
I have actually. Magnets use the same properties that gravitational fields use. Once I finish up the magnets, I'll add gravity modifier settings. should gravity be constant? Or should it decrease as you get further away from earth?
@Pangamma Ah thank you. If it's still not working tomorrow i'll tell you. Right now though i'm going to bed.
Have you looked in to the possibility of adding low gravity? Earth, moon and Mars kind of settings.
@jacobems
Thank you for submitting the bug report, I think the issue is that I compiled using java version 7. I need to use version 6. I'll get it fixed and re-uploaded before the night is done, alright? If you want I can stay in contact to make sure things work well.
It gives me this when i try to use it. Am I doing something wrong?
[SEVERE] Could not load 'plugins\GravityControl.jar' in folder 'plugins' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: gravitycontrol/GravityControl : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java: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:213) at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:550) 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:166) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:479) at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.java:475) at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:612) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:581) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.UnsupportedClassVersionError: gravitycontrol/GravityControl : 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.java:140) ...13 more