• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

CraftBook

来自Minecraft插件百科
C7w讨论 | 贡献2017年6月14日 (三) 12:40的版本 创建命令物品
跳转至: 导航搜索

辣鸡c7w的万年大坑

简介

CraftBooks为Minecraft添加了:

  • 可交互式的机制,像桥梁,电梯和门
  • 红石相关特性,如集成电路和可编程逻辑芯片
  • Minecart 的增强功能,例如车站和加成器

★请记住,CraftBook是[开源]的。

安装

如何安装

  1. 下载 [CraftBook] 和 [WorldEdit](WorldEdit为必需前置)
  2. 在服务端根目录下找到 plugins 文件夹,如果没有则创建之
  3. 将 WorldEdit.jar 和 CraftBook.jar 文件放入 plugins 文件夹中
  4. 重启服务器

如何配置

当CraftBook插件第一次运行时,默认的配置文件会被创建到 plugins/CraftBook/ 目录下。

编辑上述文件夹中的 config.yml 文件而改变配置。

设置权限,你可以使用 craftbook.* 来代替本插件的所有权限。

使用

警告:默认没有任何的特性被启用!请到配置文件中去启用!

常用

(Variables) 变量

变量
CraftBook 的变量是为动态电路和一些机器而设计的。

变量是 CraftBook 的核心,并且被视为最强大的功能,因为它能够完成不可思议的事情。

使用


变量可以说是一种 “关键字→数据” 类型的存储系统,允许一个值用关键字来表示。

这能够让机器或其它系统调和起来,让某一行文本保持不变,也能够表示一直在变化的动态值。

创建变量


要想创建变量,使用本页下方“指令”中的指令。

在变量被创建和修改之前,它首先需要被定义。

定义命令是用来定义变量的。

语法


基础的储存一个变量的语法是 %命名空间|变量名% 。

如果你在使用公用的命名空间的话,你就可以直接使用 %变量名% 作为代替。

例如,如果你定义一个变量名为 MOB ,它代表的值是 Cow。

然后在 [MC1200] 中,在牌子第三行写上 %MOB% ,就会生成牛。

你能够通过命令方块,指令或指令牌来更改刷出的动物。

也有能够修改变量的IC集成电路。

命名空间


变量可以是公用的(命名空间为GLOBAL),也可以仅仅被私人拥有。

这取决于配置文件的设置,默认的命名空间可以是玩家个人的,也可以是全局的。

在聊天和指令中使用变量


变量能够在玩家聊天中工作。

如果玩家键入了一条包含他们有权限使用的变量的消息,并且配置文件中也启用了本特性,CraftBook插件就会用变量的值代替变量名。


变量在配置后也能够工作于其他插件的指令中。

您可以配置在玩家的指令输入与控制台指令输入的启用与否。

这能够允许控制台解析 CraftBook 插件的变量。

如果本功能影响了其他插件的指令的话,您可以通过在每个 % 前键入一个 \ 符号来取消变量的解析。

视频教程


指令


