diff --git a/src/main/java/WayofTime/bloodmagic/item/ItemExperienceBook.java b/src/main/java/WayofTime/bloodmagic/item/ItemExperienceBook.java index 9e04fdfa..5c93cdfa 100644 --- a/src/main/java/WayofTime/bloodmagic/item/ItemExperienceBook.java +++ b/src/main/java/WayofTime/bloodmagic/item/ItemExperienceBook.java @@ -58,6 +58,26 @@ public class ItemExperienceBook extends Item implements IVariantProvider return ret; } + public void absorbOneLevelExpFromPlayer(ItemStack stack, EntityPlayer player) + { + float progress = player.experience; + if (progress > 0) + { + double expDeduction = getExperienceAcquiredToNext(player.experienceLevel, player.experience); + player.experience = 0; + player.experienceTotal -= (int) (expDeduction); + + addExperience(stack, expDeduction); + } else + { + player.experienceLevel--; + int expDeduction = getExperienceForNextLevel(player.experienceLevel - 1); + player.experienceTotal -= expDeduction; + + addExperience(stack, expDeduction); + } + } + public static void setStoredExperience(ItemStack stack, double exp) { NBTHelper.checkNBT(stack); diff --git a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java index 5164f8ae..14b0f743 100644 --- a/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java +++ b/src/main/java/WayofTime/bloodmagic/util/handler/EventHandler.java @@ -78,6 +78,7 @@ import WayofTime.bloodmagic.demonAura.WillChunk; import WayofTime.bloodmagic.demonAura.WorldDemonWillHandler; import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow; import WayofTime.bloodmagic.item.ItemAltarMaker; +import WayofTime.bloodmagic.item.ItemExperienceBook; import WayofTime.bloodmagic.item.ItemInscriptionTool; import WayofTime.bloodmagic.item.ItemUpgradeTome; import WayofTime.bloodmagic.item.armour.ItemLivingArmour; @@ -787,5 +788,18 @@ public class EventHandler StatTrackerExperience.incrementCounter(armour, event.getOrb().xpValue); } } + + if (!player.worldObj.isRemote) + { + for (ItemStack stack : player.inventory.mainInventory) + { + if (stack != null && stack.getItem() instanceof ItemExperienceBook) + { + ItemExperienceBook.addExperience(stack, event.getOrb().xpValue); + event.getOrb().xpValue = 0; + break; + } + } + } } } diff --git a/src/main/resources/assets/bloodmagic/lang/en_US.lang b/src/main/resources/assets/bloodmagic/lang/en_US.lang index a390e94b..01b766bd 100644 --- a/src/main/resources/assets/bloodmagic/lang/en_US.lang +++ b/src/main/resources/assets/bloodmagic/lang/en_US.lang @@ -375,8 +375,8 @@ ritual.BloodMagic.animalGrowthRitual=Ritual of the Shepherd ritual.BloodMagic.forsakenSoulRitual=Gathering of the Forsaken Souls ritual.BloodMagic.cobblestoneRitual=Le Vulcanos Frigius -ritual.BloodMagic.placerRitual=The Filler -ritual.BloodMagic.fellingRitual=The Timberman +ritual.BloodMagic.placerRitual=Laying of the Filler +ritual.BloodMagic.fellingRitual=Crash of the Timberman ritual.BloodMagic.pumpRitual=Hymn of Siphoning ritual.BloodMagic.altarBuilderRitual=The Assembly of the High Altar ritual.BloodMagic.portalRitual=The Gate of the Fold