PlayEffect
PlayEffect
PlayEffect allows to spawn a visual (and sound) effects in your Minecraft worlds. You can play single effect in defined location or create a "static" effect that repeatedly plays in defined area. This plugin is logical extension of my plugin NoSmoking! and created to replace it.
Features
- 59 different types of effects
- Ability to play effect in defined area (location, line, cuboid, plain)
- Static effects repeatedly played in defined area
- Effect customization
Video demonstration
This video is created by EpicATrain. Thank you very much :)
New video created by EpicTrain. This videos is demonstrating how to use PlayEffect with command blocks :)
How to use PlayEffect
- /play <effect> <param1:value> <param2:value>... — play single effect
- /play set <effect> <param1:value> <param2:value>... — set static effect at your view poing
- /play wand <effect> <param1:value> <param2:value>... — link effect to a wand (default wand is the coal item)
Main effect parameters
- id:<effect id> — id or name of effect, necessary to static effects only;
- draw:<normal, line, plain, circle, area> — render view of effect: normal — single location poing, line — line defined by two point (loc and loc2), circle — ring defined by center and radius, plain — rectangle, area — cuboid region;
- loc:<world,x,y,z> — main (first) location point
- loc2:<world,x,y,z> — second location point (used with draw types: plain, line, area)
- radius:<radius> — radius (used with draw types: normal, circle)
- chance:<%> — chance to play effect
- time:<time> — repeating time for static effects (time formatis fully compatible used in plugin ReActions)
- dur:<time> — duration time for single effect (could be combined with static)
- freq:<time> — repeating time if single effect (use only with duration (dur) parameter)
Every effect could have own parameters, that listed in effect definition.
Effects
There are 45 different effect types. All of them listed here: Effect list
PlayEffect API
PlayEffect contains an API that allows plugin developers easy access to develop plugins with effect features.
I created plugin PlayeEffectRailgun as example of using API: PlayEffectRailgun (source code)
Plugins supported PlayEffect API:
- Laser: lasers and other beam weapon
- ReActions: very simple custom event processing system — add new actions to buttons, plates, etc..
If you developer and your plugins is using PlayEffect API please inform me and I will add you plugin to this list.
Commands
Main command of plugin is /playeffect. Aliases: /play, /pef, /pe
- /play help [page number] - Hmmm.... :)
- /play list [page] [effect id] — display list of static effects
- /play info [number of effect id] — display full information about effect
- /play remove [effect number] — remove effect
- /play set <effect> [param] — set the effect. If parameters loc and loc2 omitted player location and view point coordinates will used. If WorldGuard plugin is installed and you can use wand (wood axe) to select location point loc and loc2.
- /play wand <effect> [param] — line defined effect with wand (coal item)
- /play wand — disable wand mode
- /play show <effect id> — show effect(s)
- /play hide <effect id> — hide effect(s)
- /play restart — stop playing of all effects and start it again
- /play reload — reload configuration and effects from the file, restart effects
How to setup location points
You can define coordinates using:
- Parameters loc and loc2. You can use keyword "here" and "view" to define coordinates of player and coordinate of view point. Example: /play SMOKE loc:here, /play smoke loc:world,0,65,0 /play FIREWORK loc:here loc2:view draw:line
- WorldEdit tool. If WorlEdit is installed, after selecting a points using WE tool (wood axe - default) first (left-click) point will be used as loc parameter, second (right-click) will used as loc2.
- Default. If coordinates omitted and WordEdit was not used loc parameter will be equal to you view point loc2 to your position. Example: /play SMOKE is equal to /play SMOKE loc:view
Commands example
- /play SMOKE wind:north loc:here — plays effect with wind direction - north at player locations
- /play firework draw:line loc:here loc2:view type:burst — Oh! What a great laser effect!
- /play set driplava id:lavarain time:1s draw:plain loc:world,10,75,10 loc2:world,-10,75,-10 chance:10 — creates a lava rain
- /play set flamenew id:fireland time:5s draw:area land:true loc:world,10,50,10 loc2:world,-10,75,-10 chance:10 — creates a "flaming" land
Permissions
- playeffect.config - main for OPs
- playeffect.wand - ability to use wand command
- playeffect.set - ability to use /playeffect set command
- playeffect.play - ability to use /playeffect playe command
- playeffect.show - ability to use /playeffect show and /playeffect hide commands
How to upgrade from the NoSmoking! plugin
PlayEffect supports NoSmoking v0.0.7 file format. To import NoSmoking! effects you just need to copy smokepoints.yml file to PlayEffect folder and restart server. NoSmoking! effects will be imported to PlayEffect and file will be renamed to smokepoints.yml.old.
Warning! Imported effects could differ from the NoSmoking! effects: explosion and ender pearl effects are changed to another, sound effect is totally new (I tried to use the same sounds) and there a difference between time representations used in the plugins.
If you need to import from earlier versions of NoSmoking! you need to use NoSmoking v0.0.7 first to get a compatible file format
Metrics and update checker
PlayEffect includes two features that use your server internet connection. First one is Metrics, using to collect information about the plugin (versions of plugin, of Java.. etc.) and second is update checker, checks new releases of plugin after PlayEffect startup and every half hour. This feature is using API provided by dev.bukkit.org. If you don't like this features you can easy disable it. To disable update checker you need to set parameter "version-check" to "false" in config.yml. Obtain more information about Metrics and learn how to switch off it, you can read here.
Is there a way to add a beacon effect? Some parameters could be how tall it is, and/or color of it. (If you can change the color of beacons)
@ChengZi368
Thanks! Can you tell more about your "hat plugin" what is it? Is it uploaded to BukkitDev?
@TheCoolGuy123_5_Minecraft_ I think you need also define a "offset" parameter. If it not defined all particles spawned at same point and you can see all of them like it's only one.
/play heart num:5 offest:0.5
Such a nice plugin! Using it on my little hat plugin and saved a lot of time.
How would I set 5 hearts?
/playeffect heart num:5 doesn't work
Can I set effect on an entity(such as players)?
@fromgate
Hope you do, how it is now, thunder travels way too far, disruptive for other players to use as a sound effect.
@IamHD Hmm.. I think I must to provide more example and tutorial for PlayEffect API.
But I think it really simple, because... it totally compatible with parameters that use at plugin's commands. I tried to create some other methods for API (and removed it later) and I find that current API has sufficient flexibility, that allows to use one method for lot of effect types (So we don't have different methods for playing lightning, fireworks, smoke... etc).
And if you have a suggestion, which method you would like to find in PlayEffect API please tell me. I will happy to include your suggestion to code (if I can :))
@Adam_Nox
Hello! Implemented lightning effect has sound. I do not intend to create "silent lightning", but I think if I find a way to - I will.
The effect parameters of the play methods and set methods makes it so hard to use your API. Because you barely told us what to put in there (Except the effect list that was meant for the game commands). I understand this is easier to hook up to the commands from the game. But I think wrapping that list into an Object and documenting it wouldn't be too much harder
Thank you! I can see through your code, you've put a lot of work into the effects.
Does this allow you to play effects like lightning without the sound of thunder?
Or if you play lightning, is the sound localized to the immediate area or does everyone on the server hear it?
I want to be able to use lightning effects without spamming everyone on the server, can you add as a feature?
New video created by EpicTrain. This videos is demonstrating how to use PlayEffect with command blocks :)
good job you did there :D
Is there a way to give only certain effects to players via permissions? Like if I wanted a certain group of players to be able to use fire, and another group of players only be allowed to use lightning or something like that.
I also think this would be a cool aspect to implement into a mini game. So something like particle tag. It would be like laser tag but 1 team tags with potion effects and the other with fire effects. (I don't know if there is something like this out there, but it sounds like it would be fun.)
@tomori_peti
Falling particles (cirlce-particlles around player legs when he fall from high distance) could not be played by server. Or I did not found a way how to play this particle effect. If I find a way to include this effect, I'll do it.
When will be falling particles added?
@fromgate
thanks
@fromgate
Use full command /playeffect. I will add alias "p" in next version
@kkkeeeddd
please make a shortcut /p
its dont work at me i do "/play firework" and it says "the Specifed MIDI file was not found!"