Dropt 所有的 ZenClass, 均在 mods.dropt
下, 本文将分为 主体 (Dropt)
, 规则列表 (RuleList)
, 规则 (Rule)
, 掉落 (Drop)
和 采掘者 (Harvester)
五部分列出.
import mods.dropt.Dropt;
static RuleList list(string name);
返回一个新的, 可被配置的 RuleList 对象.
再次使用相同 name
调用此方法会返回同一对象.
static Rule rule();
返回一个新的, 可被配置的 Rule 对象.
static Harvester harvester();
返回一个新的, 可被配置的 Harvester 对象.
static Drop drop();
返回一个新的, 可被配置的 Drop 对象.
static Range range(int fixed);
返回一个仅有一个固定值的 Range 对象.
static Range range(int min, int max);
返回一个包含最大值和最小值的 Range 对象.
static Weight weight(int weight);
返回一个 Weight 对象.
static Weight weight(int weight, int fortuneModifier);
返回一个带有幸运效果修正的 Weight 对象.
import mods.dropt.RuleList;
RuleList priority(int priority);
为此 RuleList 设置优先级, 默认为 0
.
优先级值越大, 相应 RuleList 就越先被匹配.
RuleList add(Rule rule);
为此 RuleList 添加一个规则.
import mods.dropt.Rule;
Rule debug();
为此规则启用调试日志输出.
请确保在调试结束后禁用调试, 调试模式会在 Dropt 日志中打印大量输出.
Rule matchBlocks(string[] blockStrings);
此规则将匹配的方块. (白名单)
支持 META 匹配, 多个 META 匹配和 META 通配.
如["minecraft:dirt", "minercaft:glass:2", "tconstruct:slime_dirt:1,2", "minecraft:wool:*"]
.
注: 此方法匹配 blockStates
, 不能使用矿物词典.
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
, 不能使用矿物词典.
Rule matchDrops(IIngredient[] items);
此规则将匹配的掉落物. (白名单)
支持 META 匹配, 多个 META 匹配, META 通配和矿物词典.
如[<minecraft:dirt>, <minercaft:glass:2>, <tconstruct:slime_dirt:1,2>, <minecraft:wool:*>, <ore:ingotIron>]
.
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>]
.
Rule matchHarvester(Harvester harvester);
此规则将匹配的采掘者对象. (白名单)
有关采掘者对象, 详见 ### Harvester
.
Rule matchBiomes(string[] ids);
此规则将匹配的生物群系. (白名单)
如 ["minecraft:birch_forest_hills", "minecraft:extreme_hills"]
.
Rule matchBiomes(string type, string[] ids);
此规则将匹配的生物群系. (白名单)
type
可用的参数: WHITELIST
, BLACKLIST
.
如 ["minecraft:birch_forest_hills", "minecraft:extreme_hills"]
.
Rule matchDimensions(int[] ids);
此规则将匹配的维度. (白名单)
如 [0, 1]
.
Rule matchDimensions(string type, int[] ids);
此规则将匹配的维度. (白名单)
type
可用的参数: WHITELIST
, BLACKLIST
.
如 [0, 1]
.
Rule matchVerticalRange(int min, int max);
此规则将匹配的垂直高度距离, 默认为匹配全部高度. (白名单)
Rule matchSpawnDistance(int min, int max);
此规则将匹配的距离世界出生点的距离, 默认为匹配全部距离. (白名单)
Rule matchSpawnDistance(string type, int min, int max);
此规则将匹配的距离世界出生点的距离, 默认为匹配全部距离.
type
可用的参数: WHITELIST
, BLACKLIST
.
Rule replaceStrategy(string strategy);
此规则将使用的替换掉落物策略, 默认为 REPLACE_ALL
, 可用的参数:
REPLACE_ITEMS
: 移除所有现存的已定义物品掉落.REPLACE_ITEMS_IF_SELECTED
: 当掉落物被从当前规则中选择时, 移除所有现存的已定义物品掉落.REPLACE_ALL
: 所有现存的已定义物品掉落将被本规则中定义的物品掉落替换.REPLACE_ALL_IF_SELECTED
: 当掉落物被从当前规则中选择时, 所有现存的已定义物品掉落将被本规则中定义的物品掉落替换.ADD
: 从当前规则添加一个物品掉落, 不影响其他任何掉落. 如果规则被匹配但规则中没有任何物品被选中, 则不会掉落任何物品.
Rule dropStrategy(string strategy);
此规则将使用的掉落物政策, 默认为 REPEAT
, 可用的参数:
REPEAT
: 当加权选择器选择掉落物时, 此规则中的所有掉落可能被多次选中.UNIQUE
: 当加权选择器选择掉落物时, 此规则中的所有掉落只可能被选中一次.
Rule dropCount(Range range);
此规则将被加权拣选器将从中选择几次掉落物, 默认为 1
.
注: 此方法不会影响强制掉落.
Rule addDrop(Drop drop);
为当前规则添加掉落.
Rule fallthrough(boolean fallthrough);
是否在当前规则被匹配过后继续匹配规则, 默认为 false
.
import mods.dropt.Harvester;
Harvester type(string type);
匹配被破坏类型, 默认为 ANY
, 可用的参数:
PLAYER
: 必须被玩家破坏. (真假皆可)NON_PLAYER
: 必须被非玩家破坏.ANY
: 任何方式皆可. 如果是被玩家破坏且定义了heldItemMainHand
,gamestages
或playerName
, 则以上参数会被检查匹配.EXPLOSION
: 必须被爆炸破坏. 注: 部分物品可能会被爆炸炸没.REAL_PLAYER
: 必须被真玩家采掘.FAKE_PLAYER
: 必须被假玩家采掘.
Harvester mainHand(string harvestLevel);
匹配采掘者主手物品的挖掘等级. (白名单)
Harvester mainHand(IItemStack[] items);
匹配采掘者的主手物品. (白名单)
Harvester mainHand(string type, IItemStack[] items);
匹配采掘者的主手物品.
type
可用的参数: WHITELIST
, BLACKLIST
.
Harvester mainHand(string type, IItemStack[] items, string harvestLevel);
匹配采掘者的主手物品和挖掘等级.
type
可用的参数: WHITELIST
, BLACKLIST
.
Harvester offHand(string harvestLevel);
匹配采掘者副手物品的挖掘等级. (白名单)
Harvester offHand(IItemStack[] items);
匹配采掘者的副手物品. (白名单)
Harvester offHand(string type, IItemStack[] items);
匹配采掘者的副手物品.
type
可用的参数: WHITELIST
, BLACKLIST
.
Harvester offHand(string type, IItemStack[] items, string harvestLevel);
匹配采掘者的副手物品和挖掘等级.
type
可用的参数: WHITELIST
, BLACKLIST
.
Harvester gameStages(string[] stages);
匹配采掘者是否已解锁指定游戏阶段. (白名单)
Harvester gameStages(string require, string[] stages);
匹配采掘者是否已解锁指定游戏阶段. (白名单)
require
可用的参数:
ANY
: 采掘者需要拥有列表中的任意阶段.ALL
: 采掘者需要拥有列表中的所有阶段.
Harvester gameStages(string type, string require, string[] stages);
匹配采掘者是否已解锁指定游戏阶段.
type
可用的参数: WHITELIST
, BLACKLIST
.
require
可用的参数:
ANY
: 采掘者需要拥有列表中的任意阶段.ALL
: 采掘者需要拥有列表中的所有阶段.
Harvester playerName(string[] names);
匹配采掘玩家的名称. (白名单)
Harvester playerName(string type, string[] names);
匹配采掘玩家的名称.
type
可用的参数: WHITELIST
, BLACKLIST
.
import mods.dropt.Drop;
Drop force();
强制当前掉落总是掉落, 忽略选择器.
Drop selector(Weight weight);
为当前掉落定义选择器.
Drop selector(Weight weight, string silkTouch);
为当前掉落定义选择器.
silkTouch
默认值为 ANY
, 可用参数:
REQUIRED
: 必须有精准采集.EXCLUDED
: 必须没有精准采集.ANY
: 忽略精准采集.
Drop selector(Weight weight, string silkTouch, int fortuneLevelRequired);
为当前掉落定义选择器.
silkTouch
默认值为 ANY
, 可用参数:
REQUIRED
: 必须有精准采集.EXCLUDED
: 必须没有精准采集.ANY
: 忽略精准采集.
Drop items(IItemStack[] items);
为当前掉落定义掉落物.
Drop items(string drop, IItemStack[] items);
为当前掉落定义掉落物.
drop
默认值为 ONE
, 可用参数
ONE
: 从输入的IItemStack[]
中随机选取一个物品掉落.ALL
: 掉落输入的IItemStack[]
中的所有物品.
Drop items(IItemStack[] items, Range range);
为当前掉落定义掉落物.
Drop items(string drop, IItemStack[] items, Range range);
为当前掉落定义掉落物.
drop
默认值为 ONE
, 可用参数
ONE
: 从输入的IItemStack[]
中随机选取一个物品掉落.ALL
: 掉落输入的IItemStack[]
中的所有物品.
Drop matchQuantity(IItemStack[] drops);
为当前掉落定义掉落物数量.
Drop xp(string replace, Range amount);
为当前掉落定义经验掉落, replace
默认为 ADD
.
replace
可用的参数:
ADD
: 添加经验掉落,不影响任何现存经验掉落.REPLACE
: 替换所有现存的经验掉落.
Drop replaceBlock(string block);
定义一个用于替换的 blockstate
.
Drop replaceBlock(string block, Map properties);
定义一个用于替换的 blockstate
.