Compare commits
2 Commits
d2edd71e83
...
bb0a3b0b8e
| Author | SHA1 | Date |
|---|---|---|
|
|
bb0a3b0b8e | |
|
|
210e149df2 |
|
|
@ -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);
|
||||||
const item = Item.of(id);
|
let item = Item.of(id);
|
||||||
|
|
||||||
if(damage) {
|
if(damage) {
|
||||||
const dmg = Math.floor(item.maxDamage * (0.2 + 0.1 * random.nextFloat()));
|
const dmg = Math.floor(item.maxDamage * (0.6 + 0.3 * 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.enchant(enchant, level);
|
item = item.enchant(enchant, level);
|
||||||
}
|
}
|
||||||
|
|
||||||
return item;
|
return item;
|
||||||
|
|
@ -355,6 +355,16 @@ 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
|
||||||
|
|
@ -365,15 +375,6 @@ 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) => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue