diff --git a/docs/auto-imports.d.ts b/docs/auto-imports.d.ts index 9d240079..1d89ee8c 100644 --- a/docs/auto-imports.d.ts +++ b/docs/auto-imports.d.ts @@ -3,7 +3,6 @@ // @ts-nocheck // noinspection JSUnusedGlobalSymbols // Generated by unplugin-auto-import -// biome-ignore lint: disable export {} declare global { diff --git a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Block.md b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Block.md index 332c2297..89a9131b 100644 --- a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Block.md +++ b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Block.md @@ -134,4 +134,117 @@ ServerEvents.blockLootTables(event => { ## 战利品谓词 +### 随机概率 + +- 通过小数表示的随机概率。 + +- 语句:randomChance(数字); + +- 例: + +::: code-group + +```js [应用战利品池] +// 有0.5的概率尝试抽取该池 此时概率决定是否尝试抽取战利品池 +ServerEvents.blockLootTables(event => { + event.modifyBlock('minecraft:gravel', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder'); + pool.randomChance(0.5); + }) + }) +}) +``` + +```js [应用战利品项] +// 有0.5的概率尝试掉落火药 此时概率决定抽取战利品池后是否掉落火药 +ServerEvents.blockLootTables(event => { + event.modifyBlock('minecraft:gravel', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder').randomChance(0.5); + }) + }) +}) +``` + +::: + +### 未被爆炸破坏 + +- 返回成功概率为1 / 爆炸半径,如果上下文未传递爆炸则始终通过。 + +- 语句:survivesExplosion() + +- 示例:如果燧石被爆炸摧毁不会掉落火药。 + +```js +ServerEvents.blockLootTables(event => { + event.modifyBlock('minecraft:gravel', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder').survivesExplosion() + }) + }) +}) +``` + ## 战利品修饰 + +### 对战利品项随机附魔 + +- 将对战利品项从附魔列表中随机附魔。 + +- 语句:enchantRandomly(附魔id数组); + +- 示例:掉落了保护1的金苹果。 + +```js +ServerEvents.blockLootTables(event => { + event.modifyBlock('minecraft:gravel', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:golden_apple', 5, 1) + .enchantRandomly(['minecraft:protection']) + }) + }) +}) +``` + +### 对战利品项按等级附魔 + +- 对战利品项执行一次数字提供器返回的等级的附魔。 + +- 语句:enchantWithLevels(数字提供器, 是否包含宝藏附魔); + +- 示例:砂砾掉落一把30级附魔的铁剑。 + +```js +ServerEvents.blockLootTables(event => { + event.modifyBlock('minecraft:gravel', loot => { + loot.addPool(pool => { + pool.addItem(Item.of('minecraft:iron_sword', '{Damage:0}'), 5, 1) + .enchantWithLevels(30, true) + }) + }) +}) +``` + +### 熔炉熔炼 + +- 得到物品放入熔炉冶炼后的产物。 + +- 语句:furnaceSmelt() + +- 示例:砂砾掉落橡木的熔炉冶炼产物。 + +```js +ServerEvents.blockLootTables(event => { + event.modifyBlock('minecraft:gravel', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:oak_wood', 5, 1).furnaceSmelt() + + }) + }) +}) +``` diff --git a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Chest.md b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Chest.md index 5cedd53a..8c4f54b6 100644 --- a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Chest.md +++ b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Chest.md @@ -20,7 +20,7 @@ ```js ServerEvents.chestLootTables(event=>{ - event.addChest("minecraft:end_city_treasure",loot=>{ + event.addChest('minecraft:end_city_treasure', loot=>{ loot.addPool(pool=>{ pool.rolls = [1, 1]; pool.addItem('minecraft:golden_apple'); @@ -48,4 +48,98 @@ ServerEvents.chestLootTables(event=>{ ## 战利品谓词 +### 随机概率 + +- 通过小数表示的随机概率。 + +- 语句:randomChance(数字); + +- 例: + +::: code-group + +```js [应用战利品池] +// 有0.5的概率尝试抽取该池 此时概率决定是否尝试抽取战利品池 +ServerEvents.chestLootTables(event => { + event.modify('minecraft:end_city_treasure', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder'); + pool.randomChance(0.5); + }) + }) +}) +``` + +```js [应用战利品项] +// 有0.5的概率尝试掉落火药 此时概率决定抽取战利品池后是否掉落火药 +ServerEvents.chestLootTables(event => { + event.modify('minecraft:end_city_treasure', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder').randomChance(0.5); + }) + }) +}) +``` + +::: + ## 战利品修饰 + +### 对战利品项随机附魔 + +- 将对战利品项从附魔列表中随机附魔。 + +- 语句:enchantRandomly(附魔id数组); + +- 示例:掉落了保护1的金苹果。 + +```js +ServerEvents.chestLootTables(event => { + event.modify('minecraft:end_city_treasure', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:golden_apple', 5, 1) + .enchantRandomly(['minecraft:protection']) + }) + }) +}) +``` + +### 对战利品项按等级附魔 + +- 对战利品项执行一次数字提供器返回的等级的附魔。 + +- 语句:.enchantWithLevels(数字提供器, 是否包含宝藏附魔); + +- 示例:尸壳掉落一把30级附魔的铁剑。 + +```js +ServerEvents.chestLootTables(event => { + event.modify('minecraft:end_city_treasure', loot => { + loot.addPool(pool => { + pool.addItem(Item.of('minecraft:iron_sword', '{Damage:0}'), 5, 1) + .enchantWithLevels(30, true) + }) + }) +}) +``` + +### 熔炉熔炼 + +- 得到物品放入熔炉冶炼后的产物。 + +- 语句:furnaceSmelt() + +- 示例:尸壳死亡掉落橡木的熔炉冶炼产物。 + +```js +ServerEvents.chestLootTables(event => { + event.modify('minecraft:end_city_treasure', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:oak_wood', 5, 1).furnaceSmelt() + + }) + }) +}) +``` diff --git a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Entity.md b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Entity.md index 42b06278..908a9c35 100644 --- a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Entity.md +++ b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Entity.md @@ -16,7 +16,7 @@ - 语句:event.addEntity(方块id, loot => { loot.addPool(pool => { }) }); -- 示例:砂砾只会掉落火药。 +- 示例:尸壳只会掉落火药。 ::: code-group @@ -134,4 +134,153 @@ ServerEvents.entityLootTables(event => { ## 战利品谓词 +### 随机概率 + +- 通过小数表示的随机概率。 + +- 语句:randomChance(数字); + +- 例: + +::: code-group + +```js [应用战利品池] +// 有0.5的概率尝试抽取该池 此时概率决定是否尝试抽取战利品池 +ServerEvents.entityLootTables(event => { + event.modifyEntity('minecraft:husk', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder'); + pool.randomChance(0.5); + }) + }) +}) +``` + +```js [应用战利品项] +// 有0.5的概率尝试掉落火药 此时概率决定抽取战利品池后是否掉落火药 +ServerEvents.entityLootTables(event => { + event.modifyEntity('minecraft:husk', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder').randomChance(0.5); + }) + }) +}) +``` + +::: + +### 抢夺影响概率 + +- 根据抢夺附魔等级影响条件通过的概率。 + +- 语句:randomChanceWithLooting(无抢夺的基础概率,每级抢夺增加的概率); + +- 示例:尸壳有0.2概率掉落金苹果,每1级抢夺多0.2概率。 + +```js +ServerEvents.entityLootTables(event => { + event.modifyEntity('minecraft:husk', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:golden_apple', 5, 1) + .randomChanceWithLooting(0.2, 0.2) + }) + }) +}) +``` + +### 被玩家所击杀 + +- 实体死于被玩家击杀则条件通过。 + +- 语句:killedByPlayer(); + +- 示例:尸壳死于玩家掉落金苹果。 + +```js +ServerEvents.entityLootTables(event => { + event.modifyEntity('minecraft:husk', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:golden_apple', 5, 1) + .killedByPlayer() + }) + }) +}) +``` + ## 战利品修饰 + +### 对战利品项随机附魔 + +- 将对战利品项从附魔列表中随机附魔。 + +- 语句:enchantRandomly(附魔id数组); + +- 示例:掉落了保护1的金苹果。 + +```js +ServerEvents.entityLootTables(event => { + event.modifyEntity('minecraft:husk', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:golden_apple', 5, 1) + .enchantRandomly(['minecraft:protection']) + }) + }) +}) +``` + +### 对战利品项按等级附魔 + +- 对战利品项执行一次数字提供器返回的等级的附魔。 + +- 语句:.enchantWithLevels(数字提供器, 是否包含宝藏附魔); + +- 示例:尸壳掉落一把30级附魔的铁剑。 + +```js +ServerEvents.entityLootTables(event => { + event.modifyEntity('minecraft:husk', loot => { + loot.addPool(pool => { + pool.addItem(Item.of('minecraft:iron_sword', '{Damage:0}'), 5, 1) + .enchantWithLevels(30, true) + }) + }) +}) +``` + +### 抢夺额外掉落 + +- 语句:lootingEnchant(每级抢夺掉落数-数字提供器, 战利品项总计最大掉落数); + +- 示例:尸壳掉落金苹果,每多1级抢夺额外掉落1-2个,总共最多掉落6个。 + +```js +ServerEvents.entityLootTables(event => { + event.modifyEntity('minecraft:husk', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:golden_apple', 5, 1) + .lootingEnchant([1, 2], 6) + }) + }) +}) +``` + +### 熔炉熔炼 + +- 得到物品放入熔炉冶炼后的产物。 + +- 语句:furnaceSmelt() + +- 示例:尸壳死亡掉落橡木的熔炉冶炼产物。 + +```js +ServerEvents.entityLootTables(event => { + event.modifyEntity('minecraft:husk', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:oak_wood', 5, 1).furnaceSmelt() + + }) + }) +}) +``` diff --git a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Fish.md b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Fish.md index 1eaec93c..5872b363 100644 --- a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Fish.md +++ b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Fish.md @@ -81,7 +81,7 @@ ServerEvents.fishingLootTables(event => { - 战利品池抽取次数与战利品项物品个数是一个数字提供器 -- 语句:event.modifyEntity(方块id, loot => { loot.addPool(pool => { }) }); +- 语句:event.modify(方块id, loot => { loot.addPool(pool => { }) }); - 语句:pool.rolls 设置抽取次数。 @@ -93,7 +93,7 @@ ServerEvents.fishingLootTables(event => { ```js [单个物品] ServerEvents.fishingLootTables(event => { - // modifyEntity将为该实体添加新战利品池 + // modify将添加新战利品池 event.modify('fish', loot => { // addPool创建一个战利品池 loot.addPool(pool => { @@ -108,8 +108,8 @@ ServerEvents.fishingLootTables(event => { ```js [权重列表] ServerEvents.fishingLootTables(event => { - // modifyEntity将为该实体添加新战利品池 - event.modifyEntity('fish', loot => { + // modify将添加新战利品池 + event.modify('fish', loot => { // addPool创建一个战利品池 loot.addPool(pool => { // 战利品池抽取次数 @@ -124,8 +124,8 @@ ServerEvents.fishingLootTables(event => { ```js [具有战利品项个数提供器的权重列表] ServerEvents.fishingLootTables(event => { - // modifyEntity将为该实体添加新战利品池 - event.modifyEntity('fish', loot => { + // modify将添加新战利品池 + event.modify('fish', loot => { // addPool创建一个战利品池 loot.addPool(pool => { // 战利品池抽取次数 @@ -146,4 +146,98 @@ ServerEvents.fishingLootTables(event => { ## 战利品谓词 +### 随机概率 + +- 通过小数表示的随机概率。 + +- 语句:randomChance(数字); + +- 例: + +::: code-group + +```js [应用战利品池] +// 有0.5的概率尝试抽取该池 此时概率决定是否尝试抽取战利品池 +ServerEvents.fishingLootTables(event => { + event.modify('fish', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder'); + pool.randomChance(0.5); + }) + }) +}) +``` + +```js [应用战利品项] +// 有0.5的概率尝试掉落火药 此时概率决定抽取战利品池后是否掉落火药 +ServerEvents.fishingLootTables(event => { + event.modify('fish', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder').randomChance(0.5); + }) + }) +}) +``` + +::: + ## 战利品修饰 + +### 对战利品项随机附魔 + +- 将对战利品项从附魔列表中随机附魔。 + +- 语句:enchantRandomly(附魔id数组); + +- 示例:掉落了保护1的金苹果。 + +```js +ServerEvents.fishingLootTables(event => { + event.modify('fish', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:golden_apple', 5, 1) + .enchantRandomly(['minecraft:protection']) + }) + }) +}) +``` + +### 对战利品项按等级附魔 + +- 对战利品项执行一次数字提供器返回的等级的附魔。 + +- 语句:.enchantWithLevels(数字提供器, 是否包含宝藏附魔); + +- 示例:尸壳掉落一把30级附魔的铁剑。 + +```js +ServerEvents.fishingLootTables(event => { + event.modify('fish', loot => { + loot.addPool(pool => { + pool.addItem(Item.of('minecraft:iron_sword', '{Damage:0}'), 5, 1) + .enchantWithLevels(30, true) + }) + }) +}) +``` + +### 熔炉熔炼 + +- 得到物品放入熔炉冶炼后的产物。 + +- 语句:furnaceSmelt() + +- 示例:尸壳死亡掉落橡木的熔炉冶炼产物。 + +```js +ServerEvents.fishingLootTables(event => { + event.modify('fish', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:oak_wood', 5, 1).furnaceSmelt() + + }) + }) +}) +``` diff --git a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Gift.md b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Gift.md index 9a7c4e5c..d2e730af 100644 --- a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Gift.md +++ b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/Gift.md @@ -76,4 +76,98 @@ ServerEvents.giftLootTables(event => { ## 战利品谓词 +### 随机概率 + +- 通过小数表示的随机概率。 + +- 语句:randomChance(数字); + +- 例: + +::: code-group + +```js [应用战利品池] +// 有0.5的概率尝试抽取该池 此时概率决定是否尝试抽取战利品池 +ServerEvents.giftLootTables(event => { + event.modifyBlock('minecraft:gravel', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder'); + pool.randomChance(0.5); + }) + }) +}) +``` + +```js [应用战利品项] +// 有0.5的概率尝试掉落火药 此时概率决定抽取战利品池后是否掉落火药 +ServerEvents.giftLootTables(event => { + event.modifyBlock('minecraft:gravel', loot => { + loot.addPool(pool => { + pool.rolls = [1, 1]; + pool.addItem('minecraft:gunpowder').randomChance(0.5); + }) + }) +}) +``` + +::: + ## 战利品修饰 + +### 对战利品项随机附魔 + +- 将对战利品项从附魔列表中随机附魔。 + +- 语句:enchantRandomly(附魔id数组); + +- 示例:掉落了保护1的金苹果。 + +```js +ServerEvents.entityLootTables(event => { + event.modify('armorer_gift', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:golden_apple', 5, 1) + .enchantRandomly(['minecraft:protection']) + }) + }) +}) +``` + +### 对战利品项按等级附魔 + +- 对战利品项执行一次数字提供器返回的等级的附魔。 + +- 语句:.enchantWithLevels(数字提供器, 是否包含宝藏附魔); + +- 示例:尸壳掉落一把30级附魔的铁剑。 + +```js +ServerEvents.entityLootTables(event => { + event.modify('armorer_gift', loot => { + loot.addPool(pool => { + pool.addItem(Item.of('minecraft:iron_sword', '{Damage:0}'), 5, 1) + .enchantWithLevels(30, true) + }) + }) +}) +``` + +### 熔炉熔炼 + +- 得到物品放入熔炉冶炼后的产物。 + +- 语句:furnaceSmelt() + +- 示例:尸壳死亡掉落橡木的熔炉冶炼产物。 + +```js +ServerEvents.entityLootTables(event => { + event.modify('armorer_gift', loot => { + loot.addPool(pool => { + pool.addItem('minecraft:oak_wood', 5, 1).furnaceSmelt() + + }) + }) +}) +``` diff --git a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/LootTable.md b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/LootTable.md index 9ecf06d9..f76130cc 100644 --- a/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/LootTable.md +++ b/docs/zh/modpack/kubejs/1.20.1/Introduction/LootTable/LootTable.md @@ -268,7 +268,7 @@ ServerEvents.entityLootTables(event => { }) ``` -### 熔炉冶炼 +### 熔炉熔炼 - 得到物品放入熔炉冶炼后的产物。 diff --git a/docs/zh/modpack/kubejs/1.20.1/Introduction/MiscellaneousKnowledge/ItemStack.md b/docs/zh/modpack/kubejs/1.20.1/Introduction/MiscellaneousKnowledge/ItemStack.md index d30d47fb..b5bbb7ec 100644 --- a/docs/zh/modpack/kubejs/1.20.1/Introduction/MiscellaneousKnowledge/ItemStack.md +++ b/docs/zh/modpack/kubejs/1.20.1/Introduction/MiscellaneousKnowledge/ItemStack.md @@ -5,7 +5,7 @@ - **`物品堆 (ItemStack)`** 游戏中最常见的对象,玩家物品栏中的每一格都是一个物品堆,物品堆包含了如下信息: 物品 (Item)、数量 (Count)、标签/Nbt (Tags) -## 表示 +## 简单表示 可以使用如下方式来实例化一个物品堆: @@ -75,7 +75,7 @@ Item.of("minecraft:stone").withName(Component.gold("石头")); Item.of("minecraft:stone").withLore(Component.gold("说明")); ``` -## 其它 +## 复合表示 —— 链式调用 以上的`Item#of`方法返回值都是`ItemStack`,这意味着接下来你可以继续[链式调用](https://blog.csdn.net/Glengaga/article/details/135189920):