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
@pip911
I think that won't be hard... I will certainly modify the cooldown option to add it the amount parameter.
Shereis First of all I love you plugin it has made some impossible task to keep up with on my server very easy A huge Thank you. As for the reason of this post I have a feature request there has been a couple time on our server we have wanted to use this not sure how hard it would be, Or maybe easy. You have the ability to run a scriptblock a number of times and then it self erases we use this alot, also you have the ability for a cooldown witch I love. Would it be possible to make it so a script could be ran a number of times then have a cooldown instead of the script erasing This would be amazing and give us so many more options. Once again thanks for a great plugin PIP
@luigi_vampa
Sorry, I read your first post too fast...
You should open a ticket and post it the version of vault, permissionbukkit ! the part concerning the default group in your permission config... and the part concerning the script you have an issue, in the blocksdata.yml ( or walkblocksdata.yml if it's a "walkblock" ) !
@Shereis
Hey, thanks for the reply. It's not a problem with the @bypass part, that works perfectly. It's restricting it so that only the default group can use the sign. If I add '@group:default' to the sign no group can access the sign, not even the 'default' one.
@luigi_vampa
if I understand it well, the problem is the same as spyguy587, just before your post !
I don't know if permissionBukkit have this feature, but with some permission plugin like PermissionEX, you need to activate OP in the config, to make the @bypass function to work !
However, and sadly, some commands of some plugins are not OP based ... so you need to use the '@bypassGROUP:' or the '@bypassPERM:' function !
Hello, having trouble with permissions for the groups with this. The scripts used on one block are:
/sbcreate @group:default /sbadd @bypass /tp <player> -102,117,-138
It's the start of a tutorial for noobs on the server. Is it right that only those in the 'default' permissions group can use it and then it bypasses the permission for the tp and teleports the player who clicked it to those co-ords. The tp part works on its own but regardless of whether you're in the default group or not it won't let you use it. I'm using permissionsBukkit and the default group has 'scriptblock.use: true' set as a permission. Any ideas?
thanks guys.... I will try this out...
@spyguy587
As bPermissions is supported by Vault there is no reason that it does not work ! so... If you added the permission "scriptblock.use" ( without brackets of course ) to your players... they should be able to use it !
Howether, Like Hellsing said... Maybe @bypass does not work with the command you're using in your script, so you should use @bypassPERM, or @bypassGROUP instead !
@spyguy587
@bypass only works if OPs have access to the plugin command you want to use. You should better use @bypassPERM to grant the person the permission directly.
Hey...... sorry, its kinda n00by, but I'm having trouble with my permissions... is there a specific plugin that works best with this? because bPermissions doesn't detect it for some reason..... I mean this plugin is great,and I love the @bypass, but if they don't have permission to use the blocks in the first place, its pointless for my users. Help? I can give a list of my plugins if needed btw.....
@ihasamoose
Please, Open a ticket and don't forget to tell me :
- the version of bukkit you're using.
- the way you've got this error.
- the content of your script.
I've used your plugin for ages, and love it. Just having some bugs with the latest dev build of bukkit..
2012-04-29 01:24:56 [SEVERE] Could not pass event PlayerInteractEvent to ScriptBlock org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:177) at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:94) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:537) at net.minecraft.server.Packet14BlockDig.handle(SourceFile:43) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NumberFormatException: For input string: ""300"" at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source) at java.lang.Double.parseDouble(Unknown Source) at scriptblock.read.Cost.init(Cost.java:24) at scriptblock.read.Read.init(Read.java:125) at scriptblock.PlayerHandler.onPlayerInteract(PlayerHandler.java:105) at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ... 12 more ... 12 more
@HalestormXV
Thanks for your thanks !
@enziguri
I don't know... Depends of my motivation... I've started recoding severals things to add most of requested features... it's quite boring and coding is not my actual priority... so you'll have to wait more ! sorry about that !
@chamunks
You can use the <player> option for that !
like this : /sbwalkcreate @bypass /promote <player>
I have some commands that absolutely require being targeted to a player that I want to be a selfcast is this possible? Example Player caslu15 walks over block X and triggers /promote caslu15 is there a way to target that to him or any other player that walks over it such as player Jwill744 would also be able to target jwill744 when he walks over it.
Basically if there was a variable that I can add into a command like say /promote \player that would be lovely
when you will add the Per Player Cooldown thing? i really need it... like one player can just "use" one sign just one time, like permanent cooldown... i love this plugin is awesome!
Thanks
Just a friendly comment to say thanks for the work and for the upkeep.
By far still one of the best plugins in development in my honest opinion.
@UltrafaceGuy
Anyways it's always better to do a bypass permission instead of a simple bypass.
Bypass will only grant the person to OP durin the script and not all plugins give OPs all permissions, which means even when you are OP, you still don't have the permission and that means the person won't be able to run the script.
@bypass still will not work. The command will still run, but it will only run if the user already has the required permission. I use PEX, and everything is updated to the latest version (Vault PEX Scriptblock) Any suggestions? What might I be doing wrong? I need help asap D:
EDIT: Scratch that, just had to restart a few times. I have no idea what was wrong.
Can you use this to send links to people via chat? Or will the links be un-clickable?
@yuhhaur
I've done some small modification ! but I keep it ; )
The split() method is pretty heavy... so I think, it's better to call it once ! I replaced damage by metaData... I think it's a better name for data ^^
I also removed a ItemStack I forgot and redefined the validStackIndexMap to a List .
EDIT: about the ETA I've been a bit optimistic... I need to recode severals things first !