Zentutorial
  • 首页
  • Zenscript
  • 简单运用
    • 局部变量
    • 尖括号调用
    • 工作台合成
      • 添加配方
      • 移除配方
      • Metadata
      • NBT
    • 熔炉配方
    • 矿物词典(Ore Dictionaries)
    • 物品名称修改
    • tooltips
      • 样式代码
    • 物品条件
    • 物品转换器
    • 掉落物
      • 打草掉落物
      • 生物掉落物
      • Dropt - 导言
        • Dropt - 方法速查
        • Dropt - 使用示例
    • 战利品表 : 导论
      • 战利品表修改(LootTableTweaker)
      • 战利品表修改(LootTweaker-基础)
    • 循环语句(foreach循环) / 普通数组
  • 高级运用
    • 概论
      • 基本类
      • ZenGetter
      • ZenSetter
      • ZenMethod(方法)
    • 常见错误
    • 基本运算
    • 数组与集合
    • 循环与遍历
    • 全局函数
    • Math包
    • if
    • in/has 操作符
    • 战利品表修改(LootTweaker-进阶)
    • 三元操作符
    • 预处理器
    • 全局和静态变量
    • 跨脚本引用
    • 关联数组(映射)
    • IItemStack类型的重新认识
    • IIngredient接口
    • IItemDefinition & IBlockDefinition
    • IData 类型
      • DataMap
    • 穷举与遍历
    • 自定义函数
    • 配方函数与配方事件
      • 配方函数
      • 配方事件
    • 事件概论
      • 一些忠告
    • ZenClass
  • ContentTweaker
    • ContentTweaker
    • 指令
    • 原版加工厂
      • 概论
      • 物品
      • 方块
      • 流体
      • 创造标签
      • 食物
    • 材料系统
      • 基础用法
        • 材料
        • 部件
        • 注册材料部件
        • 材料部件信息
      • 高级运用
        • 自定义部件类型
        • 注册自定义部件
        • 自定义材料部件信息
    • 高级运用
    • 更多鸡联动
    • 匠魂联动
      • 材料引导
        • 材料
        • 构建材料
      • 特性引导
        • 特性
        • 构建特性
        • 特性数据
      • 高级运用
  • 实战
    • 配方
      • 数据驱动合成修改
    • 事件
      • 修改方块掉落物
      • 禁止开创造
由 GitBook 提供支持
在本页
  • 前言
  • 正文
  • Dropt
  • RuleList
  • Rule
  • Harvester
  • Drop

这有帮助吗?

  1. 简单运用
  2. 掉落物
  3. Dropt - 导言

Dropt - 方法速查

前言

Dropt 所有的 ZenClass, 均在 mods.dropt 下, 本文将分为 主体 (Dropt), 规则列表 (RuleList), 规则 (Rule), 掉落 (Drop) 和 采掘者 (Harvester) 五部分列出.

正文

Dropt

导包

import mods.dropt.Dropt;

list()

static RuleList list(string name);

返回一个新的, 可被配置的 RuleList 对象.

再次使用相同 name 调用此方法会返回同一对象.

rule()

static Rule rule();

返回一个新的, 可被配置的 Rule 对象.

harvester()

static Harvester harvester();

返回一个新的, 可被配置的 Harvester 对象.

drop()

static Drop drop();

返回一个新的, 可被配置的 Drop 对象.

range(int fixed)

static Range range(int fixed);

返回一个仅有一个固定值的 Range 对象.

range(int min, int max)

static Range range(int min, int max);

返回一个包含最大值和最小值的 Range 对象.

weight(int weight)

static Weight weight(int weight);

返回一个 Weight 对象.

weight(int weight, int fortuneModifier)

static Weight weight(int weight, int fortuneModifier);

返回一个带有幸运效果修正的 Weight 对象.

RuleList

导包

import mods.dropt.RuleList;

priority(int priority)

RuleList priority(int priority);

为此 RuleList 设置优先级, 默认为 0.

优先级值越大, 相应 RuleList 就越先被匹配.

add(Rule rule)

RuleList add(Rule rule);

为此 RuleList 添加一个规则.

Rule

导包

import mods.dropt.Rule;

debug()

Rule debug();

为此规则启用调试日志输出.

请确保在调试结束后禁用调试, 调试模式会在 Dropt 日志中打印大量输出.

matchBlocks(string[] blockStrings)

Rule matchBlocks(string[] blockStrings);

此规则将匹配的方块. (白名单)

支持 META 匹配, 多个 META 匹配和 META 通配.

如["minecraft:dirt", "minercaft:glass:2", "tconstruct:slime_dirt:1,2", "minecraft:wool:*"].

注: 此方法匹配 blockStates, 不能使用矿物词典.

matchBlocks(string type, string[] blockStrings)

Rule matchBlocks(string type, string[] blockStrings);

此规则将匹配的方块. (白名单)

type 可用的参数: WHITELIST, BLACKLIST.

支持 META 匹配, 多个 META 匹配和 META 通配.

如["minecraft:dirt", "minercaft:glass:2", "tconstruct:slime_dirt:1,2", "minecraft:wool:*"].

