Ender IO Zoo

Ender IO Zoo

962k Downloads

[Bug/Enhancement] Enchanter Initial Level Cost

ElvenChaos opened this issue · 2 comments

commented

Issue Description:

When adding enchanter recipes, "costPerLevel" doesn't affect the first level of an enchantment.

What happens:

When adding an enchanter recipe for an enchantment with only 1 level, the recipe will use whatever default value it finds (if any) plus the base increase from the config for that single level, without respect to "costPerLevel."

What you expected to happen:

For "costPerLevel" to affect the first level, or for a command to set the base level of an enchantment per enchantment for the enchanter.

Steps to reproduce:

  1. Download and install a mod with additional enchantments that you might want to change the first level of, in my case V-Tweaks with the Hypermending enchantment. (vtweaks:hypermending)
    •Hypermending has only one level, and the v-tweaks recipe calls for 30 levels of xp to create.

  2. Add an enchanter recipe, such as:
    <enchantment name="vtweaks:hypermending" costPerLevel="30" >
    <itemStack modID="minecraft" itemName="nether_star" number="1" />
    </enchantment>

  3. Observe in-game that the recipe is registered, but the exp cost is only 3 levels (1 base level plus 2 from config).


Affected Versions (Do not use "latest"):

  • EnderIO: 3.1.192
  • EnderCore: 0.4.1.66
  • Minecraft: 1.10.2
  • Forge: 2316

Your most recent log file where the issue was present:

(Large log, will dropbox it on request.)

commented

costMultiplier working as expected. Thank you! :D

commented

Seems the Thaumcraft example in the user file is severely outdated. There's no such attribute as "costPerLevel".

Formula is:

cost = Config.enchanterBaseLevelCost + ((minimum XP levels needed to get this enchantment level) * costMultiplier * Config.enchanterLevelCostFactor)

If the level is not the max level, then cost = max(cost, half of cost of next level) is applied, too.

"costMultiplier" is the attribute you can use in the xml.