脚本方块 - GreenChennai/InsertRPack GitHub Wiki

指令

可用的三种<交互方式>:点击interact 踩上walk 挖掉break

/sbp <交互方式> create [脚本内容]       创建脚本方块
/sbp <交互方式> add [新的脚本内容]      添加脚本内容
/sbp <交互方式> remove                        移除脚本方块
/sbp <交互方式> view                             预览脚本内容
/sbp <交互方式> run <世界> <X> <Y> <Z>  直接运行某世界某坐标的脚本方块
/sbp reload                                                重载插件
/sbp datamigr                                          将旧的ScriptBlock数据全部升级为本插件数据
/sbp selector remove                         移除工具选择出的选区内所有脚本方块
/sbp selector paste                            粘贴工具选择出的选区内所有脚本方块


/sbp tool   获得脚本方块复制工具
可用脚本方块编辑工具(Script Editor)快速复制,粘贴,删除脚本方块
可用选区工具(Block Editor)选出一块区域,并将其中的脚本方块用于复制粘贴

/sbp export sound|material  在文件中输出Bukkit音效/物品名称
如果在写脚本时,因为服务器版本问题不知道该使用什么音效/物品的名称,可执行此指令,之后可参阅插件文件夹中的export文件夹,会有适配服务器版本的Bukkit标准音效名称/物品名称文件生成

脚本大全


玩家名变量<player>
玩家所在世界变量<world>
可使用颜色代码之处均可使用 &rc 代码来让内容随机显示颜色

[@command /指令]
当玩家与脚本方块交互时,以玩家身份执行指令
举例:/sbp interact create [@command /spawn]
创建一个脚本方块,当玩家点击时回到主城


[@bypass /指令]
当玩家与脚本方块交互时,以管理员身份执行指令
举例:/sbp interact create [@bypass /heal]
创建一个脚本方块,当玩家点击时治疗自己


[@player 玩家消息]
当玩家与脚本方块交互时,玩家自己会看到的消息,可使用彩色代码
举例:/sbp interact create [@player &a&lPCD小组万岁]
创建一个脚本方块,当玩家点击时会看到一条消息


[@server 全服消息]
当玩家与脚本方块交互时,全服玩家都会看到的消息,可使用彩色代码
举例:/sbp interact create [@server &a&lPCD小组万岁]
创建一个脚本方块,当玩家点击时全服玩家都会看到一条消息


[@say 玩家发言]
当玩家与脚本方块交互时,玩家会以/say的形式发送出一条消息
举例:/sbp interact create [@say &a&lPCD小组万岁]
创建一个脚本方块,当玩家点击时会发送出去一条消息


[@perm:权限名]
只有拥有该权限的玩家才能和这个脚本方块交互
举例:/sbp interact create [@perm:pcdt.test][@bypass /heal]
创建一个脚本方块,有权限pcdt.test的玩家点击将会治疗自己


[@permADD:添加权限]
当玩家与脚本方块交互时,玩家会被添加这个权限【注意大小写】
举例:/sbp interact create [@permADD:pcdt.test]
创建一个脚本方块,当玩家点击时会被添加pcdt.test这个权限


[@permREMOVE:移除权限]
当玩家与脚本方块交互时,玩家会被移除这个权限【注意大小写】
举例:/sbp interact create [@permREMOVE:pcdt.test]
创建一个脚本方块,当玩家点击时会被移除pcdt.test这个权限


[@group:权限组名]
只有这个权限组的玩家才能与这个脚本方块交互
举例:/sbp interact create [@group:Owner][@bypass /heal]
创建一个脚本方块,属于权限组Owner的玩家点击会治疗自己


[@groupADD:升级权限组]
当玩家与脚本方块交互时,玩家会被移入这个权限组【注意大小写】
举例:/sbp interact create [@groupADD:Owner]
创建一个脚本方块,当玩家点击时会被移入Owner权限组


[@groupREMOVE:降级权限组]
当玩家与脚本方块交互时,玩家会被移出这个权限组,回归默认组【注意大小写】
举例:/sbp interact create [@groupREMOVE:Owner]
创建一个脚本方块,当玩家点击时会被移出Owner权限组,回归默认权限组


[@amount:脚本方块总使用次数]
这个脚本方块只能使用的次数
举例:/sbp interact create [@amount:3][@bypass /heal]
创建一个脚本方块,当玩家点击时可治疗自己,但总共只有3次机会


[@cooldown:个人冷却时间秒]
两次使用同一脚本方块的间隔时间,单位是秒
举例:/sbp interact create [@cooldown:60][@bypass /heal]
创建一个脚本方块,当玩家点击时可治疗自己,但是要间隔60秒
该冷却时间是针对每个玩家而言的,而非全服,即使A玩家在冷却时间内,B玩家依然可以与方块交互


[@oldcooldown:全服冷却时间秒]
两次使用同一脚本方块的间隔时间,单位是秒
举例:/sbp interact create [@oldcooldown:60][@bypass /heal]
创建一个脚本方块,当玩家点击时可治疗自己,但是要间隔60秒
该冷却时间是针对全服玩家而言的,即A玩家在冷却时间内,B玩家也不能与方块交互


[@delay:延迟时间tick]
[@delay:延迟时间tick/是否存储玩家动作]
与该脚本方块交互后多少tick后才会产生效果,单位是tick
举例:/sbp interact create [@delay:100][@bypass /heal]
创建一个脚本方块,当玩家点击后,5秒后治疗自己
“是否存储玩家动作”可选true/false,若为true,则延迟过程中玩家不能再与该方块交互,若为false,则玩家可以无限制地与方块交互,缺省默认为true