注: 此方法匹配 blockStates, 不能使用矿物词典.

matchDrops(IIngredient[] items)

Rule matchDrops(IIngredient[] items);

此规则将匹配的掉落物. (白名单)

支持 META 匹配, 多个 META 匹配, META 通配和矿物词典.

如[<minecraft:dirt>, <minercaft:glass:2>, <tconstruct:slime_dirt:1,2>, <minecraft:wool:*>, <ore:ingotIron>].

matchDrops(string type, IIngredient[] items)

Rule matchDrops(string type, IIngredient[] items);

此规则将匹配的掉落物. (白名单)

type 可用的参数: WHITELIST, BLACKLIST.

支持 META 匹配, 多个 META 匹配, META 通配和矿物词典.

如[<minecraft:dirt>, <minercaft:glass:2>, <tconstruct:slime_dirt:1,2>, <minecraft:wool:*>, <ore:ingotIron>].

matchHarvester(Harvester harvester)

Rule matchHarvester(Harvester harvester);

此规则将匹配的采掘者对象. (白名单)

有关采掘者对象, 详见 ### Harvester.

matchBiomes(string[] ids)

Rule matchBiomes(string[] ids);

此规则将匹配的生物群系. (白名单)

如 ["minecraft:birch_forest_hills", "minecraft:extreme_hills"].

matchBiomes(string type, string[] ids)

Rule matchBiomes(string type, string[] ids);

此规则将匹配的生物群系. (白名单)

type 可用的参数: WHITELIST, BLACKLIST.

如 ["minecraft:birch_forest_hills", "minecraft:extreme_hills"].

matchDimensions(int[] ids)

Rule matchDimensions(int[] ids);

此规则将匹配的维度. (白名单)

如 [0, 1].

matchDimensions(string type, int[] ids)

Rule matchDimensions(string type, int[] ids);

此规则将匹配的维度. (白名单)

type 可用的参数: WHITELIST, BLACKLIST.

如 [0, 1].

matchVerticalRange(int min, int max)

Rule matchVerticalRange(int min, int max);

此规则将匹配的垂直高度距离, 默认为匹配全部高度. (白名单)

matchSpawnDistance(int min, int max)

Rule matchSpawnDistance(int min, int max);

此规则将匹配的距离世界出生点的距离, 默认为匹配全部距离. (白名单)

matchSpawnDistance(string type, int min, int max)

Rule matchSpawnDistance(string type, int min, int max);

此规则将匹配的距离世界出生点的距离, 默认为匹配全部距离.

type 可用的参数: WHITELIST, BLACKLIST.

replaceStrategy(string strategy)

Rule replaceStrategy(string strategy);

此规则将使用的替换掉落物策略, 默认为 REPLACE_ALL, 可用的参数:

  • REPLACE_ITEMS: 移除所有现存的已定义物品掉落.

  • REPLACE_ITEMS_IF_SELECTED: 当掉落物被从当前规则中选择时, 移除所有现存的已定义物品掉落.

  • REPLACE_ALL: 所有现存的已定义物品掉落将被本规则中定义的物品掉落替换.

  • REPLACE_ALL_IF_SELECTED: 当掉落物被从当前规则中选择时, 所有现存的已定义物品掉落将被本规则中定义的物品掉落替换.

  • ADD: 从当前规则添加一个物品掉落, 不影响其他任何掉落. 如果规则被匹配但规则中没有任何物品被选中, 则不会掉落任何物品.

dropStrategy(string strategy)

Rule dropStrategy(string strategy);

此规则将使用的掉落物政策, 默认为 REPEAT, 可用的参数:

  • REPEAT: 当加权选择器选择掉落物时, 此规则中的所有掉落可能被多次选中.

  • UNIQUE: 当加权选择器选择掉落物时, 此规则中的所有掉落只可能被选中一次.

dropCount(Range range)

Rule dropCount(Range range);

此规则将被加权拣选器将从中选择几次掉落物, 默认为 1.

注: 此方法不会影响强制掉落.

addDrop(Drop drop)

Rule addDrop(Drop drop);

为当前规则添加掉落.

fallthrough(boolean fallthrough)

Rule fallthrough(boolean fallthrough);

是否在当前规则被匹配过后继续匹配规则, 默认为 false.

Harvester

导包

import mods.dropt.Harvester;

type(string type)

Harvester type(string type);

匹配被破坏类型, 默认为 ANY, 可用的参数:

  • PLAYER: 必须被玩家破坏. (真假皆可)

  • NON_PLAYER: 必须被非玩家破坏.

  • ANY: 任何方式皆可. 如果是被玩家破坏且定义了 heldItemMainHand, gamestages 或 playerName, 则以上参数会被检查匹配.

  • EXPLOSION: 必须被爆炸破坏. 注: 部分物品可能会被爆炸炸没.

  • REAL_PLAYER: 必须被真玩家采掘.

  • FAKE_PLAYER: 必须被假玩家采掘.

mainHand(string harvestLevel)

Harvester mainHand(string harvestLevel);

