前言

  • 使用ScriptBlock插件可以让玩家进入某个方块或走到该方块上方时,执行指令,同时也支持执行op指令。
    该插件常见的用法是设置传送门,可以搭配礼包插件实现踩到方块上面获取礼包等等。
  • 此文章演示的MC版本为1.7.10,服务器在本机运行测试(客户端的IP地址填写为127.0.0.1即可)。
  • 脚本方块插件实际的作用和菜单类似,都是替代了玩家手动输入指令,两者区别在于脚本方块把命令绑定到了方块上,而菜单是通过UI界面。
  • 需要注意的是ScriptBlock插件最高支持的是1.7.10,如果需要在高版本服务器使用脚本方块的话,可以使用ScriptBlockPlusGrScriptBlock等插件。
    你可以根据这个插件的使用方式,来理解其他脚本插件的使用方法。
    最常见的就是实现一个传送门

在这里插入图片描述

一、介绍

[1]. 指令

  • 主要的指令如下表,当输入完有效的指令之后,会提示你点击一个方块进行绑定。
  • 如果你需要创多个权限类别的指令时,可以使用英文的中括号将对应的权限类别括起来。
  • 如果你的指令中需要用到玩家的名称时,可以用<player>将玩家的名称替换。
指令介绍
/sbinteract 执行方式 权限类别 指令创建一个指定类别的指令,可绑定到方块上,当玩家破坏点击右键方块时将会触发绑定的指令。
/sbwalk 执行方式 权限类别 指令创建一个指定类别的指令,可绑定到方块上,当玩家走到该方块上面时就会触发绑定的指令。
执行方式介绍
create以新建的方式创建,若方块之前就绑定过一条指令时,以前的指令将会被清除
add以添加的方式创建,
view查看指定方块已绑定的指令
reload重载指定的插件配置,如果是使用的/sbwalk reload,重载的配置是walk_Scripts.ymlwalk_Config.yml;如果使用的是/sbinteract reload,重载的配置是interact_Scripts.ymlinteract_Config.yml
remove删除指定方块的指令,如果在绑定时使用的是/sbinteract来创建的,但删除时使用的是/sbwalk不会删除方块的指令。所以如果发现没法删除方块上的指令时,就换另一个指令。

权限类别不止下面几种,仅介绍常用的。

权限类别介绍
@amount:次数设定玩家可触发命令的次数,当次数使用完,命令就会从方块上移除。
@bypass无视用户的权限限制,使得玩家可以越权限执行绑定好的指令。
@command以玩家所拥有的权限执行命令,如果玩家没有该命令的权限时将会出现错误提示。
@cooldown:时间设置命令冷却的时间,单位为分钟
$cost:金钱使用这种权限类别时需要Vault经济插件,消耗指定的金钱来执行某个指令,此时如果玩家执行的是权限范围之外的指令,就只会消耗金钱而不会执行指令。
@delay:时间设置命令延迟执行的时间,单位为
@say 文本将绑定的文本发送到服务器聊天栏,使用此权限类别后不需要接指令
@player 文本将绑定的文本发送给触发命令的玩家,使用此权限类别后不需要接指令

[2]. 权限节点

  • 如果是op,直接给所有权限。
    如果是玩家,就给另外两条权限。
  • 插件默认的权限比较多,通常只需要知道这三条权限就行了。
权限介绍
scriptblock.*插件的所有权限
scriptblock.interact.use让玩家可以与绑定命令的方块进行交互(左键、右键和破坏方块),从而执行绑定的命令
scriptblock.walk.use让玩家可以与绑定命令的方块进行交互(踩踏方块时),从而执行绑定的命令

二、使用

插件的配置位于plugins/ScriptBlock之中,使用这个插件时不需要使用到配置,而且配置大多数情况下不需要去修改它,所以就不介绍配置了。

[1]. 简单传送门的实现

先选择一块空地

在这里插入图片描述

搭出来一个传送门的样子

在这里插入图片描述

然后输入一条指令:/sbwalk create @command /spawn
sbwalk表示当玩家踩踏到绑定的方块上方时,触发指令/spawn,指令的执行者是玩家
create表示的是以新建的方式来创建脚本
@command表示允许玩家执行权限范围内的指令
/spawn是一条完整的指令,通常服务器都会有这条指令,用来传送到主城。

在这里插入图片描述

如果出现了提示,就可以右键一个方块,将对应的脚本绑定到上面。
这个提示英文和中文都没影响,看提示语句的前缀是否有ScriptBlock就行。

在这里插入图片描述

因为传送门有两个方块,所以需要分别绑定两次
如图,将这两个萤石都给绑定一次就行了。

在这里插入图片描述

如果你还没点击一个方块进行绑定,又执行了一次之前的命令时会提示你先进行绑定。

在这里插入图片描述
在这里插入图片描述

当然如果有玩家触发了脚本方块时,会在后台中显示出来。

在这里插入图片描述

效果图如下

在这里插入图片描述

虽然效果已经实现,但还有几个小的点需要注意一下
此步骤中使用的是sbwalk,所以只有当方块存在且玩家踩踏上去之后才会触发指令。
如果这个方块不存在的话,sbwalk类型的指令就没法被触发了。

在这里插入图片描述

sbwalk方式下,这个方块存在时,玩家走上去就能触发指令。
触发指令和对应的方块类型无关,随便替换成其他方块同样能够触发指令。
插件只是通过记录方块的坐标来记录指令具体的位置。

在这里插入图片描述

sbinteract就不同了,是通过玩家鼠标左键、右键或破坏方块的方式触发。
如果玩家只是放置方块时,不会触发指令。

在这里插入图片描述

[2]. 移除指定方块脚本

  • 根据创建脚本有两种方式sbinteractsbwalk,同样的也有两种移除的方法。
  • 如果你使用sbinteract创建的指令,在移除时就必须使用/sbinteract remove来移除脚本。
    同理,sbwalk创建的指令,在移除时必须使用/sbwalk remove来移除脚本。

在这里插入图片描述

[3]. 查看指定方块的脚本

使用指令/sbinteract view/sbwalk view来查看该方块已绑定的脚本

在这里插入图片描述

如果你只使用了其中的一条指令来查看时发现没有绑定的脚本,只说明该方块上没有绑定这个类型的脚本。

在这里插入图片描述

  • 查看方块是否绑定脚本时,通常是同时使用/sbinteract view/sbwalk view
    两条命令都查不到脚本信息时,才说明这个方块没有绑定脚本。
  • 查看时会显示两行,第一行是脚本创建者的信息,smallfox是玩家名,Builder是用户权限组的名称。
    @command/spawn分别是权限类别和绑定的指令。

在这里插入图片描述

[4]. 权限类别的使用

  • 如果你需要进入传送门,同时实现扣除玩家金币传送玩家两个功能时。
    可以使用英文的中括号将两条指令括起来,中间无空格地连接。
  • 其他的也是同理,有些权限类别单独使用时还得使用中括号括起来,有些则不需要。

在这里插入图片描述
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