VanillaArchaeologyLoot.java

net.minecraft.data.loot.packs.VanillaArchaeologyLoot

信息

  • 全限定名:net.minecraft.data.loot.packs.VanillaArchaeologyLoot
  • 类型:public record
  • 包:net.minecraft.data.loot.packs
  • 源码路径:src/main/java/net/minecraft/data/loot/packs/VanillaArchaeologyLoot.java
  • 起始行号:L17
  • 实现:LootTableSubProvider
  • 职责:

    TODO

字段/常量

内部类/嵌套类型

构造器

方法

下面的方法块按源码顺序生成。

public void generate(BiConsumer<ResourceKey<LootTable>,LootTable.Builder> output) @ L18

  • 方法名:generate
  • 源码定位:L18
  • 返回类型:void
  • 修饰符:public

参数:

  • output: BiConsumer<ResourceKey,LootTable.Builder>

说明:

TODO

代码

public record VanillaArchaeologyLoot(HolderLookup.Provider registries) implements LootTableSubProvider {
    @Override
    public void generate(BiConsumer<ResourceKey<LootTable>, LootTable.Builder> output) {
        output.accept(
            BuiltInLootTables.DESERT_WELL_ARCHAEOLOGY,
            LootTable.lootTable()
                .withPool(
                    LootPool.lootPool()
                        .setRolls(ConstantValue.exactly(1.0F))
                        .add(LootItem.lootTableItem(Items.ARMS_UP_POTTERY_SHERD).setWeight(2))
                        .add(LootItem.lootTableItem(Items.BREWER_POTTERY_SHERD).setWeight(2))
                        .add(LootItem.lootTableItem(Items.BRICK))
                        .add(LootItem.lootTableItem(Items.EMERALD))
                        .add(LootItem.lootTableItem(Items.STICK))
                        .add(
                            LootItem.lootTableItem(Items.SUSPICIOUS_STEW)
                                .apply(
                                    SetStewEffectFunction.stewEffect()
                                        .withEffect(MobEffects.NIGHT_VISION, UniformGenerator.between(7.0F, 10.0F))
                                        .withEffect(MobEffects.JUMP_BOOST, UniformGenerator.between(7.0F, 10.0F))
                                        .withEffect(MobEffects.WEAKNESS, UniformGenerator.between(6.0F, 8.0F))
                                        .withEffect(MobEffects.BLINDNESS, UniformGenerator.between(5.0F, 7.0F))
                                        .withEffect(MobEffects.POISON, UniformGenerator.between(10.0F, 20.0F))
                                        .withEffect(MobEffects.SATURATION, UniformGenerator.between(7.0F, 10.0F))
                                )
                        )
                )
        );
        output.accept(
            BuiltInLootTables.DESERT_PYRAMID_ARCHAEOLOGY,
            LootTable.lootTable()
                .withPool(
                    LootPool.lootPool()
                        .setRolls(ConstantValue.exactly(1.0F))
                        .add(LootItem.lootTableItem(Items.ARCHER_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.MINER_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.PRIZE_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.SKULL_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.DIAMOND))
                        .add(LootItem.lootTableItem(Items.TNT))
                        .add(LootItem.lootTableItem(Items.GUNPOWDER))
                        .add(LootItem.lootTableItem(Items.EMERALD))
                )
        );
        output.accept(
            BuiltInLootTables.TRAIL_RUINS_ARCHAEOLOGY_COMMON,
            LootTable.lootTable()
                .withPool(
                    LootPool.lootPool()
                        .setRolls(ConstantValue.exactly(1.0F))
                        .add(LootItem.lootTableItem(Items.EMERALD).setWeight(2))
                        .add(LootItem.lootTableItem(Items.WHEAT).setWeight(2))
                        .add(LootItem.lootTableItem(Items.WOODEN_HOE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.CLAY).setWeight(2))
                        .add(LootItem.lootTableItem(Items.BRICK).setWeight(2))
                        .add(LootItem.lootTableItem(Items.YELLOW_DYE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.BLUE_DYE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.LIGHT_BLUE_DYE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.WHITE_DYE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.ORANGE_DYE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.RED_CANDLE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.GREEN_CANDLE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.PURPLE_CANDLE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.BROWN_CANDLE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.MAGENTA_STAINED_GLASS_PANE))
                        .add(LootItem.lootTableItem(Items.PINK_STAINED_GLASS_PANE))
                        .add(LootItem.lootTableItem(Items.BLUE_STAINED_GLASS_PANE))
                        .add(LootItem.lootTableItem(Items.LIGHT_BLUE_STAINED_GLASS_PANE))
                        .add(LootItem.lootTableItem(Items.RED_STAINED_GLASS_PANE))
                        .add(LootItem.lootTableItem(Items.YELLOW_STAINED_GLASS_PANE))
                        .add(LootItem.lootTableItem(Items.PURPLE_STAINED_GLASS_PANE))
                        .add(LootItem.lootTableItem(Items.SPRUCE_HANGING_SIGN))
                        .add(LootItem.lootTableItem(Items.OAK_HANGING_SIGN))
                        .add(LootItem.lootTableItem(Items.GOLD_NUGGET))
                        .add(LootItem.lootTableItem(Items.COAL))
                        .add(LootItem.lootTableItem(Items.WHEAT_SEEDS))
                        .add(LootItem.lootTableItem(Items.BEETROOT_SEEDS))
                        .add(LootItem.lootTableItem(Items.DEAD_BUSH))
                        .add(LootItem.lootTableItem(Items.FLOWER_POT))
                        .add(LootItem.lootTableItem(Items.STRING))
                        .add(LootItem.lootTableItem(Items.LEAD))
                )
        );
        output.accept(
            BuiltInLootTables.TRAIL_RUINS_ARCHAEOLOGY_RARE,
            LootTable.lootTable()
                .withPool(
                    LootPool.lootPool()
                        .setRolls(ConstantValue.exactly(1.0F))
                        .add(LootItem.lootTableItem(Items.BURN_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.DANGER_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.FRIEND_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.HEART_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.HEARTBREAK_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.HOWL_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.SHEAF_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE))
                        .add(LootItem.lootTableItem(Items.RAISER_ARMOR_TRIM_SMITHING_TEMPLATE))
                        .add(LootItem.lootTableItem(Items.SHAPER_ARMOR_TRIM_SMITHING_TEMPLATE))
                        .add(LootItem.lootTableItem(Items.HOST_ARMOR_TRIM_SMITHING_TEMPLATE))
                        .add(LootItem.lootTableItem(Items.MUSIC_DISC_RELIC))
                )
        );
        output.accept(
            BuiltInLootTables.OCEAN_RUIN_WARM_ARCHAEOLOGY,
            LootTable.lootTable()
                .withPool(
                    LootPool.lootPool()
                        .setRolls(ConstantValue.exactly(1.0F))
                        .add(LootItem.lootTableItem(Items.ANGLER_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.SHELTER_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.SNORT_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.SNIFFER_EGG))
                        .add(LootItem.lootTableItem(Items.IRON_AXE))
                        .add(LootItem.lootTableItem(Items.EMERALD).setWeight(2))
                        .add(LootItem.lootTableItem(Items.WHEAT).setWeight(2))
                        .add(LootItem.lootTableItem(Items.WOODEN_HOE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.COAL).setWeight(2))
                        .add(LootItem.lootTableItem(Items.GOLD_NUGGET).setWeight(2))
                )
        );
        output.accept(
            BuiltInLootTables.OCEAN_RUIN_COLD_ARCHAEOLOGY,
            LootTable.lootTable()
                .withPool(
                    LootPool.lootPool()
                        .setRolls(ConstantValue.exactly(1.0F))
                        .add(LootItem.lootTableItem(Items.BLADE_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.EXPLORER_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.MOURNER_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.PLENTY_POTTERY_SHERD))
                        .add(LootItem.lootTableItem(Items.IRON_AXE))
                        .add(LootItem.lootTableItem(Items.EMERALD).setWeight(2))
                        .add(LootItem.lootTableItem(Items.WHEAT).setWeight(2))
                        .add(LootItem.lootTableItem(Items.WOODEN_HOE).setWeight(2))
                        .add(LootItem.lootTableItem(Items.COAL).setWeight(2))
                        .add(LootItem.lootTableItem(Items.GOLD_NUGGET).setWeight(2))
                )
        );
    }
}

引用的其他类

  • LootTableSubProvider

    • 引用位置: 实现
  • ResourceKey

    • 引用位置: 参数
  • LootPool

    • 引用位置: 方法调用
    • 关联成员: LootPool.lootPool()
  • LootTable

    • 引用位置: 参数/方法调用
    • 关联成员: LootTable.lootTable()
  • LootItem

    • 引用位置: 方法调用
    • 关联成员: LootItem.lootTableItem()
  • SetStewEffectFunction

    • 引用位置: 方法调用
    • 关联成员: SetStewEffectFunction.stewEffect()
  • ConstantValue

    • 引用位置: 方法调用
    • 关联成员: ConstantValue.exactly()
  • UniformGenerator

    • 引用位置: 方法调用
    • 关联成员: UniformGenerator.between()