顾客

顾客

将顾客添加到你的世界中,为你的世界增添快节奏的餐厅或温馨农场摊的游戏体验。

怪物

顾客 Minecraft 模组(NeoForge 版)

欢迎反馈

我们非常欢迎任何反馈,无论是好评、差评还是中肯意见,以及改进建议。请留言评论,我们一定会认真审阅。谢谢!

概述

本模组提供了“顾客村民”,他们会生成、决定向你购买一些物品,然后前往他们认为能向你购买物品的地方。一旦你卖给他们物品,他们会付钱、道谢,然后继续他们的愉快旅程。模组提供了基础的村民 AI、生成方块以及控制功能,可以打造类似快节奏餐厅或温馨路边农场摊位的顾客交易类游戏体验。

支持的 Minecraft 版本

目前支持 Minecraft 版本:

  • 1.21.1

模组加载器

目前仅支持 NeoForge。

顾客生成器方块

顾客生成器方块是本模组的起点。你放置它的位置就是顾客生成的地方,而你在其中放入的物品则决定了顾客想从你这里购买什么。

类似于普通的生物生成器方块,每个顾客方块会尽量维持同时有 4 名顾客生成。如果你想要同时有更多顾客,就放置更多的顾客生成器方块。

合成顾客生成器方块

你可以用一张床周围环绕 8 个绿宝石来合成一个顾客生成器方块。

生成模式

顾客生成模式主要围绕时间或班次,你可以使用时钟来配置生成模式。手持时钟并右键点击顾客生成器方块,可以循环切换生成模式。每次切换生成模式都会显示一条消息并改变方块纹理。

  • 持续 / 默认 - 默认模式会尽量持续保持 4 名顾客生成。
  • 日班 - 此模式会在白天(上午 5 点至下午 7 点)持续生成顾客。
  • 夜班 - 此模式会在夜间(下午 7 点至上午 5 点)持续生成顾客。
  • 早餐班 - 此模式会在上午 5:30 至 10:30 生成顾客(大约 4 分钟多一点)。
  • 午餐班 - 此模式会在上午 11:30 至下午 3:30 生成顾客(不到 3 分半钟)。
  • 晚餐班 - 此模式会在下午 4:30 至晚上 9:00 生成顾客(不到 4 分钟)。
  • 手动 - 此模式仅通过红石脉冲手动生成。

对于有时间限制的班次模式,生成器 64 格范围内的玩家会收到班次消息、进度条和分数。

红石与顾客生成器

类似于漏斗,如果顾客生成器方块处于除“手动”以外的任何模式,并且正在接收红石信号,则会关闭生成。这允许你在不想应付顾客时关闭新顾客生成,或使用红石控制班次开关。

如果顾客生成器处于“手动”模式,一个红石脉冲(比如来自按钮)会生成一名顾客。这样你就可以用红石装置完全自定义生成行为。

顾客生成器方块图片

控制可购买物品

为了控制顾客可以购买的物品,顾客生成器方块也像箱子一样扮演容器的角色。你放入生成器中的物品或物品堆决定了顾客可以随机决定购买的内容。

物品堆的大小决定了顾客可以要求购买该物品的最大数量。例如,如果你在顾客生成器中只放了一个苹果,那么顾客只会要求购买一个苹果。然而,如果你放入了一组 5 个苹果,顾客会随机决定购买 1 到 5 个苹果。

生成器容器中的 6 个独立行用于定义顾客可以决定购买多少种不同的物品,以及每种物品可能是什么。容器的 6 行中的每一行都是顾客可以从中决定购买的“槽位”。该行上的所有 9 个物品(绿宝石除外)都可以定义顾客在该槽位可能要求的物品。顾客每个槽位只会要求一种物品,并且会从 1 到你放置了物品的行数之间随机决定购买多少个槽位的物品。

顾客生成器容器图片

绿宝石是特殊的。就像普通的村民交易者一样,你会收到绿宝石作为报酬。默认情况下,你卖给顾客的每件物品会获得一个绿宝石。如果生成器容器的一行中包含一组绿宝石,这将定义该行中物品的价格。记住,这是按件计费而非按组计费,所以如果顾客购买多件物品,你将获得的绿宝石数量等于每件物品价格乘以物品数量。

