VaporTrails
VaporTrails
Today is a day for Vapor Trails!
- Youtube Video (points if you know which one)
About
This plugin creates effects whenever a player moves. Honestly, this was just meant to be a fun break from my other projects. The idea came about during testing: "Wouldn't it be awesome if this smoke effect happened whenever you walked?" And thus, the idea of VaporTrails was born.
Features
- Nifty trail effects
- Create block trails
- Vault support
- WorldGuard support
- Creative mode auto-effect
Thanks to @UltiByte for the video.
Commands & Permissions
Configuration
Description of the config.yml options:
checkWorldGuardRegions: For effects that may modify blocks, this checks if the player has build rights for a region, and thus if their effect is played while in the region. (Default: false)
version: For internal use only. Do not change.
effect:
- useListener: Whether to play effects by interval threads or on the player move event. (Default: false)
- interval: The time in server ticks between playing the effect. Only used by threads, and thus useListener needs to be set to false.
gamemode:
- effect: Define the effect given to a player when they change to creative game mode.
- use: Whether or not to give an effect when they change game mode
Note, for game mode, they player still needs the appropriate effect permission node.
Notes
Most of the effects are rather small, and this is because making even rather small radius effects can be semi-laggy. For instance, a 3x3 smoke trail on player move, while impressive, is rather laggy. So, for performance issues and to keep the player movement fluid, some effects have a small effect size, for example: smoke, ender signal, and tnt.
Todo
- Blacklist blocks from the config
- Adjustable effect size
- Blocks disappear
Trello Dev board
Visit the Trello board to see the current todo list for all projects.
You can comment and vote on any of the topics there.
All changes on the Trello board are in real-time.
If you've found this plugin useful, please consider donating.
@Mitsugaru
They're being tracked literally 20 times per second (if you aren't lagging)
I did notice a pretty big dive when I let 50+ players use the effects at once. That may never happen and even then it didn't drop our TPS down - could just tell we were doing worse when examining plugin usage.
@Mitsugaru
common misconception #1 - there's a limit to the number of onPlayerMove events called per tic.
Reality #1 - onPlayerMove is called if the player moves their mouse or position at all. And updates a very very very high number of times per tic (not second, TIC).
This would be why you have people reporting that onMove is lagging their server. Bukkit simply calls the event if it receives a movement packet from the client.
@TheNinth
I could add it, maybe...
Thing is, to make that effect, you have to:
Except, if you have the effect occur too frequently, then you definitely can see the entity pop in and out of existence. Which sorta ruins the illusion :\
Can you add the particles that a wolf displays when tamed? Or when something is ready to mate? xD
@LordKainzo
First, that's assuming that the majority of players are using it at the same time. Its not like all 200 players are going to have effects enabled.
Also, the onPlayerMove listener is already rather short:
Unless you have an idea as to a better implementation for the PlayerMoveEvent handling for this particular use case?
The only reason why I shifted to using the scheduler was due to reports that doing the effect on the event was causing issues. I've yet to hear back on whether the change to the scheduler helped them or not.
And in any case, users can always go back to the original way through a config option.
I wonder the impact this would have on a 200 person server... I think the onMove would have to be tuned better.
@NikoKun
By default, the effect occurs every second. If you want it to have more consistently, you can either decrease the interval to have it occur more often. Or, you can alternatively change it to use the player listener so that it will play the effect on the player move event.
The reason for the change away from the player move event so that it occurs less is due to the fact that it could be taxing on large servers. If you want the legacy way, just set the following config option to true: effects.useListener.
After watching the video, I'm certain there's a way to get the particles/trails to behave better.
Instead of having smoke "puff puff puff" behind you, I'm sure there's a way to make it more constant, by using the smoke fire emits. The same goes for the ender-effect, instead of using the ender-eye effect, you might be able to use the nether-portal effect, or the effect which is always on Endermen, which are both the purple smoke, and are much more constant effects.
@Mitsugaru
Thanks very much for featuring us! we really appreciate it :D
Also yes, the TNT one optionally not doing block damage may well be a good idea haha
Yes, an option for all 8 cardinal directions in the config would be a great idea! Also even if I set useListener to true, it still seems to emit at an interval instead of on the player movement. In addition, is there a way to keep the trail enabled so that if a player leaves the game then joins again he doesn't need to re-enable the trail?
@UltiByte
Hey, thanks for making the video on the plugin :D
Next update will have the potion effects added in as well as other things. Also, I'm looking into making the TNT one optionally not do block damage, as requested.
@shankomaster
Its an interesting idea. I'll see what I can do.
Hello!
We thought your plugin was so awesome, we decided to make a video about it! http://www.youtube.com/watch?v=6h3tPEiToQo
Feel free to use it how you like, and thanks for the awesome plugin :)
I got a suggestion! How about a blockbreak trail?
/trail blockbreak <id:data>
Plays the effect that plays when a block breaks, so it could look like a player is bleeding constantly by setting it to netherrack, or a really cool effect by setting it to the portal blockbreak effect
@Mitsugaru
Cool, I understand the time restraints. I am dealing with a few of my own in a similar manor :P
If you'd like, you could send me a PM if you had any questions about what I mentioned. Like I said, I'd gladly fund the changes if need be.
@Zombiemold
Sure, I'll see if I can try and get around to your requests. Just know that I have been pretty tied up with some current projects, some of them large and ambitious.
@Mitsugaru
Awesome update, this is exactly what I was hoping to see from you after I tried out "Blaze of Glory" a similar plugin for the blaze effect.
I have a few requests and suggestions, I'll make tickets for them. If you were to accept any of them, I would gladly send a donation your direction since, I am at using these for donation incentives on my server.
@Mrcomputeranswers
I do still support this plugin. I've just been caught up in my various other projects.
Believe it or not, I had been sitting on the v0.06 update because I was waiting to hear feedback from another user... but I still haven't heard back from them :\ So, well, might as well release it.
Also, I adjusted the smoke effect to play from the four cardinal directions now. I could make it an option to play in all 8 given directions... if you want.
I've submitted the update to BukkitDev. If its not readily available here and don't want to wait, you can grab it from either the GitHub page or from my Jenkins server.
Note, there were changes to the config. I've moved it so that the effects occur every second, rather than on the player move event. You can change the tick interval of the effect in the config. If you wish to have the legacy way of having it occur on move, you can change it in the config by setting effects.useListener to true.
Thanks for the request and your continued use and support of the plugin. :D
I don't know if you still support this plugin but I recommend that instead of having the smoke trail come out of just one location, have it generate from all sides of the player.
@Mitsugaru
Thanks, I'll try it out. Also, let me elaborate on the environment where this happens. First of all, the server has 150-200 players online when the crash occurs (though probably a max of 10-20 people using the trails, as it is a donator perk), and it is not caused directly by this error. The error begins and spams for around a minute until it creates a memory leak large enough to crash the server by making it run out of memory.
The only trails used on the server are ender, smoke and shine.
@BrvtvsC
Odd...
In any case, try this version here and let me know how it goes: https://github.com/Mitsugaru/VaporTrails/downloads