From 159ec3f04d53802904b206f825c8b08d957d7919 Mon Sep 17 00:00:00 2001 From: gmcferrin Date: Tue, 8 Jan 2013 09:35:41 -0500 Subject: [PATCH] Pass location & type as params, rather than calling inside the function. --- .../gmail/nossr50/skills/mining/BlastMining.java | 11 ++++++++--- .../com/gmail/nossr50/skills/mining/Mining.java | 14 +++++++------- ...Handler.java => MiningBlockEventHandler.java} | 16 ++++++++++++---- .../nossr50/skills/mining/MiningManager.java | 6 +++--- 4 files changed, 30 insertions(+), 17 deletions(-) rename src/main/java/com/gmail/nossr50/skills/mining/{MiningDropsBlockHandler.java => MiningBlockEventHandler.java} (62%) diff --git a/src/main/java/com/gmail/nossr50/skills/mining/BlastMining.java b/src/main/java/com/gmail/nossr50/skills/mining/BlastMining.java index f4f73ea09..008020a56 100644 --- a/src/main/java/com/gmail/nossr50/skills/mining/BlastMining.java +++ b/src/main/java/com/gmail/nossr50/skills/mining/BlastMining.java @@ -7,6 +7,7 @@ import java.util.List; import java.util.Random; import org.bukkit.ChatColor; +import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.entity.Player; @@ -57,15 +58,17 @@ public class BlastMining { while (oresIterator.hasNext()) { Block temp = oresIterator.next(); + Location tempLocation = temp.getLocation(); + Material tempType = temp.getType(); if (random.nextFloat() < (yield + oreBonus)) { blocksDropped.add(temp); - Mining.miningDrops(temp); + Mining.miningDrops(temp, tempLocation, tempType); if (!mcMMO.placeStore.isTrue(temp)) { for (int i = 1 ; i < extraDrops ; i++) { blocksDropped.add(temp); - Mining.miningDrops(temp); + Mining.miningDrops(temp, tempLocation, tempType); } } } @@ -76,9 +79,11 @@ public class BlastMining { while (debrisIterator.hasNext()) { Block temp = debrisIterator.next(); + Location tempLocation = temp.getLocation(); + Material tempType = temp.getType(); if (random.nextFloat() < (yield - debrisReduction)) - Mining.miningDrops(temp); + Mining.miningDrops(temp, tempLocation, tempType); } } 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 a6ea8c8cb..e8f431a57 100644 --- a/src/main/java/com/gmail/nossr50/skills/mining/Mining.java +++ b/src/main/java/com/gmail/nossr50/skills/mining/Mining.java @@ -201,10 +201,10 @@ public class Mining { * Handle double drops when using Silk Touch. * * @param block The block to process drops for + * @param location The location of the block + * @param type The material type of the block */ - protected static void silkTouchDrops(Block block) { - Location location = block.getLocation(); - Material type = block.getType(); + protected static void silkTouchDrops(Block block, Location location, Material type) { ItemStack item = new ItemStack(type); switch (type) { @@ -215,7 +215,7 @@ public class Mining { case NETHERRACK: case OBSIDIAN: case SANDSTONE: - miningDrops(block); + miningDrops(block, location, type); break; case COAL_ORE: @@ -276,10 +276,10 @@ public class Mining { * Drop items from Mining & Blast Mining skills. * * @param block The block to process drops for + * @param location The location of the block + * @param type The material type of the block */ - protected static void miningDrops(Block block) { - Location location = block.getLocation(); - Material type = block.getType(); + protected static void miningDrops(Block block, Location location, Material type) { ItemStack item = new ItemStack(type); switch (type) { diff --git a/src/main/java/com/gmail/nossr50/skills/mining/MiningDropsBlockHandler.java b/src/main/java/com/gmail/nossr50/skills/mining/MiningBlockEventHandler.java similarity index 62% rename from src/main/java/com/gmail/nossr50/skills/mining/MiningDropsBlockHandler.java rename to src/main/java/com/gmail/nossr50/skills/mining/MiningBlockEventHandler.java index 7c0ce5500..13152bde0 100644 --- a/src/main/java/com/gmail/nossr50/skills/mining/MiningDropsBlockHandler.java +++ b/src/main/java/com/gmail/nossr50/skills/mining/MiningBlockEventHandler.java @@ -1,19 +1,27 @@ package com.gmail.nossr50.skills.mining; +import org.bukkit.Location; +import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.enchantments.Enchantment; import com.gmail.nossr50.util.Misc; -public class MiningDropsBlockHandler { +public class MiningBlockEventHandler { private MiningManager manager; + private Block block; + private Location blockLocation; + private Material blockType; protected int skillModifier; - protected MiningDropsBlockHandler(MiningManager manager, Block block) { + protected MiningBlockEventHandler(MiningManager manager, Block block) { this.manager = manager; + this.block = block; + this.blockLocation = block.getLocation(); + this.blockType = block.getType(); calculateSkillModifier(); } @@ -30,10 +38,10 @@ public class MiningDropsBlockHandler { */ protected void processDrops() { if (manager.getPlayer().getItemInHand().containsEnchantment(Enchantment.SILK_TOUCH)) { - Mining.silkTouchDrops(block); + Mining.silkTouchDrops(block, blockLocation, blockType); } else { - Mining.miningDrops(block); + Mining.miningDrops(block, blockLocation, blockType); } } } diff --git a/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java b/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java index db21ff5dc..daae9d75c 100644 --- a/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java +++ b/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java @@ -38,17 +38,17 @@ public class MiningManager { return; } - MiningDropsBlockHandler blockHandler = new MiningDropsBlockHandler(this, block); + MiningBlockEventHandler eventHandler = new MiningBlockEventHandler(this, block); int randomChance = 100; if (Permissions.luckyMining(player)) { randomChance = (int) (randomChance * 0.75); } - float chance = (float) (((double) Mining.DOUBLE_DROPS_MAX_CHANCE / Mining.DOUBLE_DROPS_MAX_BONUS_LEVEL) * blockHandler.skillModifier); + float chance = (float) (((double) Mining.DOUBLE_DROPS_MAX_CHANCE / Mining.DOUBLE_DROPS_MAX_BONUS_LEVEL) * eventHandler.skillModifier); if (chance > Mining.getRandom().nextInt(randomChance)) { - blockHandler.processDrops(); + eventHandler.processDrops(); } }