description |
---|
需要附属mod LootTweaker |
在阅读此页面前, 强烈建议先阅读 战利品表修改(LootTweaker-基础) 页面.
- 全名 :
loottweaker.LootTweaker
.
- tableName - LootTable 的名称. 如没有对应 LootTable 时, 返回错误.
正常时返回对应的 LootTable 对象.
- tableName - LootTable 的名称. 如已存在同名 LootTable, 返回错误.
如使用了 minecraft
命名空间, 返回警告. (可在 LootTweaker 配置中关闭此警告.)
正常时返回对应名称的空 LootTable 对象.
- 全名 :
loottweaker.vanilla.loot.LootTable
.
清除所有此 LootTable 中的物品, 包括在调用此方法前使用脚本添加的。无返回值。
创建一个名称为 指定名称的 pool.
- poolName - pool 的名称.
- minRolls - 最低被抽取次数.
- maxRolls - 最高被抽取次数.
- minRolls - 最低额外被抽取次数.
- maxRolls - 最高额外被抽取次数. 如已存在同名 pool, 返回错误.
正常时返回对应名称的空 pool 对象.
移除指定名称对应的 pool.
- poolName - pool 的名称.
如指定名称对应的 pool 不存在, 返回错误.
正常时返回 void.
- poolName - pool 的名称.
如指定名称对应的 pool 不存在, 返回错误.
正常时返回指定名称对应的 pool.
所有 pool 都有一个名字. 第一个, 默认的 pool 名为 main. 接连的 pool 的命名格式为 poolN
, N 是一个从 1
递进的整数.
- 全名 :
loottweaker.vanilla.loot.LootPool
.
0.2.1 及以上版本的 LootTweaker 会自动将 JSON 格式 Map 转换为 LootCondition/LootFunction. 即所有 LootFunction/LootCondition 参数都同样可以接受 JSON 格式 Map.
为 pool 添加条件.
- conditions - LootCondition 实例数组.
无返回值。
移除 pool 中指定名称对应的 entry.
- entryName - entry 的名称.
pool 中不存在指定名称对应的 entry 时, 返回错误.
无返回值。
addItemEntry(IItemStack iStack, int weight, int quality, LootFunction[] functions, LootCondition[] conditions, @Optional String name)
向指定 pool 中添加一个 item
类型的 entry.
- iStack - 此 entry 产生的物品堆. LootTweaker 会在
functions
中不包含同名 LootFunction 时基于此堆自动生成set_nbt
,set_damage/set_data
和set_count
参数. - weight - 此 entry 的生成权重, 越高生成的机率越大.
- quality - 此 entry 的稀有度, 即幸运效果影响此 entry 的程度, 越高受幸运效果影响就越大.
- functions - 影响此 entry 生成的参数.
- conditions - 此 entry 生成的条件.
- name - (可选) 此 entry 的名称, 必须在 pool 范围中唯一.
如指定 pool 中已存在同名 entry, 返回错误.
正常时返回 void.
向指定 pool 中添加一个 item
类型的 entry.
- stack - 此 entry 产生的物品堆. LootTweaker 会基于此堆自动生成
set_nbt
,set_damage/set_data
和set_count
参数. - weightIn - 此 entry 的生成权重, 越高生成的机率越大.
- qualityIn - 此 entry 的稀有度, 即幸运效果影响此 entry 的程度, 越高受幸运效果影响就越大.
- name - (可选) 此 entry 的名称, 必须在 pool 范围中唯一.
如指定 pool 中已存在同名 entry, 返回错误.
正常时返回 void.
向指定 pool 中添加一个 item
类型的 entry.
- stack - 此 entry 产生的物品堆. LootTweaker 会在
functions
中不包含同名 LootFunction 时基于此堆自动生成set_nbt
,set_damage/set_data
和set_count
参数. - weightIn - 此 entry 的生成权重, 越高生成的机率越大.
- name - (可选) 此 entry 的名称, 必须在 pool 范围中唯一.
如指定 pool 中已存在同名 entry, 返回错误.
正常时返回 void.
addLootTableEntry(String tableName, int weightIn, int qualityIn, LootCondition[] conditions, @Optional String name)
向指定 pool 中添加一个 loot_table
类型的 entry.
- tableName - 此 entry 用于读取并生成战利品的 LootTable 的名称.
- weight - 此 entry 的生成权重, 越高生成的机率越大.
- quality - 此 entry 的稀有度, 即幸运效果影响此 entry 的程度, 越高受幸运效果影响就越大.
- conditions - 此 entry 生成的条件.
- name - (可选) 此 entry 的名称, 必须在 pool 范围中唯一.
如指定 pool 中已存在同名 entry, 返回错误.
正常时返回 void.
向指定 pool 中添加一个 loot_table
类型的 entry.
- tableName - 此 entry 用于读取并生成战利品的 LootTable 的名称.
- weight - 此 entry 的生成权重, 越高生成的机率越大.
- quality - 此 entry 的稀有度, 即幸运效果影响此 entry 的程度, 越高受幸运效果影响就越大.
- name - (可选) 此 entry 的名称, 必须在 pool 范围中唯一.
如指定 pool 中已存在同名 entry, 返回错误.
正常时返回 void.
向指定 pool 中添加一个 loot_table
类型的 entry.
- tableName - 此 entry 用于读取并生成战利品的 LootTable 的名称.
- weight - 此 entry 的生成权重, 越高生成的机率越大.
- name - (可选) 此 entry 的名称, 必须在 pool 范围中唯一.
如指定 pool 中已存在同名 entry, 返回错误.
正常时返回 void.
向指定 pool 中添加一个 empty
类型的 entry.
- weight - 此 entry 的生成权重, 越高生成的机率越大.
- quality - 此 entry 的稀有度, 即幸运效果影响此 entry 的程度, 越高受幸运效果影响就越大.
- conditions - 此 entry 生成的条件.
- name - (可选) 此 entry 的名称, 必须在 pool 范围中唯一.
如指定 pool 中已存在同名 entry, 返回错误.
正常时返回 void.
向指定 pool 中添加一个 empty
类型的 entry.
- weight - 此 entry 的生成权重, 越高生成的机率越大.
- quality - 此 entry 的稀有度, 即幸运效果影响此 entry 的程度, 越高受幸运效果影响就越大.
- name - (可选) 此 entry 的名称, 必须在 pool 范围中唯一.
如指定 pool 中已存在同名 entry, 返回错误.
正常时返回 void.
向指定 pool 中添加一个 empty
类型的 entry.
- weight - 此 entry 的生成权重, 越高生成的机率越大.
- name - (可选) 此 entry 的名称, 必须在 pool 范围中唯一.
如指定 pool 中已存在同名 entry, 返回错误.
正常时返回 void.
设置指定 pool 被抽取次数的最大最小值
- min - 被抽取次数的最小值
- max - 被抽取次数的最大值
正常时返回 void.
设置指定 pool 额外被抽取次数的最大最小值
- min - 被抽取次数的最小值
- max - 被抽取次数的最大值
正常时返回 void.
清除此 pool 的所有条件.
被绑定在子 entry 上的条件不受影响.
正常时返回 void.
清除此 pool 中的所有 entry.
正常时返回 void.
- 全名 :
loottweaker.vanilla.loot.Conditions
.
JSON 格式偶尔很难写, 此类型提供部分创建简单战利品条件的便利方法, 但如果想创建复杂战利品条件, 写 JSON 格式仍然是最佳选择.
minecraft:entity_properties
和 minecraft:entity_scores
是没有任何便利方法的, 因为它们太复杂了.
此分类下的所有方法, 除了 parse()
会创建一个参数等效于等效战利品条件的参数的原版战利品条件. 所有的原版战利品条件都将被在下方列出.
战利品函数对应的类型是 Conditions
.
等价于 minecraft:random_chance
.
- chance - 随机概率.
等价于 minecraft:random_chance_with_looting
.
- chance - 随机概率.
- lootingMult - 多战利品概率
等价于 minecraft:killed_by_player
.
等价于 inverse
值设置为 true
的 minecraft:killed_by_player
.
将一个 DataMap
转换为 LootCondition.
- json -
DataMap
格式的 LootCondition.
将一个 zenFunction
转换为 LootCondition
.
- zenFunction - 一个附带了
IRandom
和LootContext
参数, 且返回Boolean
值的 ZenScript 自定义函数.
如提供的 ZenScript 自定义函数返回 true, 返回一个 LootCondition.
- 全名 :
loottweaker.vanilla.loot.Functions
.
JSON 格式偶尔很难写, 此类型提供部分创建简单战利品函数的便利方法, 但如果想创建复杂战利品函数, 写 JSON 格式仍然是最佳选择.
minecraft:set_attributes
是没有任何便利方法的, 因为它太复杂了.
此分类下的所有方法, 除了 parse()
会创建一个参数等效于等效战利品条件的参数的原版战利品参数. 所有的原版战利品参数都将被在下方列出.
战利品条件对应的类型是 Functions
.
等价于 : minecraft:enchant_randomly
.
- enchantIDList - 需要匹配的附魔的 ID.
当 ID 对应的附魔不存在时, 返回错误.
等价于 : minecraft:enchant_with_levels
.
- min - 最低等级
- max - 最大等级
- isTreasure - 是否为宝藏附魔
等价于 : minecraft:looting_enchant
.
- min - 最低等级
- max - 最大等级
- limit - 额外限制量
等价于 : minecraft:set_count
.
- min - 最低值
- max - 最大值
等价于 : minecraft:set_damage
.
- min - 最低值
- max - 最大值
当 max
大于 1.0
时, 返回错误.
等价于 : minecraft:set_data
.
- min - 最低值
- max - 最大值
等价于 : minecraft:set_nbt
.
- nbtData - 需要设置的 NBT.
当 nbtData 不为 compound
标签时, 返回错误.
等价于 : minecraft:furnace_smelt
.
将一个 DataMap
转换为 LootFunction.
- json -
DataMap
格式的 LootFunction.
将一个 zenFunction
转换为 LootFunction
.
- zenFunction - 一个附带了
IItemStack
,IRandom
和LootContext
参数, 且返回IItemStack
的 ZenScript 自定义函数.
如提供的 ZenScript 自定义函数返回 true, 返回一个 LootFunction.
- 全名 :
loottweaker.vanilla.loot.LootFunction
.
为此 LootFunction 添加 LootCondition.
- conditions - 一个 LootCondition 实例数组.
返回被调用在在的 LootFunction.
- 全名 :
loottweaker.LootContext
.
战利品生成的场景对象.
返回生成战利品的实体, IEntity
类型, 可能为空.
返回触发生成战利品的玩家, IPlayer
类型, 可能为空.
返回触发生成战利品的实体, IEntity
类型, 可能为空.
返回此战利品生成的幸运等级, float
类型.
返回战利品生成在的世界, IWorld
类型, 可能为空.
返回此战利品生成的掠夺附魔等级. int
类型.