mirror of
https://github.com/Auxilor/EcoEnchants.git
synced 2025-02-16 04:31:22 +01:00
Fixed villager enchants
This commit is contained in:
parent
545d886ef6
commit
b398a41056
@ -33,6 +33,10 @@ class VillagerSupport(
|
||||
|
||||
val enchants = result.fast().getEnchants(true)
|
||||
|
||||
if (NumberUtils.randFloat(0.0, 100.0) < plugin.configYml.getDouble("villager.pass-through-chance")) {
|
||||
return
|
||||
}
|
||||
|
||||
var multiplier = 0.01
|
||||
|
||||
if (result.type == Material.ENCHANTED_BOOK) {
|
||||
@ -78,14 +82,27 @@ class VillagerSupport(
|
||||
|
||||
multiplier /= this.plugin.configYml.getDouble("villager.reduction")
|
||||
|
||||
enchants[enchantment] = level
|
||||
if (result.type == Material.ENCHANTED_BOOK) {
|
||||
// Only allow one enchantment
|
||||
enchants.clear()
|
||||
enchants[enchantment] = level
|
||||
break
|
||||
} else {
|
||||
enchants[enchantment] = level
|
||||
}
|
||||
}
|
||||
|
||||
val meta = result.itemMeta
|
||||
if (meta is EnchantmentStorageMeta) {
|
||||
enchants.forEach { (enchant, level) -> meta.addStoredEnchant(enchant, level, true) }
|
||||
for ((enchant, level) in enchants) {
|
||||
meta.removeStoredEnchant(enchant)
|
||||
meta.addStoredEnchant(enchant, level, true)
|
||||
}
|
||||
} else {
|
||||
enchants.forEach { (enchant, level) -> meta.addEnchant(enchant, level, true) }
|
||||
for ((enchant, level) in enchants) {
|
||||
meta.removeEnchant(enchant)
|
||||
meta.addEnchant(enchant, level, true)
|
||||
}
|
||||
}
|
||||
result.itemMeta = meta
|
||||
|
||||
|
@ -14,6 +14,7 @@ enchanting-table:
|
||||
# Options for obtaining custom enchants from villagers
|
||||
villager:
|
||||
enabled: true # If custom enchantments should be available from villagers
|
||||
pass-through-chance: 25 # The chance to leave the book as-is with a vanilla/no enchantment applied.
|
||||
book-multiplier: 0.14 # Multiplier applied to the chance of getting an enchantment on a book (to balance enchant numbers)
|
||||
reduction: 5 # The chance to get each subsequent enchantment is divided by this number, e.g. 2nd enchant is 5x less likely than 1st, 3rd is 5x less likely again, etc
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user