Compare commits

..

No commits in common. "bb0a3b0b8ebffd48caea2294bce526c2ade594e6" and "d2edd71e83401b626ac43e85fc83047dcf3049b6" have entirely different histories.

1 changed files with 12 additions and 13 deletions

View File

@ -172,10 +172,10 @@ function roll(list, random){
*/ */
function genEnchanted(ids, enchant_pool, enchant_rolls, random, damage ){ function genEnchanted(ids, enchant_pool, enchant_rolls, random, damage ){
const id = roll(ids, random); const id = roll(ids, random);
let item = Item.of(id); const item = Item.of(id);
if(damage) { if(damage) {
const dmg = Math.floor(item.maxDamage * (0.6 + 0.3 * random.nextFloat())); const dmg = Math.floor(item.maxDamage * (0.2 + 0.1 * random.nextFloat()));
item.setDamageValue(dmg); item.setDamageValue(dmg);
} }
@ -188,7 +188,7 @@ function genEnchanted(ids, enchant_pool, enchant_rolls, random, damage ){
} }
for(const [enchant, level] of Object.entries(enchantments)){ for(const [enchant, level] of Object.entries(enchantments)){
item = item.enchant(enchant, level); item.enchant(enchant, level);
} }
return item; return item;
@ -355,16 +355,6 @@ MoreJSEvents.villagerTrades((event) => {
offer.setVillagerExperience(5); offer.setVillagerExperience(5);
offer.setPriceMultiplier(0.05); offer.setPriceMultiplier(0.05);
}); });
// a trade for each gem
let trade = null;
for(const gem of gems){
trade = VillagerUtils.createEnchantedItemTrade(
['8x emerald', gem],
'enchanted_book',
);
trade.enchantments(enchantments);
event.addTrade(prof, 3, trade);
}
// 2 for the rest // 2 for the rest
for(let i = 0; i < 2; i ++) { for(let i = 0; i < 2; i ++) {
// level 4 // level 4
@ -375,6 +365,15 @@ MoreJSEvents.villagerTrades((event) => {
offer.setVillagerExperience(1); offer.setVillagerExperience(1);
offer.setPriceMultiplier(0.05); offer.setPriceMultiplier(0.05);
}); });
// level 3
event.addCustomTrade(prof, 3, (offer, entity, random) => {
offer.setFirstInput('8x emerald');
offer.setSecondInput(roll(gems, random));
offer.setOutput(genEnchanted(['enchanted_book'], enchantments, rolls+1, random, false));
offer.setMaxUses(1);
offer.setVillagerExperience(1);
offer.setPriceMultiplier(0.2);
});
// level 2 // level 2
if(staples.length > 0) if(staples.length > 0)
event.addCustomTrade(prof, 2, (offer, entity, random) => { event.addCustomTrade(prof, 2, (offer, entity, random) => {