VanillaShearingLoot.java
net.minecraft.data.loot.packs.VanillaShearingLoot
信息
- 全限定名:net.minecraft.data.loot.packs.VanillaShearingLoot
- 类型:public record
- 包:net.minecraft.data.loot.packs
- 源码路径:src/main/java/net/minecraft/data/loot/packs/VanillaShearingLoot.java
- 起始行号:L26
- 实现:LootTableSubProvider
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public void generate(BiConsumer<ResourceKey<LootTable>,LootTable.Builder> output) @ L27
- 方法名:generate
- 源码定位:L27
- 返回类型:void
- 修饰符:public
参数:
- output: BiConsumer<ResourceKey
,LootTable.Builder>
说明:
TODO
代码
public record VanillaShearingLoot(HolderLookup.Provider registries) implements LootTableSubProvider {
@Override
public void generate(BiConsumer<ResourceKey<LootTable>, LootTable.Builder> output) {
output.accept(
BuiltInLootTables.BOGGED_SHEAR,
LootTable.lootTable()
.withPool(
LootPool.lootPool()
.setRolls(ConstantValue.exactly(2.0F))
.add(LootItem.lootTableItem(Items.BROWN_MUSHROOM).apply(SetItemCountFunction.setCount(ConstantValue.exactly(1.0F))))
.add(LootItem.lootTableItem(Items.RED_MUSHROOM).apply(SetItemCountFunction.setCount(ConstantValue.exactly(1.0F))))
)
);
LootData.WOOL_ITEM_BY_DYE
.forEach(
(dye, wool) -> output.accept(
BuiltInLootTables.SHEAR_SHEEP_BY_DYE.get(dye),
LootTable.lootTable().withPool(LootPool.lootPool().setRolls(UniformGenerator.between(1.0F, 3.0F)).add(LootItem.lootTableItem(wool)))
)
);
output.accept(
BuiltInLootTables.SHEAR_SHEEP, LootTable.lootTable().withPool(EntityLootSubProvider.createSheepDispatchPool(BuiltInLootTables.SHEAR_SHEEP_BY_DYE))
);
output.accept(
BuiltInLootTables.SHEAR_MOOSHROOM,
LootTable.lootTable()
.withPool(
LootPool.lootPool()
.add(
AlternativesEntry.alternatives(
NestedLootTable.lootTableReference(BuiltInLootTables.SHEAR_RED_MOOSHROOM)
.when(
LootItemEntityPropertyCondition.hasProperties(
LootContext.EntityTarget.THIS,
EntityPredicate.Builder.entity()
.components(
DataComponentMatchers.Builder.components()
.exact(DataComponentExactPredicate.expect(DataComponents.MOOSHROOM_VARIANT, MushroomCow.Variant.RED))
.build()
)
)
),
NestedLootTable.lootTableReference(BuiltInLootTables.SHEAR_BROWN_MOOSHROOM)
.when(
LootItemEntityPropertyCondition.hasProperties(
LootContext.EntityTarget.THIS,
EntityPredicate.Builder.entity()
.components(
DataComponentMatchers.Builder.components()
.exact(DataComponentExactPredicate.expect(DataComponents.MOOSHROOM_VARIANT, MushroomCow.Variant.BROWN))
.build()
)
)
)
)
)
)
);
output.accept(
BuiltInLootTables.SHEAR_RED_MOOSHROOM,
LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(5.0F)).add(LootItem.lootTableItem(Items.RED_MUSHROOM)))
);
output.accept(
BuiltInLootTables.SHEAR_BROWN_MOOSHROOM,
LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(5.0F)).add(LootItem.lootTableItem(Items.BROWN_MUSHROOM)))
);
output.accept(
BuiltInLootTables.SHEAR_SNOW_GOLEM,
LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1.0F)).add(LootItem.lootTableItem(Items.CARVED_PUMPKIN)))
);
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
DataComponentMatchers.Builder.components()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
EntityPredicate.Builder.entity()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
DataComponentExactPredicate.expect()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
EntityLootSubProvider.createSheepDispatchPool()
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
LootPool.lootPool()
- 引用位置:
-
- 引用位置:
参数/方法调用 - 关联成员:
LootTable.lootTable()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
AlternativesEntry.alternatives()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
LootItem.lootTableItem()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
NestedLootTable.lootTableReference()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
SetItemCountFunction.setCount()
- 引用位置:
-
LootItemEntityPropertyCondition
- 引用位置:
方法调用 - 关联成员:
LootItemEntityPropertyCondition.hasProperties()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ConstantValue.exactly()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
UniformGenerator.between()
- 引用位置: