LootJS
模组属性评比

距离显示结果还剩5票~

路过的这位少侠,你觉得这款Mod怎么样,可否愿意来评一评它呢?登录并评比
更新日志
  • 暂无日志..

历史编辑记录更多
    管理组

      暂无管理组..

    编辑组

      暂无编辑组..

    开发组申请

      暂无开发组..

    活跃
    开源

    LootJS

    0.0

    无人问津

    昨日指数: 34
    昨日平均指数: 61.101

    3.00万

    总浏览

    --

    资料填充率


    如何下载?
    • 概述

      这是一个Forge/NeoForge模组,需要前置KubeJS

      该模组使用Forge/NeoForge的 Global Loot System 以及 KubeJS 来添加基于特定条件的战利品修改。

      作者不会将其反向移植到 1.17 或 1.16.5 以下版本。

      安装

      1. 从 CurseForge(或GitHub上)下载最新版模组。

      2. 下载最新版 KubeJS。

      3. 安装 Forge/NeoForge。

      4. 将两个模组放到 mods 文件夹中。

      战利品修改示例

      战利品修改应在服务端处理,所以脚本应当放在 kubejs/server_scripts 文件夹中,并创建一个 .js 的文件。

      这是一个为苦力怕 (Creeper) 添加火药战利品的简单示例:

      onEvent("lootjs", (event) => {
          event
              .addEntityLootModifier("minecraft:creeper")
              .randomChance(0.3) // 30% 概率
              .thenAdd("minecraft:gunpowder");
      });

      除了指定战利品表,还可以修改所有实体:

      onEvent("lootjs", (event) => {
          event
              .addLootTypeModifier(LootType.ENTITY) // 可应用于多种类型
              .logName("It's raining loot") // 你可以自定义在log中显示的名字
              .weatherCheck({
                  raining: true,
              })
              .thenModify(Ingredient.getAll(), (itemStack) => {
                  return itemStack.withCount(itemStack.getCount() * 2);
              });
      });

      并且还可以检测是否手持指定物品:

      onEvent("lootjs", (event) => {
          event
              .addBlockLootModifier("#forge:ores") // 注意此处是方块标签而非物品标签
              .matchEquip(EquipmentSlot.MAINHAND, Item.of("minecraft:netherite_pickaxe").ignoreNBT())
              .thenAdd("minecraft:gravel");
          // 检测主手以及副手示例如下:
          // matchMainHand(Item.of("minecraft:netherite_pickaxe").ignoreNBT())
          // matchOffHand(Item.of("minecraft:netherite_pickaxe").ignoreNBT())
      });

      高版本(1.19+)

      由于高版本KubeJS改动很大,1.16的JavaScript代码部分不再通用

      来自GitHub Wiki的官方例子,为砂砾添加火药作为随机掉落:

      LootJS.modifiers((event) => {
          event
              .addBlockLootModifier("minecraft:gravel") //为砂砾添加Modifier
              .randomChance(0.3)                                    //概率为30%
              .addLoot("minecraft:gunpowder");});          //掉落内容为火药

      依然可以为苦力怕添加火药作为掉落:

      LootJS.modifiers((event) => {
          event
              .addEntityLootModifier("minecraft:creeper")    //为苦力怕添加实体Modifier
              .addLoot("minecraft:gunpowder");});                //掉落内容为火药

      还可以添加战利品列表(Loot Table):

      LootJS.modifiers((event) => {
          // by id 通过loot table的id添加
          event
              .addLootTableModifier("minecraft:entities/creeper")      //使用苦力怕的战利品列表
              .randomChance(0.3)                                                         //概率为30%
              .addLoot("minecraft:gunpowder");                                  //掉落内容为火药

          // by regular expression  通过正则表达式添加
          event
              .addLootTableModifier(/.*creeper.*/)                               //正则表达式,内容依旧是苦力怕
              .randomChance(0.3)                                                        //概率为30%
              .addLoot("minecraft:gunpowder");});                              //掉落内容为火药

      更多信息

      有关模组的更多功能以及信息,请查看Wiki示例

      禁用战利品表

      一些方块例如树叶会被随机破坏。你可以禁用它们的战利品表。

      onEvent("lootjs", (event) => {
          // 禁用所有树叶
          event.disableLootModification(/.*:blocks\/.*_leaves/);
          // 禁止蝙蝠战利品
          event.disableLootModification("minecraft:entities/bat");
      });

      为战利品修改启用日志记录

      当进行了大量修改时,很难追踪在特定条件下触发了哪些修改。启用 enableLogging 后 LootJS 会将每次触发修改的日志记录到 logs/kubejs/server.txt 中。

    • 论Lootjs中农作物掉落修改与收获(Reap)模组之间的奇妙反应

    短评加载中..