diff --git a/src/main/java/electroblob/wizardry/Settings.java b/src/main/java/electroblob/wizardry/Settings.java
index 3dcf28eb..375ee04f 100644
--- a/src/main/java/electroblob/wizardry/Settings.java
+++ b/src/main/java/electroblob/wizardry/Settings.java
@@ -201,6 +201,8 @@ public final class Settings {
/** [Server-only] Whether damage should be registered with the old system (wizardry_magic/indirect_wizardry_magic) prefixed damage with the elements like
* necromancy_indirect_wizardry_magic, necromancy_wizardry_magic*/
public boolean damageTypePerElement = false;
+ /** [Server-only] Whether spell books are consumed when they are bound to a wand.*/
+ public boolean singleUseSpellBooks = false;
/** [Server-only] Whether to revert to the old wand upgrade system, which only requires tomes of arcana. */
public boolean legacyWandLevelling = false;
/** [Server-only] Whether to tweak the blindness effect to reduce follow distance when used on non-players. */
@@ -637,6 +639,13 @@ public final class Settings {
damageTypePerElement = property.getBoolean();
propOrder.add(property.getName());
+ property = config.get(GAMEPLAY_CATEGORY, "singleUseSpellBooks", false,
+ "Whether spell books are consumed when they are bound to a wand.");
+ property.setLanguageKey("config." + Wizardry.MODID + ".single_use_spell_books");
+ Wizardry.proxy.setToNamedBooleanEntry(property);
+ singleUseSpellBooks = property.getBoolean();
+ propOrder.add(property.getName());
+
property = config.get(GAMEPLAY_CATEGORY, "playersMoveEachOther", true,
"Whether to allow players to move other players around using magic.");
property.setLanguageKey("config." + Wizardry.MODID + ".players_move_each_other");
diff --git a/src/main/java/electroblob/wizardry/item/ItemWand.java b/src/main/java/electroblob/wizardry/item/ItemWand.java
index d55dd9de..75780b58 100644
--- a/src/main/java/electroblob/wizardry/item/ItemWand.java
+++ b/src/main/java/electroblob/wizardry/item/ItemWand.java
@@ -845,6 +845,9 @@ public class ItemWand extends Item implements IWorkbenchItem, ISpellCastingItem,
if(!(spell.getTier().level > this.tier.level) && spells[i] != spell && spell.isEnabled(SpellProperties.Context.WANDS)){
spells[i] = spell;
changed = true;
+ if (Wizardry.settings.singleUseSpellBooks) {
+ spellBooks[i].getStack().shrink(1);
+ }
}
}
}
diff --git a/src/main/resources/assets/ebwizardry/lang/en_us.lang b/src/main/resources/assets/ebwizardry/lang/en_us.lang
index 2512a691..8e32e52c 100644
--- a/src/main/resources/assets/ebwizardry/lang/en_us.lang
+++ b/src/main/resources/assets/ebwizardry/lang/en_us.lang
@@ -1537,6 +1537,8 @@ config.ebwizardry.dispenser_block_damage=Dispenser Block Damage
config.ebwizardry.dispenser_block_damage.tooltip=Whether spells cast by dispensers can destroy blocks in the world. Wizardry makes every attempt to respect protection mods and plugins, but cannot guarantee it will work in all cases for every mod. If you need absolutely watertight anti-grief, disable this setting.
config.ebwizardry.damage_type_per_element=Damage Type Per Element
config.ebwizardry.damage_type_per_element.tooltip=Whether damage should be registered with the old system (wizardry_magic/indirect_wizardry_magic) prefixed damage with the elements like necromancy_indirect_wizardry_magic, necromancy_wizardry_magic. This is disabled by default to not break existing modpacks. The intention of this setting is to allow differentiating various damage types for e.g. the Distinct Damage Descriptions mod
+config.ebwizardry.single_use_spell_books=Spell Books Are Consumed By Wands
+config.ebwizardry.single_use_spell_books.tooltip=Whether spell books are consumed when they are bound to a wand.
config.ebwizardry.telekinetic_disarmament=Telekinetic Disarmament
config.ebwizardry.telekinetic_disarmament.tooltip=Whether to allow players to disarm other players using the telekinesis spell. Disable to prevent stealing of items.
config.ebwizardry.telekinetic_disarmament.true=Yes - let people steal things