
cn.nukkit.entity.data.profession.ProfessionLibrarian Maven / Gradle / Ivy
package cn.nukkit.entity.data.profession;
import cn.nukkit.block.BlockID;
import cn.nukkit.item.Item;
import cn.nukkit.item.enchantment.Enchantment;
import cn.nukkit.nbt.tag.ListTag;
import cn.nukkit.nbt.tag.Tag;
import cn.nukkit.utils.RecipeBuildUtils;
import java.util.Random;
public class ProfessionLibrarian extends Profession {
public ProfessionLibrarian() {
super(5, BlockID.LECTERN, "entity.villager.librarian");
}
@Override
public ListTag buildTrades(int seed) {
ListTag recipes = new ListTag<>("Recipes");
Random random = new Random(seed);
Item book1 = Item.get(Item.ENCHANT_BOOK);
Enchantment e_book1 = Enchantment.getEnchantments()[random.nextInt(Enchantment.getEnchantments().length)];
e_book1.setLevel(random.nextInt(e_book1.getMaxLevel())+ 1);
book1.addEnchantment(e_book1);
Item book2 = Item.get(Item.ENCHANT_BOOK);
Enchantment e_book2 = Enchantment.getEnchantments()[random.nextInt(Enchantment.getEnchantments().length)];
e_book2.setLevel(random.nextInt(e_book2.getMaxLevel())+ 1);
book2.addEnchantment(e_book2);
Item book3 = Item.get(Item.ENCHANT_BOOK);
Enchantment e_book3 = Enchantment.getEnchantments()[random.nextInt(Enchantment.getEnchantments().length)];
e_book3.setLevel(random.nextInt(e_book3.getMaxLevel())+ 1);
book3.addEnchantment(e_book3);
Item book4 = Item.get(Item.ENCHANT_BOOK);
Enchantment e_book4 = Enchantment.getEnchantments()[random.nextInt(Enchantment.getEnchantments().length)];
e_book4.setLevel(random.nextInt(e_book4.getMaxLevel())+ 1);
book4.addEnchantment(e_book4);
recipes.add(RecipeBuildUtils.of(Item.get(Item.PAPER,0,24), Item.get(Item.EMERALD))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(1)
.setTraderExp(2)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD,0,9), Item.get(Item.BOOKSHELF))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(1)
.setTraderExp(2)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD,0,5 + random.nextInt(60)), Item.get(Item.BOOK), book1)
.setMaxUses(6)
.setRewardExp((byte) 1)
.setTier(1)
.setTraderExp(2)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.BOOK), Item.get(Item.EMERALD))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(2)
.setTraderExp(10)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD), Item.get(Item.LANTERN))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(2)
.setTraderExp(5)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD,0,5 + random.nextInt(60)), Item.get(Item.BOOK), book2)
.setMaxUses(6)
.setRewardExp((byte) 1)
.setTier(2)
.setTraderExp(2)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.DYE,0,5), Item.get(Item.EMERALD))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(3)
.setTraderExp(20)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD), Item.get(Item.GLASS, 0,4))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(3)
.setTraderExp(10)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD,0,5 + random.nextInt(60)), Item.get(Item.BOOK), book3)
.setMaxUses(6)
.setRewardExp((byte) 1)
.setTier(3)
.setTraderExp(2)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.BOOK_AND_QUILL, 0,2), Item.get(Item.EMERALD))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(4)
.setTraderExp(30)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD, 0,5), Item.get(Item.CLOCK))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(4)
.setTraderExp(15)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD, 0,4), Item.get(Item.COMPASS))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(4)
.setTraderExp(2)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD,0,5 + random.nextInt(60)), Item.get(Item.BOOK), book4)
.setMaxUses(6)
.setRewardExp((byte) 1)
.setTier(4)
.setTraderExp(2)
.build())
.add(RecipeBuildUtils.of(Item.get(Item.EMERALD, 0,12), Item.get(Item.NAME_TAG))
.setMaxUses(16)
.setRewardExp((byte) 1)
.setTier(5)
.setTraderExp(2)
.build());
return recipes;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy