xxx_conditions.yml

一些用户在进入这个文件后可能会感到非常困惑。Custom Fishing 使用了一种其他插件从未尝试过的配置文件格式。与其他钓鱼插件不同,Custom Fishing 提供了一个类似树状的概率池,可以根据条件自由修改权重。现在我们将带您了解默认配置文件,以理解这个系统是如何工作的。

首先,我们看到一个名为 'global group' 的部分

global-group:
  list: []
  conditions: {}
  sub-groups: {}

global-group 只是一个可以自由修改的随机名称,您可以添加任何您想要的组,例如:

river-group:
  list: []
  conditions: {}
  sub-groups: {}
ocean-group:
  list: []
  conditions: {}
  sub-groups: {}
nether-group:
  list: []
  conditions: {}
  sub-groups: {}
the-end-group:
  list: []
  conditions: {}
  sub-groups: {}

仔细观察后,您会发现一个组由三部分组成:list、conditions 和 sub-groups。

如果您希望某个战利品出现,只需将其添加到列表中 如果文件是 loot-conditions.yml,您可以将任何战利品的 ID 放入 item/entity/block 文件夹中 如果文件是 game-conditions.yml,您只能将游戏的 ID 放入 minigame 文件夹中

global-group:
  list:
    - my_fish:+1
  conditions: {}
  sub-groups: {}

您可能会想知道这个 +1 是什么意思。实际上,这是一种权重操作符。像这样的权重操作符有很多,例如

global-group:
  list:
    - my_fish:=0   # 设置权重 
    - my_fish:+6   # 加
    - my_fish:-4   # 减
    - my_fish:*10  # 乘
    - my_fish:/5   # 除
    - my_fish:%3   # 取模
  conditions: {}
  sub-groups: {}

在这个奇怪的配置中,my_fish 的最终权重是 ((0+6-4)*10/5)%3=1。好吧,有趣的是它的权重绕了一圈后又回到了 1。如果您仍然不理解权重是如何工作的,可以阅读这个页面

global-group:
  list:
    - my_fish:+1
  conditions: 
    in-water: true
    biome:
      - my_namespace:my_custom_biome
  sub-groups: {}

很好!您现在知道条件系统是如何工作的了,让我们继续看看子组是如何工作的。

global-group:
  list:
    - my_fish:+1
  conditions: 
    in-water: true
    biome:
      - my_namespace:my_custom_biome
  sub-groups:
    impossible_group:  # 这个组不会工作,因为生物群系必须是
      list:            # my_namespace:my_custom_biome 才能进入内部
        - my_fish:+1   # 子组部分
      conditions:
        biome:
          - minecraft:plains 
    possible_group:
      list:
        - cute_fish:+1
        - my_fish:=0   
      conditions:
        equals:
          value1: '%cute_player%'  # 这是一个虚构的占位符
          value2: 'true'

在这个例子中,我创建了两个子组,其中一个不能执行,因为它违反了一个重要原则:子组的条件不能与父组的条件冲突 如果一个玩家很可爱,那么最后他只能得到 cute_fish,因为我把 my_fish 的权重设置为 0

最后更新于