ManaTweaks will start downloading in 5 seconds...


Join over 10 million players who use the CurseForge app!

Download App Now


ManaTweaks adds a handful of methods allowing CraftTweaker scripts to manipulate mana in player inventories: providing it, consuming it, repairing durability with it, or discounting its use with armour. The mod does nothing unless CraftTweaker scripts make use of it. You must install Botania, CraftTweaker, and MTLib to use this mod.

I've created an example use of the mod in the form of Botania Materials, which implements materials for Tinker's Construct and Construct's Armory in CraftTweaker/ContentTweaker.

In case it's not obvious from the license: you may freely use this mod in modpacks.

The full documentation is in the "Pages" section, but as a quick overview, see this list of method signatures:

  • ManaHandler module:
    • ManaHandler.requestMana(IItemStack, IEntity, int, bool) : int
    • ManaHandler.requestMana(IEntity, int, bool) : int
    • ManaHandler.requestManaExact(IItemStack, IEntity, int, bool) : bool
    • ManaHandler.requestManaExact(IEntity, int, bool) : bool
    • ManaHandler.requestManaForTool(IItemStack, IEntity, int, bool) : int
    • ManaHandler.requestManaForTool(IEntity, int, bool) : int
    • ManaHandler.requestManaExactForTool(IItemStack, IEntity, int, bool) : bool
    • ManaHandler.requestManaExactForTool(IEntity, int, bool) : bool
    • ManaHandler.dispatchMana(IItemStack, IEntity, int, bool) : int
    • ManaHandler.dispatchMana(IEntity, int, bool) : int
    • ManaHandler.dispatchManaExact(IItemStack, IEntity, int, bool) : bool
    • ManaHandler.dispatchManaExact(IEntity, int, bool) : bool
    • ManaHandler.manaRepairEntitySlot(IEntity, IEntityEquipmentSlot, int, int) : bool
    • ManaHandler.manaRepairEntitySlot(IEntity, int, int, int) : bool
    • (player as IEntity).manaRepairSlot(IEntityEquipmentSlot, int, int) : bool
    • (player as IEntity).manaRepairSlot(int, int, int) : bool
    • ManaHandler.manaRepairStack(IItemStack, IEntity, int, int) : bool
    • (stack as IItemStack).manaRepair(IEntity, int, int) : bool
  • ManaDiscounter module:
    • ManaDiscounter.addDiscount(IItemStack, ManaDiscountFunction) : bool
    • ManaDiscounter.removeDiscount(IItemStack) : bool
  • PixieHandler module:
    • PixieHandler.spawnPixie(double, double, double, IEntity, IEntity, float, IPotionEffect...) : void
    • PixieHandler.spawnPixie(IBlockPos, IEntity, IEntity, float, IPotionEffect...) : void
    • PixieHandler.spawnPixie(double, double, double, IEntity, IEntity, @Optional float) : void
    • PixieHandler.spawnPixie(IBlockPos, IEntity, IEntity, @Optional float) : void
    • PixieHandler.spawnPixie(IEntity, IEntity) : void
  • DamageHelper module:
    • DamageHelper.isSafeDamageModification(IItemStack, int) : bool
    • DamageHelper.damage(IItemStack, int) : bool
    • DamageHelper.repair(IItemStack, int) : bool
    • (stack as IItemStack).canRepair(@Optional int) : bool
    • (stack as IItemStack).canDamage(@Optional int) : bool
    • (entityLivingBase as IEntity).canRepairSlot(IEntityEquipmentSlot, @Optional int) : bool
    • (entityLivingBase as IEntity).repairSlot(IEntityEquipmentSlot, @Optional int) : bool
    • (entityLivingBase as IEntity).canDamageSlot(IEntityEquipmentSlot, @Optional int) : bool
    • (entityLivingBase as IEntity).damageSlot(IEntityEquipmentSlot, @Optional int) : bool
    • (player as IEntity).canRepairSlot(int, @Optional int) : bool
    • (player as IEntity).repairSlot(int, @Optional int) : bool
    • (player as IEntity).canDamageSlot(int, @Optional int) : bool
    • (player as IEntity).damageSlot(int, @Optional int) : bool