红石也是特殊的,不会提供给顾客购买。生成器物品栏中的第一堆红石会将单个生成器的最大顾客数设置为该堆的数量。移除所有红石后,生成器会恢复为 maxCustomers 配置值。

示例:

  • 第 1 行仅包含一个苹果 - 顾客总会要求购买一个苹果并支付一个绿宝石。
  • 第 1 行包含一组 5 个苹果 - 顾客总会要求购买 1 到 5 个苹果,每件支付一个绿宝石。
  • 第 1 行包含一组 5 个苹果和一组 5 个胡萝卜 - 顾客总会决定购买苹果或胡萝卜,购买 1 到 5 个,每件支付一个绿宝石。
  • 第 1 行包含一组 3 块巧克力曲奇、一个南瓜派和一组 2 个绿宝石 - 顾客总会决定购买巧克力曲奇或南瓜派。如果决定买巧克力曲奇,会买 1 到 3 块,每块支付 2 个绿宝石。如果决定买南瓜派,只会买 1 个,支付 2 个绿宝石。
  • 第 1 行包含一个苹果,第 2 行包含一个南瓜派和一组 2 个绿宝石 - 顾客会决定购买 1 到 2 件物品。如果只买 1 件,会随机选择从哪一行购买。如果买 2 件,就会从每一行各买一件。

柜台或桌面方块

一旦顾客生成,它需要知道去哪里购买它选中的物品。这时就需要用到柜台或桌面方块。你放在生成器顶部的任何物品都将被视为要寻找的柜台或桌面方块。一个好的方法是在你建筑的地板或其他部分不使用的有色地毯方块,并将相同颜色的地毯放在你希望顾客前往的桌子或柜台上。你也可以使用带有自定义文本的告示牌,并在顾客聚集的柜台旁边放置相同文本的告示牌。

  • 地毯或羊毛方块 - 匹配类型和颜色
  • 告示牌 - 匹配木材类型和文本
  • 用铁砧命名的容器或横幅 - 匹配方块类型和名称
  • 带有命名书的 lectern - 匹配书名
  • 其他物品 - 精确方块匹配

所有 64 格半径内的此类方块,顾客会随机前往一个,尽量避开已经有顾客旁边的方块。

回避方块

当顾客寻找柜台或桌面方块旁边的位置时,它会查看周围的所有空间作为选项,除非该方块与顾客生成器方块正下方的方块匹配。这可以用于构建像柜台这样的结构,你只希望顾客去柜台的一侧,因为另一侧是厨房。在柜台的另一侧,使用不同的方块作为厨房地砖,并将相同的厨房地板方块放在顾客生成器下方。

示例建筑

在这个示例中,我们为早餐、午餐、晚餐和夜班设置了顾客生成器方块。早餐、午餐和晚餐的顶上放置了绿色蜡烛作为柜台/桌面方块,夜班则放置了绿色地毯。所有生成器都放在竹板上,将其设置为回避顾客前往的方块:

示例建筑图片1

现在在我们的咖啡厅里,为早餐、午餐和晚餐的顾客准备了几个带有绿色蜡烛的桌子,而对于夜班顾客,我们希望他们直接来到铺着绿色地毯的吧台。吧台后面的厨房地板是竹板,所以顾客不会进入厨房:

示例建筑图片2

村民顾客

顾客生成器会生成村民顾客,他们是普通的村民,但拥有自定义 AI 和自定义职业。顾客职业赋予他们独特的外观和帽子,以便你识别他们是顾客。

顾客有三种类型:

  • 普通 - 约占生成数量的 50% - 会在配置的最大秒数后放弃。
  • 不耐烦 - 约占生成数量的 20% - 会在配置秒数的一半后放弃。
  • 随意 - 约占生成数量的 30% - 永远不会放弃。
普通 不耐烦 随意
普通顾客 不耐烦顾客 随意顾客

顾客的工作方式类似于村民交易者,你可以右键点击并卖给他们想要的东西。他们还会在头顶显示他们想要物品的图标,以便你提前准备。

如果你希望顾客有名字,可以考虑使用 Villager Names 模组。如果你想要更多可出售的物品,比如更多食物,可以使用其他模组,比如 Farmer's Delight。

顾客交易图片

