From 522b085499cc975bb031ba6a04759e1841d49faa Mon Sep 17 00:00:00 2001 From: TfT_02 Date: Mon, 22 Dec 2014 17:25:55 +0100 Subject: [PATCH] Fix bug where no XP was granted when Flux Mining Fixes #2359 --- Changelog.txt | 1 + src/main/java/com/gmail/nossr50/skills/mining/Mining.java | 2 +- .../com/gmail/nossr50/skills/smelting/SmeltingManager.java | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Changelog.txt b/Changelog.txt index 0b72d2357..eaef75a01 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -9,6 +9,7 @@ Key: Version 1.5.02-dev + Added option to config.yml for Chimaera Wings to stop using bed spawn points + = Fixed bug where no Mining XP was granted when Flux Mining was successful ! Changed Flux Mining mechanics. In order to use the ability, you need to infuse a pickaxe with furnace powers first. Version 1.5.01 diff --git a/src/main/java/com/gmail/nossr50/skills/mining/Mining.java b/src/main/java/com/gmail/nossr50/skills/mining/Mining.java index c93c692a1..f3654a778 100644 --- a/src/main/java/com/gmail/nossr50/skills/mining/Mining.java +++ b/src/main/java/com/gmail/nossr50/skills/mining/Mining.java @@ -17,7 +17,7 @@ public class Mining { * * @param blockState The {@link BlockState} to check ability activation for */ - protected static int getBlockXp(BlockState blockState) { + public static int getBlockXp(BlockState blockState) { Material blockType = blockState.getType(); int xp = ExperienceConfig.getInstance().getXp(SkillType.MINING, blockType != Material.GLOWING_REDSTONE_ORE ? blockType : Material.REDSTONE_ORE); diff --git a/src/main/java/com/gmail/nossr50/skills/smelting/SmeltingManager.java b/src/main/java/com/gmail/nossr50/skills/smelting/SmeltingManager.java index 9a204abb2..19dcc97f9 100644 --- a/src/main/java/com/gmail/nossr50/skills/smelting/SmeltingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/smelting/SmeltingManager.java @@ -22,6 +22,7 @@ import com.gmail.nossr50.datatypes.skills.XPGainReason; import com.gmail.nossr50.events.skills.secondaryabilities.SecondaryAbilityWeightedActivationCheckEvent; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.skills.SkillManager; +import com.gmail.nossr50.skills.mining.Mining; import com.gmail.nossr50.skills.smelting.Smelting.Tier; import com.gmail.nossr50.util.BlockUtils; import com.gmail.nossr50.util.Misc; @@ -73,6 +74,9 @@ public class SmeltingManager extends SkillManager { return false; } + // We need to distribute Mining XP here, because the block break event gets cancelled + applyXpGain(Mining.getBlockXp(blockState), XPGainReason.PVE); + SkillUtils.handleDurabilityChange(getPlayer().getItemInHand(), Config.getInstance().getAbilityToolDamage()); Misc.dropItems(blockState.getLocation(), item, isSecondSmeltSuccessful() ? 2 : 1);