匹配采掘者主手物品的挖掘等级. (白名单)

mainHand(IItemStack[] items)

Harvester mainHand(IItemStack[] items);

匹配采掘者的主手物品. (白名单)

mainHand(string type, IItemStack[] items)

Harvester mainHand(string type, IItemStack[] items);

匹配采掘者的主手物品.

type 可用的参数: WHITELIST, BLACKLIST.

mainHand(string type, IItemStack[] items, string harvestLevel)

Harvester mainHand(string type, IItemStack[] items, string harvestLevel);

匹配采掘者的主手物品和挖掘等级.

type 可用的参数: WHITELIST, BLACKLIST.

offHand(string harvestLevel)

Harvester offHand(string harvestLevel);

匹配采掘者副手物品的挖掘等级. (白名单)

offHand(IItemStack[] items)

Harvester offHand(IItemStack[] items);

匹配采掘者的副手物品. (白名单)

offHand(string type, IItemStack[] items)

Harvester offHand(string type, IItemStack[] items);

匹配采掘者的副手物品.

type 可用的参数: WHITELIST, BLACKLIST.

offHand(string type, IItemStack[] items, string harvestLevel)

Harvester offHand(string type, IItemStack[] items, string harvestLevel);

匹配采掘者的副手物品和挖掘等级.

type 可用的参数: WHITELIST, BLACKLIST.

gameStages(string[] stages)

Harvester gameStages(string[] stages);

匹配采掘者是否已解锁指定游戏阶段. (白名单)

gameStages(string require, string[] stages)

Harvester gameStages(string require, string[] stages);

匹配采掘者是否已解锁指定游戏阶段. (白名单)

require 可用的参数:

  • ANY: 采掘者需要拥有列表中的任意阶段.

  • ALL: 采掘者需要拥有列表中的所有阶段.

gameStages(string type, string require, string[] stages)

Harvester gameStages(string type, string require, string[] stages);

匹配采掘者是否已解锁指定游戏阶段.

type 可用的参数: WHITELIST, BLACKLIST.

require 可用的参数:

  • ANY: 采掘者需要拥有列表中的任意阶段.

  • ALL: 采掘者需要拥有列表中的所有阶段.

playerName(string[] names)

Harvester playerName(string[] names);

匹配采掘玩家的名称. (白名单)

playerName(string type, string[] names)

Harvester playerName(string type, string[] names);

匹配采掘玩家的名称.

type 可用的参数: WHITELIST, BLACKLIST.

Drop

导包

import mods.dropt.Drop;

force()

Drop force();

强制当前掉落总是掉落, 忽略选择器.

selector(Weight weight)

Drop selector(Weight weight);

为当前掉落定义选择器.

selector(Weight weight, string silkTouch)

Drop selector(Weight weight, string silkTouch);

为当前掉落定义选择器.

silkTouch 默认值为 ANY, 可用参数:

  • REQUIRED: 必须有精准采集.

  • EXCLUDED: 必须没有精准采集.

  • ANY: 忽略精准采集.

selector(Weight weight, string silkTouch, int fortuneLevelRequired)

Drop selector(Weight weight, string silkTouch, int fortuneLevelRequired);

为当前掉落定义选择器.

silkTouch 默认值为 ANY, 可用参数:

  • REQUIRED: 必须有精准采集.

  • EXCLUDED: 必须没有精准采集.

  • ANY: 忽略精准采集.

items(IItemStack[] items)

Drop items(IItemStack[] items);

为当前掉落定义掉落物.

items(string drop, IItemStack[] items)

Drop items(string drop, IItemStack[] items);

为当前掉落定义掉落物.

drop 默认值为 ONE, 可用参数

  • ONE: 从输入的 IItemStack[] 中随机选取一个物品掉落.

  • ALL: 掉落输入的 IItemStack[] 中的所有物品.

items(IItemStack[] items, Range range)

Drop items(IItemStack[] items, Range range);

为当前掉落定义掉落物.

items(string drop, IItemStack[] items, Range range)

Drop items(string drop, IItemStack[] items, Range range);

为当前掉落定义掉落物.

drop 默认值为 ONE, 可用参数

  • ONE: 从输入的 IItemStack[] 中随机选取一个物品掉落.

  • ALL: 掉落输入的 IItemStack[] 中的所有物品.

matchQuantity(IItemStack[] drops)

Drop matchQuantity(IItemStack[] drops);

为当前掉落定义掉落物数量.

xp(string replace, Range amount)

Drop xp(string replace, Range amount);

为当前掉落定义经验掉落, replace 默认为 ADD.

replace 可用的参数:

  • ADD: 添加经验掉落,不影响任何现存经验掉落.

  • REPLACE: 替换所有现存的经验掉落.

replaceBlock(string block)

Drop replaceBlock(string block);

定义一个用于替换的 blockstate.

replaceBlock(string block, Map properties)

Drop replaceBlock(string block, Map properties);

定义一个用于替换的 blockstate.

上一页Dropt - 导言下一页Dropt - 使用示例

最后更新于3年前

这有帮助吗?