特殊夜班顾客

如果顾客生成器方块旁边有点燃的南瓜灯,并且生成器模式为夜班,那么它还会随机生成怪物顾客。这些怪物顾客与村民顾客类似,但在客户端会显示为友好的僵尸、骷髅、女巫、尸壳等,并带有相应的音效。

特殊夜班顾客图片

选择要购买的物品

顾客要做的第一件事是查看它的生成器,选择它想要购买的物品。参见控制可购买物品。

前往柜台或桌子

一旦选好了要购买的物品,它需要找到购买地点。参见柜台或桌面方块。当顾客找到所有匹配的方块后,它会打乱列表,然后按照 2 格范围内其他顾客数量升序排序。然后它会选择第一个,这应该是一个随机且附近其他顾客最少的方块。这样应该能很好地形成柜台或摆满桌子的餐厅的填充模式。

为顾客提供服务并出售物品

你可以像对待其他村民交易者一样,为顾客提供他们想要的东西或卖给他们想要购买的物品。右键点击他们打开交易界面,出售其中一件物品。一旦你卖给他们一件他们想要的物品,该物品就会从交易列表中移除。

道谢与告别

当顾客的交易列表为空时,他们会在聊天中道谢并告别,然后走回生成他们的生成器。到达生成器后,他们会随机选择一个 32 格以外、上方有两个空气方块且可以路径到达的方块,然后走过去,到达后消失。

记分板

在班次结束时,每位玩家会看到一个精美的动态记分板:

记分板图片

供应商生成器方块

供应商生成器方块可以用来设置一个供应商,它会在每天开始时出现,提供新的补给品供你的餐厅或摊位购买,适用于你无法或不想亲自收集物品的情况。假设你的顾客想要牛排,但你不想去杀很多牛,这时供应商就能帮上忙。

合成供应商生成器方块

你可以用一个木桶周围环绕 8 个绿宝石来合成一个供应商生成器方块。

指定供应商将出售的物品

供应商生成器方块像一个双箱子容器,你放入其中的物品(包括物品堆的大小)就是供应商会卖给你的东西。与顾客生成器方块类似,例外是绿宝石。绿宝石用于设置供应商出售物品的价格。供应商默认每堆物品收取 1 个绿宝石,但如果你在容器中的每个物品后面放一组绿宝石,则将价格设置为该组绿宝石的数量。例如,如果你在容器中放一组 32 块生牛排,并在下一个槽位放 5 个绿宝石,那么供应商会以 5 个绿宝石的价格卖给你 32 块生牛排。

供应商生成器方块图片

供应商生成

供应商会在每天早上在距离生成器最多 32 格的地方生成,然后走向生成器。一旦供应商到达那里,你就可以开始购买物品。天黑后供应商会走开并消失。

建筑指令

建筑指令提供玩家附近顾客和供应商生成器的信息。默认禁用,可以通过 enableBuildCommands 配置选项启用。

  • /suppliers spawners - 列出以玩家为中心 64×64×64 区域内的供应商生成器,并显示每个生成器是否启用。
  • /customers spawners - 列出以玩家为中心 64×64×64 区域内的顾客生成器,并显示每个生成器是否启用及其生成模式。
  • /customers spawners counters - 同时列出每个顾客生成器找到的匹配柜台方块,并在每个柜台上方显示一个旋转的模式图标,持续 90 秒。

查找与顾客生成器关联的柜台

配置

名称 配置属性 描述 默认值
顾客生成器配方 enableCustomerSpawnerBlockRecipe 启用顾客生成器方块的合成配方。 true
供应商生成器配方 enableSupplierSpawnerBlockRecipe 启用供应商生成器方块的合成配方。 true
最大柜台距离 maxCounterDistance 设置顾客生成器与其顾客能找到的柜台之间的最大方块距离。 64
最大顾客数 maxCustomers 设置每个顾客生成器尝试保持生成的顾客最大数量。 4
顾客放弃等待秒数 customerGiveUpSeconds 设置顾客在未完成交易前等待多少秒后放弃离开。 120
启用建筑指令 enableBuildCommands 启用顾客和供应商建筑检查指令。 false
启用快速出售 enableQuickSell 在主手持有足够数量的所需物品时,右键点击顾客直接出售。 false