mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-23 13:46:46 +01:00
Changed Blast Mining & Mining to use the same drop function.
This commit is contained in:
parent
36a706b7b6
commit
e1644d3c08
@ -22,7 +22,6 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.inventory.ItemStack;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||||
@ -37,56 +36,6 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
|
|
||||||
public class BlastMining{
|
public class BlastMining{
|
||||||
|
|
||||||
public static void explosionBlockDrops(Block block, Location loc)
|
|
||||||
{
|
|
||||||
int id = block.getTypeId();
|
|
||||||
ItemStack item = new ItemStack(id, 1);
|
|
||||||
|
|
||||||
switch (id){
|
|
||||||
//GLOWSTONE
|
|
||||||
case 89:
|
|
||||||
item = new ItemStack(348, 1);
|
|
||||||
m.mcDropItems(loc, item, 2);
|
|
||||||
m.mcRandomDropItems(loc, item, 50, 2);
|
|
||||||
break;
|
|
||||||
//REDSTONE
|
|
||||||
case 73:
|
|
||||||
item = new ItemStack(331, 1);
|
|
||||||
m.mcDropItems(loc, item, 4);
|
|
||||||
m.mcRandomDropItem(loc, item, 50);
|
|
||||||
break;
|
|
||||||
case 74:
|
|
||||||
item = new ItemStack(331, 1);
|
|
||||||
m.mcDropItems(loc, item, 4);
|
|
||||||
m.mcRandomDropItem(loc, item, 50);
|
|
||||||
break;
|
|
||||||
//LAPIS
|
|
||||||
case 21:
|
|
||||||
item = new ItemStack(351, 1, (byte)0,(byte)0x4);
|
|
||||||
m.mcDropItems(loc, item, 4);
|
|
||||||
m.mcRandomDropItems(loc, item, 50, 4);
|
|
||||||
break;
|
|
||||||
//DIAMOND
|
|
||||||
case 56:
|
|
||||||
item = new ItemStack(264, 1);
|
|
||||||
m.mcDropItem(loc, item);
|
|
||||||
break;
|
|
||||||
//STONE
|
|
||||||
case 1:
|
|
||||||
item = new ItemStack(4, 1);
|
|
||||||
m.mcDropItem(loc, item);
|
|
||||||
break;
|
|
||||||
//COAL
|
|
||||||
case 16:
|
|
||||||
item = new ItemStack(263, 1);
|
|
||||||
m.mcDropItem(loc, item);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
m.mcDropItem(loc, item);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<Block> explosionYields(List<Block> ores, List<Block> debris, float yield, float oreBonus, float debrisReduction, Location location, int extraDrops)
|
public static List<Block> explosionYields(List<Block> ores, List<Block> debris, float yield, float oreBonus, float debrisReduction, Location location, int extraDrops)
|
||||||
{
|
{
|
||||||
Iterator<Block> iterator2 = ores.iterator();
|
Iterator<Block> iterator2 = ores.iterator();
|
||||||
@ -97,13 +46,17 @@ public class BlastMining{
|
|||||||
if((float)Math.random() < (yield + oreBonus))
|
if((float)Math.random() < (yield + oreBonus))
|
||||||
{
|
{
|
||||||
blocksDropped.add(temp);
|
blocksDropped.add(temp);
|
||||||
explosionBlockDrops(temp, location);
|
Mining.miningDrops(temp);
|
||||||
if(extraDrops == 2)
|
if(extraDrops == 2)
|
||||||
|
{
|
||||||
blocksDropped.add(temp);
|
blocksDropped.add(temp);
|
||||||
explosionBlockDrops(temp, location);
|
Mining.miningDrops(temp);
|
||||||
|
}
|
||||||
if(extraDrops == 3)
|
if(extraDrops == 3)
|
||||||
|
{
|
||||||
blocksDropped.add(temp);
|
blocksDropped.add(temp);
|
||||||
explosionBlockDrops(temp, location);
|
Mining.miningDrops(temp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,7 +67,7 @@ public class BlastMining{
|
|||||||
{
|
{
|
||||||
Block temp = iterator3.next();
|
Block temp = iterator3.next();
|
||||||
if((float)Math.random() < (yield - debrisReduction))
|
if((float)Math.random() < (yield - debrisReduction))
|
||||||
explosionBlockDrops(temp, location);
|
Mining.miningDrops(temp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return blocksDropped;
|
return blocksDropped;
|
||||||
|
@ -38,23 +38,21 @@ import com.gmail.nossr50.datatypes.SkillType;
|
|||||||
public class Mining
|
public class Mining
|
||||||
{
|
{
|
||||||
|
|
||||||
public static void blockProcSimulate(Block block, Player player)
|
public static void miningDrops(Block block)
|
||||||
{
|
{
|
||||||
Location loc = block.getLocation();
|
Location loc = block.getLocation();
|
||||||
Material type = block.getType();
|
Material type = block.getType();
|
||||||
ItemStack item = new ItemStack(type, 1);
|
ItemStack item = new ItemStack(type, 1);
|
||||||
|
|
||||||
//Drop natural block with Silk Touch
|
switch (type)
|
||||||
if(player.getItemInHand().containsEnchantment(Enchantment.SILK_TOUCH)){
|
{
|
||||||
|
case COAL_ORE:
|
||||||
|
item = new ItemStack(Material.COAL, 1, (byte)0, (byte)0x0);
|
||||||
|
m.mcDropItem(loc, item);
|
||||||
|
break;
|
||||||
|
case DIAMOND_ORE:
|
||||||
|
item = new ItemStack(Material.DIAMOND, 1);
|
||||||
m.mcDropItem(loc, item);
|
m.mcDropItem(loc, item);
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (type){
|
|
||||||
case GLOWSTONE:
|
|
||||||
item = new ItemStack(Material.GLOWSTONE_DUST, 1);
|
|
||||||
m.mcDropItems(loc, item, 2);
|
|
||||||
m.mcRandomDropItems(loc, item, 50, 2);
|
|
||||||
break;
|
break;
|
||||||
case GLOWING_REDSTONE_ORE:
|
case GLOWING_REDSTONE_ORE:
|
||||||
case REDSTONE_ORE:
|
case REDSTONE_ORE:
|
||||||
@ -62,29 +60,35 @@ public class Mining
|
|||||||
m.mcDropItems(loc, item, 4);
|
m.mcDropItems(loc, item, 4);
|
||||||
m.mcRandomDropItem(loc, item, 50);
|
m.mcRandomDropItem(loc, item, 50);
|
||||||
break;
|
break;
|
||||||
|
case GLOWSTONE:
|
||||||
|
item = new ItemStack(Material.GLOWSTONE_DUST, 1);
|
||||||
|
m.mcDropItems(loc, item, 2);
|
||||||
|
m.mcRandomDropItems(loc, item, 50, 2);
|
||||||
|
break;
|
||||||
case LAPIS_ORE:
|
case LAPIS_ORE:
|
||||||
item = new ItemStack(Material.INK_SACK, 1, (byte)0, (byte)0x4);
|
item = new ItemStack(Material.INK_SACK, 1, (byte)0, (byte)0x4);
|
||||||
m.mcDropItems(loc, item, 4);
|
m.mcDropItems(loc, item, 4);
|
||||||
m.mcRandomDropItems(loc, item, 50, 4);
|
m.mcRandomDropItems(loc, item, 50, 4);
|
||||||
break;
|
break;
|
||||||
case DIAMOND_ORE:
|
|
||||||
item = new ItemStack(Material.DIAMOND, 1);
|
|
||||||
m.mcDropItem(loc, item);
|
|
||||||
break;
|
|
||||||
case STONE:
|
case STONE:
|
||||||
item = new ItemStack(Material.COBBLESTONE, 1);
|
item = new ItemStack(Material.COBBLESTONE, 1);
|
||||||
m.mcDropItem(loc, item);
|
m.mcDropItem(loc, item);
|
||||||
break;
|
break;
|
||||||
case COAL_ORE:
|
|
||||||
item = new ItemStack(Material.COAL, 1, (byte)0, (byte)0x0);
|
|
||||||
m.mcDropItem(loc, item);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
m.mcDropItem(loc, item);
|
m.mcDropItem(loc, item);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void blockProcSimulate(Block block, Player player)
|
||||||
|
{
|
||||||
|
//Drop natural block with Silk Touch
|
||||||
|
if(player.getItemInHand().containsEnchantment(Enchantment.SILK_TOUCH))
|
||||||
|
m.mcDropItem(block.getLocation(), new ItemStack(block.getType(), 1));
|
||||||
|
else
|
||||||
|
miningDrops(block);
|
||||||
|
}
|
||||||
|
|
||||||
public static void blockProcCheck(Block block, Player player)
|
public static void blockProcCheck(Block block, Player player)
|
||||||
{
|
{
|
||||||
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.MINING);
|
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.MINING);
|
||||||
|
Loading…
Reference in New Issue
Block a user