命令 附加值 对应权限 描述
/craftbook var define <变量名> <变量值> -n <命名空间> craftbook.variables.modify[.self]/[.<命名空间>] 在指定的命名空间定义指定名与指定值的变量
/craftbook var set <变量名> <变量值> -n <命名空间> craftbook.variables.modify[.self]/[.<命名空间> 将指定命名空间中的指定变量设置为指定值
/craftbook var get <变量名> -n <命名空间> craftbook.variables.get[.self]/[.<命名空间> 获取在指定命名空间中指定变量的值
/craftbook var delete <变量名> -n <命名空间> craftbook.variables.erase[.self]/[.<命名空间> 删除指定命名空间中的指定变量
/craftbook var append <变量名> <文本> -n <命名空间> craftbook.variables.modify[.self]/[.<命名空间> 在变量的最后一个字符后增加文本
/craftbook var prepend <变量名> <文本> craftbook.variables.modify[.self]/[.<命名空间> 在变量的第一个字符前添加文本
/craftbook var toggle <变量名> -n <命名空间> craftbook.variables.modify[.self]/[.<命名空间> 切换布尔值变量,如 1 ←→ 0 ,true ←→ false , yes ←→ no
/craftbook var add <变量名> <值> -n <命名空间> craftbook.variables.modify[.self]/[.<命名空间> 为数值型变量增加值,这相当于 +
/craftbook var subtract <变量名> <值> -n <命名空间> craftbook.variables.modify[.self]/[.<命名空间> 从数值型变量中减少值,这相当于 -
/craftbook var multiply <变量名> <值> -n <命名空间> craftbook.variables.modify[.self]/[.<命名空间> 将数值型变量翻倍,这相当于 *
/craftbook var devide <变量名> <值> -n <命名空间> craftbook.variables.modify[.self]/[.<命名空间> 将数值型变量缩小为几分之一,这相当于 /

权限


Permission Node Effect
craftbook.variables.define 给玩家在任何的命名空间定义任何变量的权限
craftbook.variables.define.self 允许玩家在自己的命名空间定义任何变量的权限
craftbook.variables.define.命名空间 给玩家在指定命名空间定义任何变量的权限
craftbook.variables.get 给玩家获得变量值的命令权限
craftbook.variables.get.self 给玩家获得他们自己命名空间内变量值的权限
craftbook.variables.get.命名空间 给玩家获得指定命名空间内变量值的权限
craftbook.variables.erase 给玩家删除变量的权限
craftbook.variables.erase.self 给玩家删除自己命名空间内变量的权限
craftbook.variables.erase.命名空间 给玩家删除指定命名空间内变量的权限
craftbook.variables.modify 允许玩家编辑任何的变量
craftbook.variables.modify.self 允许玩家编辑自己的命名空间内的变量
craftbook.variables.modify.命名空间 允许玩家编辑指定命名空间内的变量
craftbook.variables.modify.变量 允许玩家编辑指定的变量
craftbook.variables.modify.self.变量 允许玩家编辑自己的命名空间内指定变量的权限
craftbook.variables.modify.命名空间.变量 允许玩家编辑指定命名空间内变量的权限
craftbook.variables.use 允许玩家使用任何的变量
craftbook.variables.use.self 允许玩家使用他们自己命名空间内变量的权限
craftbook.variables.use.命名空间 允许玩家使用指定命名空间内变量的权限
craftbook.variables.use.变量 允许玩家使用指定变量的权限
craftbook.variables.use.self.变量 允许玩家使用自己的命名空间内的变量的权限
craftbook.variables.use.命名空间.变量 允许玩家使用在指定命名空间内的变量的权限
craftbook.variables.chat 允许玩家在聊天中使用变量的权限
craftbook.variables.commands 允许玩家在命令中使用命令的权限

配置


配置项目和路径 默认值 效果
common.variables.enable true 启用变量系统
common.variables.default-to-global true 如果值为true,当变量没有提供命名空间时会使用公共空间;如果值为false,会使用玩家的名字作为命名空间
common.variables.enable-in-commandblocks false 允许变量在命令方块与控制台工作
common.variables.enable-in-player-commands false 允许变量在玩家输入的指令中工作
common.variables.enable-in-player-chat false 允许变量在玩家的聊天中工作

(Configuration) 配置

(Permission Nodes) 权限

机制

(AI Mechanics) 怪物AI机制

怪物AI机制
怪物AI机制 改变怪物的表现方式。

视力AI机制


视力AI机制改变怪物看见你的方式。

如果你在潜行中经过怪物,而又没有离怪物太近,怪物可能不会看见你。

怪物可能在你在墙后疾跑时看见你。

临界之弓AI机制


临界之弓AI机制会给怪物用它们的弓给你临界一击的机会。

临界一击会使你着火!

攻击中立生物AI机制


攻击中立生物AI机制能够让敌对生物攻击像猪和羊这样的中立生物。

注意:由于Bukkit服务端的一个BUG,对于某些使用特殊AI的生物此特性不会工作。

配置


配置内容及路径 默认值 效果
mechanics.ai.enable false 是否启用怪物AI机制
mechanics.ai.vision-enable [Zombie, PigZombie] 启用视力AI机制的怪物列表
mechanics.ai.crit-bow-enable [Skeleton] 启用临界之弓AI机制的怪物列表
mechanics.ai.attack-passive-enable [Zombie] 启用攻击中立生物AI机制的怪物列表

(Ammeter) 电流表

电流表
电流表 能够当你获得当前红石线或红石设备内的红石信号的强弱。

通过持有煤炭物品右键红石设备就能查看信号强弱的输出。

红石线中的信号每隔一个方块,就会减弱 1 信号,信号源的信号强度是 15,这就让最大的限制是 15 方块。

CraftBook-Ammeter.png

权限


权限节点 效果
craftbook.mech.ammeter.use 允许玩家使用电流表工具

配置


配置内容和路径 默认值 效果
mechanics.ammeter.enable false 是否启用电流表工具
mechanics.ammeter.item COAL 设置电流表工具绑定的物品

(Better Leads) 更好的栓绳

更好的栓绳
更好的栓绳是延展Minecraft中的栓绳的功能的机制。

携带生物


携带生物能够使其他的生物可以被栓绳拴住,例如僵尸。

被拴住的苦力怕

停止目标


停止目标能够使被玩家拴住的怪物停止攻击玩家。

本特性可以这样用:玩家拴住僵尸,他们就不会被他们拴住的僵尸攻击了。

警告:由于Bukkit中的Bug,本特性对于已经锁定玩家的生物不会有效,本特性只会停止锁定玩家的新怪物的追踪。

驱散怪物


驱散怪物机制能够停止敌对生物追踪持有相同类型怪物的玩家。

这被Michonne的行尸走肉所启发。

警告:由于Bukkit中的Bug,本特性对于已经锁定玩家的生物不会有效,本特性只会停止锁定玩家的新怪物的追踪。

Hitch Persist


Hitch Persist是允许公共栓绳的特性。当结被击打的时候,只有栓绳会掉下来,真正的结还在栅栏上。

Owner Hitching


本特性建立在公共栓绳之上。

我推荐你将本特性与Hitch Persist搭配使用,但这不是必需的。

当本特性启用时,如果玩家驯服了一匹马或狼并且将其系到栅栏上,又来了一个玩家做了同样的事情,玩家的怪物会打破栓绳被释放。

权限


权限节点 效果
craftbook.mech.leads 允许玩家使用更好的栓绳机制
craftbook.mech.leads.mobs.生物类型 允许玩家拴住指定类型的生物。使用 craftbook.mech.leads.mobs.* 来允许所有生物
craftbook.mech.leads.ignore-target 停止被系住的生物攻击玩家
craftbook.mech.leads.mob-repel 允许玩家使用驱散怪物
craftbook.mech.leads.owner-break-only.bypass 允许玩家跳过Owner Hitching

配置


配置内容及路径 默认值 效果
mechanics.better-leads.enable false 是否启用更好的栓绳系统
mechanics.better-leads.stop-mob-target false 当你用栓绳拴住怪物的时候,它们是否停止攻击你
mechanics.better-leads.owner-unleash-only false 是否仅允许中立生物的主人将它们从栓绳上放出
mechanics.better-leads.hitch-persists false 是否在没有生物附着于栓绳上时停止栓绳被破坏,这能够建成类似于公共马厩之类的东西
mechanics.better-leads.mob-repel false 如果有某种类型的怪物跟随着你,其它同类型的怪物是否会跟随你
mechanics.better-leads.allowed-mobs [ZOMBIE, SPIDER] 能够用栓绳拴着的生物

(Better Physics) 更好的物理效果

更好的物理效果
重力梯


重力梯能够让玩家在洞穴的顶部放置梯子,然后梯子会具有重力,掉落到底部,为玩家创建安全的方式下去。

当他或她降落到底部时,他或她能够破坏梯子,然后让梯子继续掉落,一次只会下落一个,当然支持简单的破坏方法。

CraftBook-Better Physics.png

配置

配置内容 默认值 效果
mechanics.better-physics.enable false 是否启用本特性。(对于子特性来说,本特性必须被启用才有效)
mechanics.better-physics.falling-ladders true 是否启用重力梯

(Better Pistons) 更好的活塞

更好的活塞(内含四种)
更好的活塞能够让活塞做更多的事情。

当前有四种活塞机制:

  • 破碎机
  • 弹跳机
  • 超强粘性活塞
  • 超级活塞

在配置文件中,您可以更改方块黑名单,方块黑名单中的方块不能与本系统交互。

破碎机

PistonCrush.png

破碎机能够破碎掉活塞前方对着的方块。

你需要在活塞旁贴一个牌子,牌子的第二行写上 [Crush]

只要活塞被红石信号充能,活塞前方的方块就会被破坏掉了。

弹跳机

PistonBounce.png

弹跳机能推动上方的方块或实体。

你需要在活塞旁贴一个牌子,牌子的第二行写上 [Bounce]

牌子的第三行写上弹起的速度,最大的速度限制是 10 (这是 Minecraft 的限制)。

在活塞上方的方块或实体会被弹起。

超强粘性活塞

PistonSticky.png

超强粘性活塞作为粘性活塞能够粘起1格远以外的方块。

你需要在活塞旁贴一个牌子,牌子的第二行写上 [SuperSticky]

牌子的第三行写上你想作用的方块的数量,最大的值是10.

第三行的数值也能代表方块每次移动的距离。

要想实现本功能,请以这样的格式键入:

最大距离-每次距离

例如 10-2 是让方块以每次2方块的速度移动,最大移动距离为10方块。

超级活塞

PistonPush.png

超级活塞能够使空气也被活塞推动。

你需要在活塞旁贴一个牌子,牌子的第二行写上 [SuperPush]

牌子的第三行写上被推动方块的数量。最大值是10。

第三行的数值也能代表方块每次移动的距离。

要想实现本功能,请以这样的格式键入:

最大距离-每次距离

例如 10-2 是让方块以每次2方块的速度移动,最大移动距离为10方块。

权限

权限节点 效果
craftbook.mech.pistons.bounce 允许玩家创建 “弹跳机”类活塞
craftbook.mech.pistons.crush 允许玩家创建 “破碎机”类活塞
craftbook.mech.pistons.supersticky 允许玩家创建 “超级粘性活塞”类活塞
craftbook.mech.pistons.superpush 允许玩家创建 “超级活塞”类活塞

配置

配置条目 默认值 效果
mechanics.better-pistons.enable false 是否启用 更好的活塞 机制(对于子对象来说,必须启用本配置)
mechanics.better-pistons.crushers true 是否启用破碎机
mechanics.better-pistons.crushers-kill-mobs false 破碎机是否击杀面前的怪物,像粉碎方块一样——也会击杀玩家
mechanics.better-pistons.crusher-blacklist [OBSIDIAN, BEDROCK] 破碎机不能破坏的方块列表
mechanics.better-pistons.super-sticky true 是否启用超级粘性活塞机制
mechanics.better-pistons.super-push true 是否启用超级活塞机制
mechanics.better-pistons.movement-blacklist [OBSIDIAN, BEDROCK] 更好的活塞不能移动的方块列表
mechanics.better-pistons.bounce true 是否启用弹跳机
mechanics.better-pistons.bounce-blacklist [OBSIDIAN, BEDROCK] 弹跳机不能施加弹力的方块列表
mechanics.better-pistons.max-distance 12 更好的活塞与方块交互的最大距离

(Better Plants) 更好的植物

更好的植物
更好的植物是能够让普通的植物做更多不同的事情的机制。

蕨类植物农场


蕨类植物农场能够让蕨类植物被种植。

小丛的蕨类植物在一段时间以后可以长成大丛的蕨类植物,然后大丛的蕨类植物上面的方块会变得可以被破坏,破坏后会掉落另一小丛的蕨类植物。

当大丛的蕨类植物被破坏后,原方块的位置会出现小丛的蕨类植物作为代替。

配置


配置内容及路径 默认值 效果
mechanics.better-plants.enable false 是否启用更好的植物机制。 (对于子特性来说,本特性必须被启用才能工作)
mechanics.better-plants.fern-farming true 是否启用蕨类植物农场机制

}}

(Bridges) 桥梁

{{Hide|标题=桥梁 |内容= 桥梁是可配置的,可以选择开启或关闭的区域平台。桥梁的宽度可以设置。

  • 它能够通过右键牌子更改
  • 它能够通过红石信号更改

作为桥梁它不是很高大上,但它有许多其他用途。

如果你想要吊桥的话请使用“门”。

如果你想要切换真正的桥梁的话,使用“区域切换”。

结构 <spoiler> CraftBook-Bridge.png

桥梁包括三部分:

  1. 由一种材料制成的桥体部分。默认地,你可以使用圆石,木板,玻璃,石台阶等,但此可以被修改。
  2. 在桥的一端放置一个告示牌Wall sign icon.png,在桥上桥下都可,或者,你也可以在方块的一侧放置告示牌。告示牌第二行的内容必须是[Bridge]
  3. 在桥的另一端放置一个告示牌Wall sign icon.png,在桥上桥下都可,或者,你也可以在方块的一侧放置告示牌。告示牌第二行的内容必须是[Bridge][Bridge End]。你只能右键第一种类型的告示牌。

如果玩家拥有权限的话,他们能够在牌子的第一行写下infinite来使桥梁不会用尽方块。(如果配置中设置为桥梁需要方块的话)。

牌子的第三行和第四行用于配置桥梁的宽度。牌子的第三行是桥梁在告示牌左面的宽度,第四行是桥梁在告示牌右面的宽度。

例如第三行填写 0 ,第四行填写 1 ,桥梁的宽度将会是2格,并且告示牌右面多出一格。如果不填写,默认值为 1。(确保默认宽度有3格)

告示牌桥上桥下都能放(侧边也可以),但必须在正中间。

警告:如果配置设置为需要方块,你在创建桥梁时必须将整个桥梁全部建筑出来,不然就不会工作。

你可以通过手持对应方块右键告示牌的方式来为桥梁补充方块。

查看教学视频来学习怎样制造桥梁。

[视频地址]

红石支持

桥梁支持红石:将红石信号放在牌子旁边即可。如果你使用红石的话,你可以将告示牌放在桥下而使桥梁看上去好看些。

  • 激活的红石信号会激活桥梁
  • 未激活的红石信号会移除桥梁

使用

除了明显的作为可伸缩的桥梁之外,它还能这样用:

  • 用它来阻挡水和岩浆
  • 用来坑毫无戒心的熊孩子(见下视频)
  • 隐藏房屋的一部分
  • 更改地下室的光线
  • 有心就能有其他用途

[视频地址]

权限

权限节点 作用
craftbook.mech.bridge 允许玩家创造桥梁
craftbook.mech.bridge.use 允许玩家使用桥梁
craftbook.mech.bridge.restock 允许玩家为桥梁补充方块
craftbook.mech.bridge.infinite 允许玩家创建无限方块的桥梁

配置

配置内容 默认值 效果
mechanics.bridge.enable false 启用桥梁
mechanics.bridge.allow-redstone true 控制红石信号能否使用桥梁
mechanics.bridge.max-length 30 桥梁的最大长度
mechanics.bridge.max-width 5 桥梁每边的最大宽度 5为11格宽 中间1格 旁边各5格
mechanics.bridge.blocks [COBBLESTONE, WOOD, GLASS, DOUBLE_STEP, WOOD_DOUBLE_STEP] 桥梁可以使用的方块

(Cauldron) 炼药锅

炼药锅
炼药锅 允许使用 Minecraft 中的炼药锅合成物品。

你想让炼药锅用方块建造吗?尝试使用 传说炼药锅 吧。

建造


炼药锅需要装满水,并且在下方点火。

你必须使用炼药锅方块来建造它,并且我推荐你在火焰下方放置地狱岩,这样火焰就不会消失,你也不用重新点燃它。

CBCauldronConstruct.png

使用炼药锅


将需要的物品投入炼药锅中。

重要的是你不能将其它没用的物品或是其它多余的物品投入炼药锅中。

当你用正确的物品填满了炼药锅后,右键炼药锅方块。

这样就会尝试去合成。

因为合成配方是有几率的,所以第一次尝试不一定会成功。

取决于物品合成的成功率,你可能要尝试一段时间。

成功之时,炼药锅会发出爆炸的特效。(这不会破坏任何方块,并且炼药锅还能继续使用)

原材料会被移除。

观看教学视频来学习怎样增加新配方和建造炼药锅。

视频审核中

勺子


勺子是锹,你可以配置它是否为使用炼药锅的必需品。

勺子就是一把普通的锹。

如果你需要勺子来使用炼药锅的话,右键炼药锅这一步骤你必须持有着勺子。

依赖于勺子的品质,合成配方会有不同的几率。

效率附魔能够增加成功的几率。

当前来说,时运附魔对于合成没有任何效果。

红石支持


在配置中启用红石支持是可能的。

要想使用红石支持,将红石线指向炼药锅。

但这会允许玩家在没有权限时使用炼药锅,所以本配置默认是禁用的。

配置合成配方


合成配方配置文件在 plugins/CraftBook/ 目录下的 cauldron-recipes.yml 文件中。

本文件在CraftBook被安装时自动创建,当然如果没有你也可以自己新建一个。

每个配方都需要标识名,原材料和合成产物。

cauldron-recipes.yml配置示例

 recipes:
   # 配方的识别名
   default:
     # 在配方合成成功时显示的物品名
     name: "Default Recipe"
     # 关于配方原材料的描述
     description: "将一些煤炭和棕色的羊毛扔进去,获得钻石和黑色的羊毛。"
     # 成功的几率
     chance: 60
     ingredients:
       # 5 个煤炭
       coal: 5
       # 3 个棕色羊毛
       'wool:12': 3
     results:
       diamond: 1
       # 1 个黑色羊毛
       '35:15': 1

权限


权限节点 效果
craftbook.mech.cauldron.use 允许使用炼药锅
craftbook.mech.cauldron.recipe.合成配方名 允许玩家使用特定的配方

配置


配置文件和路径 默认值 效果
mechanics.cauldron.enable true 是否启用炼药锅机制
mechanics.cauldron.spoons true 炼药锅合成是否需要勺子
mechanics.cauldron.enable-redstone false 是否启用红石支持
mechanics.cauldron.item-tracking true 是否检测炼药锅中的物品,这能够修复 Minecraft 中的一个Bug对它的影响。

(Chairs) 椅子

椅子
椅子能够让台阶或其他自定义的方块可以坐上去。

使用


右键一个被定义为椅子的方块来坐上去。

如果椅子下方没有任何方块的话会出现一条信息,然后玩家不会坐上去。

'是否需要告示牌?


在配置中使椅子需要告示牌是可能的,这允许玩家指定他们想作为椅子的方块。

能够坐在每个方块上确实很让人恼火。

要想使一个方块变成椅子,在方块一侧贴上一块牌子。

对于椅子来说本特性是推荐的,这样能让它看起来更像扶手椅一样。

如果多个方块是连接着的话,你不需要在每个方块上都贴牌子。

一个牌子管理的最大连接方块的距离在配置中是可配置的。

图片


CraftBookChairSitting.png

权限


权限节点 效果
craftbook.mech.chair.use 允许使用椅子机制

配置


配置内容及路径 默认值 效果
mechanics.chair.enable false 是否启用椅子机制
mechanics.chair.allow-holding-blocks false 是否允许玩家在手持方块时右键坐在椅子上
mechanics.chair.regen-health true 在坐在椅子上时是否恢复生命
mechanics.chair.blocks [WOOD_STAIRS, COBBLESTONE_STAIRS, BRICK_STAIRS, SMOOTH_STAIRS, NETHER_BRICK_STAIRS, SANDSTONE_STAIRS, SPRUCE_WOOD_STAIRS, BIRCH_WOOD_STAIRS, JUNGLE_WOOD_STAIRS, QUARTZ_STAIRS] 能够被坐上去的方块列表
mechanics.chair.face-correct-direction true 当玩家坐在椅子上时,自动把他们的脸转向椅子前(如果可能的话)
mechanics.chair.require-sign false 是否需要贴告示牌而让椅子机制工作
mechanics.chair.max-distance 3 牌子与连接着的椅子间的最大距离(当上面的配置被启用时)
mechanics.chair.max-click-radius 5 玩家与告示牌的最大距离

问题解决


问题 解决方法
在1.6版本中没有坐的动画! 更新至 CraftBook 插件的最新版本,在坐的动作方面旧版本有一些问题!
在玩家坐时玩家被踢出服务器! 你使用的 Bukkit 服务端版本不允许使用载具!请使用 Bukkit #2812 号构建。
玩家没有原因掉线! 请确保你使用对应 CraftBook 插件的最新的 ProtocolLib 插件版本!
玩家在椅子上上下跳动。 请确保你没有删除箭实体的插件。(或 Spigot 设置)

(Chunk Anchors) 区块加载器

区块加载器
区块加载器 能让一个区块保持被加载的状态。

建造


在地面上放置一块告示牌,第二行写上 [Chunk] 。

本区块就会自动加载了。

警告:一些插件会使区块强制卸载,这些插件不会被本插件阻止或有任何提示。

红石


如果配置允许这样的话,区块加载器可以被红石信号控制。

当前区块载入器的开关与否可以在牌子的第三行查看。

权限


权限节点 效果
craftbook.mech.chunk 允许建造区块载入器

配置


配置内容及路径 默认值 效果
mechanics.chunk-anchor.enable false 是否启用区块加载器
mechanics.chunk-anchor.enable-redstone true 是否启用红石效果
mechanics.chunk-anchor.check-chunks true 在建造时,检测该区块是否已经存在区块加载器

(Command Items) 命令物品★

命令物品
命令物品允许你将命令绑定在特殊的物品上面,并且当物品被交互时指令会被触发。

这个物品可以有自定义的数据值,名字和说明行,并且你能很容易地将其与其他物品区分。

并且这些特殊的指令物品能够通过 CraftBook 插件的 自定义合成 机制而被合成。

你能够添加多条指令和冷却时间。

它也支持间隔时间,间隔时间可以让你在执行一些指令后执行另一串指令,也支持物品隐身 30 秒钟。

权限节点也可以使用,这能够限定玩家使用某些特定的命令物品。

命令物品可以以 控制台(CONSOLE) 、 玩家(PLAYER) 和 管理员(SUPERUSER) 的方式运行。

控制台就从后台运行该命令,玩家即触发物品的玩家,管理员即使触发物品的玩家在触发命令时有所有权限。

创建命令物品

命令物品设置起来很简单,有两套强大并简单的系统。

你可以在配置文件中创建它们,但如果你感觉不舒适的话,你也可以在游戏中创建它们。

注意:如果你想让同一个物品根据不同的触发条件触发不同的指令的话,你也可以在相同的物品上记录多条记录,只要配置文件内的标识名不重复即可。

在配置文件中

命令物品的配置非常强大。

配置文件可以在你的 CraftBook 插件文件夹内找到,文件名为 command-items.yml 。

本文件应该以 command-items 开头,象征着本文件储存命令物品。

在文件内你能够看到许多已经定义好的命令物品,只要它们有不同的标识名。

在接下来的配置中,物品的标识名称是 'LightningRod' , 它在配方内容之上。

  LightningRod:
    item: "369|Lightning Rod"
    commands:
      - "strike"
    permission-node: "lightningrod.use"
    run-as: PLAYER
    click-type: CLICK_RIGHT
    delay: 0
    delayed-commands: []
    cooldown: 10
    cancel-action: true

物品

物品章节允许你选择你可以使用的道具。它使用[基础物品语法](见备注)。

命令

“命令”节是要运行的命令列表,它们不需要在指令前加上 / 字符。

命令能够包括类似于 @p 的选项,这会得到使用本物品的玩家名,@d会在某个生物触发以后,如果生物是玩家,返回玩家名。

(注意:@d在触发的实体不是玩家时会自动停止所有指令的执行)

选择器

下列的选择器即 CraftBook 支持的所有选择器,只要事件支持你就可以使用它们。

选择器 描述
@p 玩家的名字
@p.i 玩家对应在 CraftBook 插件内的ID
@p.u 玩家的 UUID
@p.w 玩家所处的世界名
@p.l 玩家的坐标
@p.x 玩家的精确 X 坐标
@p.y 玩家的精确 Y 坐标
@p.z 玩家的精确 Z 坐标
@p.bx 玩家所在方块的 X 坐标
@p.by 玩家所在方块的 Y 坐标
@p.bz 玩家所在方块的 Z 坐标
@d 受伤实体的名字或类型
@d.i 如果存在的话,受伤实体在 CraftBook 插件内的ID
@d.u 受伤实体的 UUID
@d.w 受伤实体所在世界名
@d.l 受伤实体的坐标
@d.x 受伤实体的精确 X 坐标
@d.y 受伤实体的精确 Y 坐标
@d.z 受伤实体的精确 Z 坐标
@d.bx 受伤实体所在方块的 X 坐标
@d.by 受伤实体所在方块的 Y 坐标
@d.bz 受伤实体所在方块的 Z 坐标
@b 方块的类型
@b.x 方块的 X 坐标
@b.y 方块的 Y 坐标
@b.z 方块的 Z 坐标
@b.w 方块所在世界
@b.l 方块的坐标
@e 实体类型
@e.u 实体的 UUID
@e.l 实体的坐标
@e.w 实体所在世界
@e.x 实体的精确 X 坐标
@e.y 实体的精确 Y 坐标
@e.z 实体的精确 Z 坐标
@e.bx 实体所在方块的 X 坐标
@e.by 实体所在方块的 Y 坐标
@e.bz 实体所在方块的 Z 坐标
@m 玩家所说的消息内容

权限节点

权限节点章节能够让你指定使用命令物品所需要的权限。

权限节点可以完全被自定义。

注意:尽管你设置了这个,玩家还是需要基础的使用命令物品的权限才能使用之。


作为何而运行

本章节允许你设置命令会以什么身份被运行。

可选的选项有: 'CONSOLE' (控制台) , 'PLAYER' (玩家) 或 'SUPERUSER' (管理员)。

控制台就从后台运行该命令,玩家即触发物品的玩家,管理员即使触发物品的玩家在触发命令时有所有权限。

点击类型

点击类型节能够让你设置玩家怎么样才能触发指令物品。

有效的点击类型有:

CLICK_LEFT - 当左键时,执行……
CLICK_RIGHT - 当右键时,执行……
CLICK_EITHER - 当左键或者右键时,执行……
CLICK_LEFT_BLOCK - 当在一个方块上左键时,执行……
CLICK_RIGHT_BLOCK - 当在一个方块上右键时,执行……
CLICK_EITHER_BLOCK - 在一个方块上左右键时,执行……
CLICK_LEFT_AIR - 在空气中左键时,执行……
CLICK_RIGHT_AIR - 在空气中右键时,执行……
CLICK_EITHER_AIR - 在空气中左右键时,执行……
ENTITY_RIGHT - 当实体被右键时,执行……
ENTITY_LEFT - 当实体被攻击时,执行……
ENTITY_PROJECTILE - 当实体被箭或者其他弹射物攻击时,执行……
ENTITY_EITHER - 当一个实体被右键或者攻击时,执行……
BLOCK_BREAK - 当方块被破坏时,执行……
BLOCK_PLACE - 当方块被放置时,执行……
BLOCK_PROJECTILE_AIR - 当弹射物在空气中停止运动时,执行……
BLOCK_PROJECTILE_BLOCK - 当弹射物撞击到方块上时,执行……
BLOCK_PROJECTILE_EITHER - 当弹射物以任何方式停止时,执行……
PROJECTILE_LAUNCH - 当弹射物被发射时,执行……
BLOCK_EITHER - 当方块被破坏或放置时,执行……
ITEM_CONSUME - 当物品被消耗时(吃掉/喝掉),执行……
ITEM_DROP - 当物品掉落时,执行……
ITEM_BREAK - 当物品因耐久为0而损坏时,执行……
ITEM_PICKUP - 当物品被捡起时,执行……
ITEM_CLICK_LEFT - 当在背包栏中左键物品时,执行……
ITEM_CLICK_RIGHT - 当在背包栏中右键物品时,执行……
ITEM_CLICK_EITHER - 当在背包栏中点击物品时,执行……
PLAYER_DEATH - 当玩家死亡时,执行……
PLAYER_CHAT - 当玩家发送聊天消息时,执行……
PASSIVE -  a.每半秒执行一次,本功能支持被延迟。(在本功能中冷却不会被显示)  b.它在切换手中物品或穿戴装甲时也能被触发。
ANY - 上述条件出现其中之一时,执行……

延迟命令

延迟命令选项能够让你在一段时间后继续执行一些命令。

这对于开启后关闭一些东西是很有用的。

延迟以游戏刻(ticks)为单位计算。

延迟命令也能够使用命令节提及的 @p 和 @d 选择器。

冷却

冷却使你在使用该命令物品后需要等待一段时间才能再次使用该物品。

本功能计算玩家的冷却时间,而不是物品的冷却时间。

所以如果你拥有大量该物品的话也不会跳过冷却时间。

冷却时间以秒为单位。

取消事件

如果本项设置为是(true)的话,当物品被触发时本来应该发生的事件不被触发。

如:当物品覆盖了该用途时,左键动物动物不会受伤。

可消耗物品

这些是使用本物品所需要的材料,并且这些材料在命令执行后会被移除。

物品的语法与上文提及的物品语法相同,并且可消耗物品可以是一个列表。

如果你想消耗命令物品本身的话,请使用 消耗自身 选项。

潜行状态

本选项可以让玩家在使用该命令物品时必须是潜行,站立或两者都可。

选项是 'require-sneaking-state:' 可设置项为 true(必须潜行), false(必须站立)或 either (两者都可)。

行为

行为是能够让不同的行为被执行的复杂系统,这在指令运行的前后均可。

通过使用本系统,也能为命令的执行添加测试条件,只有达到这些条件命令物品才会执行命令。

行为的类型

当前有三种类型的行为。

行为类型 描述 值的类型 是条件类型的吗?
SETVAR 设置某变量为给予的值 )变量名=数据值
MATHVAR 在变量上做数学运算 )变量名=[+,-,*,/,%]值
ISVAR 检测变量是否为给予的值 )变量=数据值

在数据值的格式中,( )为可选参数,[ ]为必选参数,你必须选择其中的一个。

在真正的配置文件中不能出现 ( ) 与 [ ] 这种字符。

行为的运行

当前行为可以在命令物品执行之前(BEFORE)或之后(AFTER)。

如果条件限制型行为设置为之前(BEFORE),要想激活命令物品返回值必须为是(TRUE)。

配置文件格式

 actions:
   actionName:
     type: ISVAR
     value: enabled=true
     run-stage: BEFORE

示例配置文件

command-items:
  command-items:
  LightningRod:
    item: "369|Lightning Rod"
    #一个叫做 Lightning Rod 的烈焰棒
    commands:
      - "strike"
    #执行 strike 命令
    permission-node: "lightningrod.use"
    #需要以下权限才能使用该物品 'lightningrod.use'
    run-as: PLAYER
    #以玩家的身份执行
    click-type: CLICK_RIGHT
    #在右键时执行
    delay: 0
    #没有间隔时间
    delayed-commands: []
    #在间隔时间后没有指令运行
    cooldown: 10
    #冷却时间 10 秒钟
    cancel-action: true
    #右键不会影响开箱子或按按钮之类的动作
    consumed-items:
      - "331"
    #每次使用会消耗 1 个红石
    require-sneaking-state: either
    #你在潜行与否没关系
    consume-self: true
    #使用时会消耗本身
游戏中的配置

Next

电路

载具

参考资料