[$cost:花费金钱]
当玩家与脚本方块交互时,玩家需要支付的金钱【需要安装Vault前置】
举例:/sbp interact create [$cost:100][@bypass /heal]
创建一个脚本方块,当玩家点击时,花费100金币治疗自己


是不是觉得都是些ScriptBlock的老功能?以下内容高能


[@calc:变量名 计算方式 值 失败后显示的消息]
玩家只有某个值(比如血量,等级等等)符合一定条件才能触发脚本方块
若不满足条件则会显示失败消息(可加彩色代码)
变量支持数值型PlaceholderAPI变量
可用变量名
请安装PlaceholderAPI前置,你可以在这里查到可用变量列表
可用计算方式
< 小于
<= 小于等于
> 大于
>= 大于等于
==等于
!= 不等于
可用于失败提示的变量
%value1% 变量名
%operator% 计算方式
%value2% 满足值
举例:/sbp interact create [@calc:%player_level% <= 30 &c条件不满足!][@bypass /heal]
创建一个脚本方块,玩家只有等级小于等于30才能治疗自己,否则将会收到失败提示


[@execute:脚本种类/世界名,x,y,z]
玩家当玩家与脚本方块交互时,执行某世界某坐标另一个脚本方块的脚本
举例:/sbp interact create [@execute:walk/world,33,63,42]
创建一个脚本方块,玩家点击脚本方块时执行某世界某坐标另一个脚本方块的脚本


[@title:主标题/副标题]
[@title:主标题/副标题/渐入tick-持续tick-渐出tick]
玩家当玩家与脚本方块交互时,显示title标题(可加彩色代码)
举例:/sbp interact create [@title:&a&lPCD小组万岁/&c这是示例title的副标题]
创建一个脚本方块,玩家点击脚本方块时显示title标题


[@actionbar:动作条消息]
[@actionbar:动作条消息/持续tick]
玩家当玩家与脚本方块交互时,显示actionbar消息(可加彩色代码)
举例:/sbp interact create [@actionbar:&aPCD小组万岁/100]
创建一个脚本方块,玩家点击脚本方块时显示actionbar消息


[@sound:声音名称-音量-音调]
[@sound:声音名称-音量-音调-延迟播放tick]
玩家当玩家与脚本方块交互时,播放声音
举例:/sbp interact create [@sound:ITEM_BOTTLE_FILL-1-1-100]
创建一个脚本方块,玩家点击脚本方块时,延迟5秒播放水瓶装满的声音


[@scriptaction:交互方式]
玩家必须用什么方式与方块交互才能生效?
可选方式:shift left right(鼠标左键和右键,仅限interact脚本)
举例:/sbp interact create [@scriptaction:right][@bypass /heal]
创建一个脚本方块,玩家只有右键点击脚本方块时,才能获得治愈效果


[@blocktype:方块英文名]
[@blocktype:方块英文名:子ID]
检查玩家交互的这个方块的种类,若不符合该脚本里的方块则终止脚本
可使用英文逗号隔开多个方块
举例:/sbp interact create [@blocktype:wool][@bypass /heal]
创建一个脚本方块,玩家点击脚本方块时,如果该方块是羊毛则获得治疗效果,如果不是羊毛则没效果


[@hand:物品英文名 数量]
[@hand:物品英文名:子ID 数量]
玩家必须手持特定数量的该物品才能触发脚本,物品可以是英文ID也可以是数字ID
请注意冒号和空格的区别
举例:/sbp interact create [@hand:wool:1 2][@bypass /heal]
创建一个脚本方块,玩家必须手持至少两个橙色羊毛点击,才能治疗自己
(不一定非要2个,但是只能比这个数字多,不能比这个数字少)


[@hand:物品英文名:子ID 数量 物品名称]
玩家必须手持特定数量特定名称的该物品才能触发脚本,物品名称可加彩色代码
请注意冒号和空格的区别
举例:/sbp interact create [@hand:wool:1 2 &a&lPCD羊毛][@bypass /heal]
创建一个脚本方块,玩家必须手持至少两个橙色羊毛点击,且羊毛必须名叫“&a&lPCD羊毛”才能治疗自己
(利用这个特性,可以实现让玩家使用打死BOSS获得的信物开启下一关卡之类的功能,更多功能!只要你想得到!)


[$item:物品英文名 数量]
[$item:物品英文名:子ID 数量]
玩家必须消耗背包里特定数量的该物品才能触发脚本,物品可以是英文ID也可以是数字ID
请注意冒号和空格的区别
举例:/sbp interact create [$item:wool:1 2][@bypass /heal]
创建一个脚本方块,玩家必须消耗两个橙色羊毛点击,才能治疗自己


[$item:物品英文名:子ID 数量 物品名称]
玩家必须消耗特定数量特定名称的物品才能触发脚本,物品名称可加彩色代码
请注意冒号和空格的区别
举例:/sbp interact create [$item:wool:1 2 &a&lPCD羊毛][@bypass /heal]
创建一个脚本方块,玩家必须消耗两个橙色羊毛点击,且羊毛必须名叫“&a&lPCD羊毛”才能治疗自己
(利用这个特性,可以实现让玩家消耗任务物品完成收集任务的功能,更多功能!只要你想得到!)

⚠️ **GitHub.com Fallback** ⚠️