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.
This bug in ProtocolLib has to be fixed before PlayEffect will work with 1.8: https://github.com/dmulloy2/ProtocolLib/issues/4
It seems that Playeffect has given up the ghost on Spigot 1.8. I don't get any errors but none of the effects I've tried have worked.
I would consider switching to the vanilla /particle command but that doesn't support defining the world - only coordinates - which is a big slap in the face from the developers.
@fromgate
Would you be able to update the plugin for Spigot 1.8? I'm getting the following error right now when I try to use it: http://pastebin.com/wrDZ1cQp
@nickvdklooster
Hello! It works fine with 1.7.9 / 1.7.10. You just need to use latest ProtocolLib.
can you please update the plugin for 1.7.9 for my server please
Keep going! Don't let this project end! I love your plugin.
@Skyyagiz
There's a commands /play show and /play hide. I did not implement redstone features in PlayEffect, because there's lot ways to execute command (bind it to sign, button, command blocks). If you don't use any plugin yet, you can try ReActions.
Hey, is there still a way to switch Effects on/off with redstone? Some sort of toggle? I know you could do that in No Smoking back in the days. Thx, -Skyyagiz-
@TheCoolGuy123_5_Minecraft_
Hi!
/play is just alias. Main command is /playeffect and there's some alias for it: /play, /pef, /pe
Please add a 2nd command. A plugin I have uses /play, and that looks like the only command that plugin uses and this one uses.
@xcraftnation
Which effect you trying? Some effect did not support this parameter.
umm offset doesnt work i dont know why is just doesnt work for me...just spawns in the same place and please respond quick
@DominateCraft
This feature is not implemented yet.
@Notskal
Oh... I can't reproduce this. Can you send me config.yml and effects.yml files
How do I make an effect follow a player. For example I want smoke to follow a player for 30 seconds.
Reporting a bug here
Error: http://pastebin.com/u1G38AJd
Causes: effects not showing after the error
Other: server runs well and with effects. error takes place after some online time.
Software used: CB v.1.7.9 R0.2 and ProtocolLib v. 3.4.0
@madtomic
I think it will work fine with any 1.7.x release. Just don't forget to update ProtocolLib plugin :)
Will this needs to update for cb1.7.2-r0.3 in order to work correctly?
@fromgate
Okay cool, just wondering. Also is there a way to put a permission node per effect? So playeffect.play.lightning or playeffect.play.smoke ?
@Sa5mmm
beacon effect is an client-side effect. And I know only one way to create it - send fake block information to client. But player will see that fake block. And there's no way to control beacon beam server-side.