ScriptBlock
Welcome on the ScriptBlock v0.8.0 project page !
ScriptBlock is a CraftBukkit plugin inspired by the great Fluff's plugin Annotate and CommandSign !
It allow you to bind text, commands, or MANY commands to any block (levers, buttons, doors, Signs, etc...), triggered by clicking or walking on it !
Here is a Tutorial video made by Kunoichi Kitteh ! Thanks to here !
LiekMudkipzz also made a cool video of ScriptBlock ! It's a bit outdated, some commands have changed ! but Thanks to him too !
Here is the link !
Regarding Donators
Those who help me maintain motivation for Keeping this project updated !
I really Thanks them !
S4h4rk
StefanPelskamp
Slipswhitley
About 0.8.0...
Lot of change in the codes, in the commands, to make possible and easily, for other devs, the add of Options, and the use of ScriptBlock Options for other Minecraft Event than walk , and interact trigger ! ( ask for sources, and for help if you want to do one ! )
Also a New BIG and FULLY customizable permission system. See changes log for more informations !
Features
- Adding any text, command, or set of commands to a block (levers, buttons, doors, signs, etc...) with Various Options !
- Read any Text and execute any commands or command Script. that has been bound to a block with right or left-click !
- ScriptBlock use the Vault API ! You need to download it even if you don't want to use the Economy and Permissions features !
Download Vault - Support all permissions plugins supported by Vault or if you don't like permissions, it can be Op based only !
- Most of Economy plugins support (if Vault support it, ScriptBlock support it too ! ).
- MultiWorld Support.
- Player can use a bound command, even if he usually doesn't have the permission to use it, with the help of the @bypass prefix.
- You can edit scripts with a simple Text editor like notepad
++
. - Look at Changes Logs for more Infos !
Commands
Trigger:
- /sbinteract
is used for "on block interaction triggered" scripts ! - /sbwalk
is used for "on block walk triggered" scripts !
After you've choosen the kind of trigger you want , you need to choose the type of commands you want to send to ScriptBlock !
Types:
- create
Use this command to create a script and follow displayed informations ! - add
Use this command to add a command, or a script to an already created one, or to an already bound one. - remove
Use this command to remove a script from a block. - view
Use this command to view the script you've bound to a block ! - reload
This command let you reload the save file, to refresh the scripts bound on blocks !
Usefull when editing script in the BlocksData.yml save file while server is still running !
exemples:"/sbinteract create" , "/sbwalk create", "/sbinteract remove", "/sbwalk remove", etc...
Options
There is a lot of cool options you can use for your scripts ! You MUST at least use one option with your script to make it work !
Options List
Permissions
ScriptBlock Permissions system have a lot of possible customisation. You can use simple permissions nodes if you are admin and want full power, without taking the time to set up all the permissions for your players. Or you can take the time, and fully customize the way you want your players to use ScriptBlock.
Upcoming Features
- Per Player Cooldown.
Economy plugins support- Copy/paste Scripts. (low priority)
Add a Config file to edit Script that has been bound.More Permission NodesA command that let you know what commands you've bound to a block.- WorldGuard / Residence support. (low priority)
- Custom messages
- Chat color
@Shereis: That sounds great Shereis bc boosCooldown plugin actually isn't a server cooldown it is a player command cooldown. So, that isn't helping me :(
@WhiteDragon32
I will try to work on this after I've done some feature I want to implant first.
@4am
I will look at this issue as soon as I can ! For the redstone trigger, I will try to add it to... but as I said above, I have a lot to do first !
If you could add the triggering of block scripts when they become powered by Redstone, that would be awesome!
Also, I am having a lot of issues with this - my plugins directory is NOT located where my server JAR is - but your plugin is assuming it is instead of asking CraftBukkit, and it's writing config files where it shouldn't. Please fix this!
@Shereis: Thanks for pointing me to that plugin it looks great and from what they say still works. The only thing I would be looking for further would be a CoolDown timer per individual sign. That way you could say have 5 different signs on your server with the same command and each one would have a chance to be used when one of the others were on CD. This is all for "Player can use a bound command, even if he usually doesn't have the permission to use it, with the help of the @bypass prefix".
I say all this bc of the before mentioned dungeon creator plugin that I have. I want to have about 5 different dungeons located in 5 different locations running on the server but not have them getting overwritten or griefed in that specific area. If the signs had their own personal CoolDowns then if one dungeon is on CoolDown they can go try the next and so on down the line until all 5 dungeons are being used and on CooldDown. I was also planing on doing the 100% exact same thing with my arenas/arenas-plugin. It would prevent multiple people trying to get into the arena at the same time and causing issues with the arena players. It would also allow me to allow a set maximum number of players per arena by having only that number of signs out front that are connected to that specific arena. I am sure there are other plugins out there that could follow this same scenario. I just don't know them at this time.
For now i will definitely use that plugin you pointed me to so that I can have at least 1 dungeon going for now.
v0.2 is working awesome for me as well. Thank you!
v0.2 is working perfectly, excellent plugin!
@WhiteDragon32
it works with iConomy, but not yet with bPermissions ! but I will try to add it ! maybe you should try combine this plugin with mine to get what you want ! if it don't work, I will add this feature on my ToDo list !
Does this work with bPermissions and iConomy?
I was also wondering if you could implement a server-wide changeable per sign global-cool-down for the signs. That way I could set certain signs up as first come first serve. I ask this bc I have a dungeon plugin that uses a /command to make an in-game dungeon and I only what that area/sign to be used once every 30min to an hour. Mainly bc it will overwrite the dungeon. And if players are in the dungeon or haven't finished it yet someone can come along and grief it by just clicking on the sign and overwriting the dungeon. Or they could grief the server by spamming it hardcore and crash the server. I also have mob arenas that would benefit use this function too.
@ChupaReaper
v0.2 should be compatible with PermissionsBukkit now ! it add more features, so enjoy it ( and report bugs ! haha ! )
@S4h4rk
I prefer using a residence/worldguard plugin for my spawn ! with that I don't have this kind of issue ! I supposed, you wanted to, so I added you to the donators list ! Thanks again for this Donation ! Latest version should be compatible with you ! feel free to download it, if you want !
@Shereis
Based on observations, there's something different with how left clicks are handled at spawn. I noticed StarGate's portals only were working with right clicks at spawn. I fixed that on my server by changing "spawn-radius" in bukkit.yml to 0. Maybe that is hackish, but it works for StarGate's issue with spawn.
You are welcome for the donation! Maybe a public list (for those that want to be listed) on here of those that have donated would be cool. Like what's on http://dev.bukkit.org/server-mods/simple-region-market/
S4h4rk
@Shereis
Cool, I'll try 0.1.6.9 in the meantime! Edit: Works perfectly! Awesome plugin! I'm using it with Virtual Chest to create chest banking (there was a plugin that did this but it's out of date). I'll be using this plugin for a whole of other stuff too.
@ChupaReaper Be comforted, You shouldn't have any conflicts with other plugins ! In the next update, I will bring back PermissionBukkit ( the latest version of CraftBukkit (or maybe the latest of PEX? ) broke my permission code ! that's why 0.1.7 don't work with you, it only works with PEX ! ).
/sbview is already coded, /sbcopy and /sbpaste is not to hard to code I think.... so I will try to add it too in the next release ! I've got too much issue with Economy for the moment, so I won't add it in the next release.
@S4h4rk
I think you're right, Spawn point cause a lot of issue, I don't recommend using any plugin that allow you to interact with world near it ! However, I will try to replicate it... i'm curious to see if this is really the cause of your issue. PS: Paypal, didn't sent me a mail for this !! Thanks for warning me about it... it would have been really annoying if I had missed it ! By the way, I really appreciate it, Thanks !!
@Shereis
It must have been a quirk with being so close to the spawn point or something. I tried it with a different button in a different area in the world and "/sbremove" worked as it should.
I'm using CB 1337, ScriptBlock v0.1.6.9 (v0.1.7 gives me PermissionsEx dependency errors) and TeleportSuite v1.1.4-b19.
Best regards, S4h4rk
PS: Don't forget to claim your donation from me via PayPal. :)
@ChupaReaper
I got that too with ScriptBlock v0.1.7 but not v0.1.6.9. So I'm using v0.1.6.9 and everything works fine.
Best regards, S4h4rk
I'm getting this: [SEVERE] could not load ScriptBlock.jar in folder plugins: PermissionsEx org.bukkit.plugin.UnknownDependecyException: PermissionsEx ...and a load of other stuff, I'll copy it here if you need it.
Thing is I use the latest PermissionsBukkit not PermissionsEx (I don't use SuperPermsBridge.jar, I tried using it but still got this error).
This plugin is gonna be really awesome for my server, I'll try messing around with my other plugins to see if there are any conflicts...
Edit: Also \sbcopy and \sbpaste would be useful for putting the same scripts on a bunch of blocks, or a copy and paste wand item, or world edit selection, lol my request is getting quite big now :P a simple copy and paste would save a lot of typing though!
@S4h4rk
hmmm it's normally impossible to activate a Scriptblock after enabling the /Sbremove command until the remove status is cancelled... I've tested many teleportation button and removed them without this issue....What's you bukkit, and ScriptBlock Version ? Does it happen each time, you bind TP to a button ? or only when you bind TP to this block at this X,Y,Z Coords in particular ? if it's the second one, please tell me your Seed and the coords of the block ! I would like to try it !
EDIT: I must ask this question : Do you bind Script To the button itself or to the block that is behind it ?
I found a minor issue. If I have a teleport command on a button block, then decide to remove by typing /sbremove and pushing the button block, I get teleported and ScriptBlock tells me, "There is no text bound to this block. Remove status cancelled". Maybe /sbremove should disable script execution for the very next block activated?
Best regards, S4h4rk
@S4h4rk
I've tried to get this work, before using the ops system for @bypass... but PEX is VERY VERY laggy when promoting player to a rank or a permission node and removing it after the commands was sent... And My choice was to make this plugin very lightweight ! but I will add the options in my TODO list, so Admins will have the choice... but don't expect it this week ! I have to much work for now.
for the command /sbview, it's a good idea, I will add it to the TODO list too !
@Joymo
I never used WorldGuard...so it won't be easy but I will add it to the TODO list ! but first I have to implement more permissions nodes... Economy support, and more permissions plugins support...
One of the things that was great about Fluff's, is that it did not allow people to create command signs out of blocks they did not own. There are very obvious exploits and issues if you allow this.
Any ideas/plans to do this? Could be done in different ways I suppose, support WG natively, or make it so it's possible to restrict script placement on block placement, so not to already existing blocks, etc.
If this somehow already is the case, I apologize, but this much I get from the description :P
I'm using 0.1.6.9 and everything is working as it should. With the @bypass I've run into one plugin's commands so far that I could not use in scripting due to the fact that if the plugin detects a permissions system, it completely ignores Op privileges for its commands. How hard would it be to implement a privilege escalation to a particular permissions group (say "scriptblockcommands") when a command is executed with @bypass? Then this permissions group could be given permissions for the plugin's commands. CommandSigns did exactly that. If this is a mess to code / implement, don't worry about it.
Unrelated to the above: A command to view what commands have been bound to a block would be useful. Something like /sbview
Best regards, S4h4rk