EnderSurfer
Introduction
Welcome to the official page of my (first) plugin, EnderSurfer! This plugin features live ender pearl teleportation. This means that, instead of throwing an ender pearl and waiting for it to hit the ground, it makes it as if you are the ender pearl and you travel just like it would travel.
Notes
- Before running your server with this plugin, make sure to set allow-flight to true in your server.properties file to avoid player kicks for no reason.
- Should you find any bugs, please let me know as soon as possible so I can deal with them. Otherwise they will remain there until someone else points them out or I discover them!
- If you make any changes to the config.yml file (either via in game commands, or by editing the file itself), those changes will take place after you reload or restart the server! (v1.10 and up)
- The endersurfer.elytra permission is set to false by default because if abused, the server will lag a lot due to high speeds, causing too fast world generation.
Features
- Ender pearl teleportation on-the-go - aka Ender Surfing!
- Particles behind the player while flying with an ender pearl
- Custom heart loss when the shooter hits the ground.
- Sneaking before throwing the ender pearl will make it be thrown in the usual way.
- Auto-completion for the commands.
- Can be disabled for certain worlds (v1.9 and up)
- Sound effects are now a thing!
Commands
Instead of /endersurfer, you can do /es
Command | Description |
---|---|
/endersurfer setHearts | Sets the the number of half hearts that will be lost when someone hits the ground after throwing an ender pearl. Insert integers only |
/endersurfer setVelocityMultiplier | Sets the velocity multiplier (ender pearl's velocity times the number you put here). Insert integers only |
/endersurfer setDamageOnAir | If set to true, the player will be damaged by the hearts specified in the setHearts command. Insert boolean values only |
/endersurfer showParticles | If set to true, the player will leave a trail of Enderman particles behind them. Insert boolean values only |
Permissions
Permission | Description | Default |
---|---|---|
endersurfer.utilize | Check if a player is able to utilize EnderSurfer. | True |
endersurfer.defyfalldamage | Check if a player is able to defy the fall damage he gets after throwing an ender pearl. | False |
endersurfer.showparticles | Check if particles can be displayed at a player when they throw an ender pearl. | True |
endersurfer.defydamageonair | Check if a player is able to defy the damage he gets while on air, after throwing an ender pearl. | False |
endersurfer.elytra | If the player has this permission, they can use both the elytra and EnderSurfer for super high gliding speeds! (I definitely recommend trying it!). If not, throwing an ender pearl while gliding will make the pearl be thrown in the vanilla way | False |
Disabling the plugin for a certain world
- To add a world, first of all add a new line
- Then, add a hyphen (the following sign: "-", without the quotes of course)
- After that, add the exact name of the world.
- Save the config and
, when in-game, type this command: /es reloadConfigreload or restart the server. - The plugin is now properly disabled for the world(s) you typed.
- See the example configuration file for which format to use
Example configuration file
half-hearts: 2
vel-mult: 8
dmg-on-air: false
show-particles: true
disabled-for-worlds:
- WORLD1
- WORLD2
- WORLD3
Like this plugin? Buy me a cup of coffee by donating to help me keep updating this awesome piece of work!
Demonstration videos
By myself
By MusicTechnician
By Numero Uno
Credits
- To aegisjester for suggesting the plugin name and the setDamageOnAir command.
- To Eegah123 for suggesting the sneaking-cancelling idea.
- To mash1928 for making the thumbnail.
- To MusicTechnician and Numero Unofor making a video showcase.
To DarkBladee12 for the ParticleEffect Library he provides for free to the public.Removed his code because it was outdated - used the API's code instead.
Source code
URL: https://github.com/Lazini/EnderSurfer.git
Feedback
Leave some feedback if possible! If not, then great! It means a lot to me knowing what you think!
Could you add a setting that makes the damage taken considered to be fall damage? Keeping the zero damage on landing, but let the damage dealt by throwing be negated partially by feather falling.
Also, does the damage setting effect regular enderpearls too or just the new throw?
In reply to npc112:
I'll try to register the damage as fall damage, sure! It's a great idea!
The damage setting doesn't affect regular enderpearl usage :)
Hmmm that's an interesting obstacle now isn't it? I will look into it :) .. Currently, the only way I can think of, and it is a bad one, is to give players the permission to use EnderSurfer when outside of that region, and take that permission away when inside that region... If that is even possible..
Heya, WorldGuard has a flag to disable Ender Pearls in a region. Unfortunately with this plugin you may still use Ender Pearls, even if you're not supposed to. Is there any way you could add something to prevent users from using it according to the WorldGuard flag? Thanks a lot.
@aegisjester
Thanks a lot!
It is indeed, isn't it?
Thank you for the elytra permission!
This is one of those plugins you didn't realize you absolutely needed until you have it
@assasianfire
Thank you very much pal ;)
nice!
@Trustinlies
Hello, Trust. Sorry for the delay.
Yes, EnderSurfer is in active development (although there is nothing else to add) and it stills works in 1.9, but since ender pearl behavior has been changed, I will update it sooner or later to match the new 1.9 mechanics. Until then, you can use it normally.
EDIT: It has come to my attention that there is a little bug with 1.9. See, it works normally when you throw a pearl while on ground, but during flight you get thrown to an indefinite direction for some reason, if you throw an ender pearl. I will investigate it ASAP and post a working 1.9 version. Till then, use with caution.
Thanks in advance.
Regards.
Is this plugin still in active development?
If so, will it be updated to 1.9 or does it still work in 1.9? I plan on testing myself when I get a chance, but I have over 100 plugins to check for 1.9 compatibility and am trying to save a little time.
Thanks, Trust
@Quavelen
Well, hello there, first of all! I guess I could add such a feature, although I have no idea how to do that.
Give me some time, I have a lot going on with exams now, so for the next month I will probably focus on studying. After that, I will try to add this feature and see how it goes!
@Lazini
So... It's Lue, from MCL. Do you think that you could add 'Multi-World support' to EnderSurfer? Like, allow server owners to choose which worlds use the plugin, and which don't.
One of my friends runs a server, and he would like to use this; but only if it has Multi-World support. I just thought I'd drop this comment here, because every other means of communication with you seems kinda dead lol. And I never catch you on MCL. >.>
@CommodoreAlpha
Thanks for letting me know, I didn't see it. It'll be fixed in the next version, of course.
Just want to let you know that your most recent file has a typo in its name: "EnderSrufer"
@TWSSYesterday
Is there a specific permission you want, apart from the ability to let players use this plugin?
@TWSSYesterday
Will do once I have some more free time. Until then, patience :) It's in my TODO list.
@Lazini
Perhaps I should've clarified. Basically, with the new way of throwing enderpearls, the damage done to the player is distance-based. With the old way, the amount of damage is a flat value.
If I were to throw an enderpearl via the new way, and land 200 blocks away, I'd be damaged more than if I landed 10. If I threw an enderpearl the old way, I'd take a flat amount of damage no matter what.
The "/setHearts" command applies to the new and old (I think it also applies to old) way of throwing enderpearls by changing the flat amount of damage. My suggestion is to basically make the old way a configurable flat value, and the new way a configurable distance-based multiplier.
I've a feeling my suggestion is pretty much a request at this point, seeing as it's so specific, so I'll leave it up to you to decide. It would probably be better off, for the sake of flexibility, to make everything configurable in the end (you can set either way of calculating damage, flat or variable, for either way of throwing).
Nice logo by the way! :)
@CommodoreAlpha
In the 1.2 version this is implemented in a way. Instead of adding points, you get the damage instantly and honestly I think it's the same thing. I hope that suits you.
(The 1.2 version is still under review at the time of writing)
Could you perhaps make damage (when thrown via the EnderSurfer way, not the old way) be based on the distance you've traveled? For instance, one could configure it so that a player would take 1 point of damage for every ten blocks traveled, or 1 point for every sixteen blocks traveled, and so on.
I really like the idea of this plugin, but I would also like to add an incentive to the "old way" of throwing ender pearls. Basically, the surfing way lets you escape combat instantly, but could deal more damage, whereas the old way has a delay but the damage is flat.
@AcePlugins
In a bukkit server, where else?