4 |
import java.util.Set; |
import java.util.Set; |
5 |
|
|
6 |
import org.bukkit.Material; |
import org.bukkit.Material; |
7 |
|
import org.bukkit.block.Block; |
8 |
import org.bukkit.command.Command; |
import org.bukkit.command.Command; |
9 |
import org.bukkit.command.CommandExecutor; |
import org.bukkit.command.CommandExecutor; |
10 |
import org.bukkit.command.CommandSender; |
import org.bukkit.command.CommandSender; |
13 |
import org.bukkit.event.block.BlockListener; |
import org.bukkit.event.block.BlockListener; |
14 |
import org.bukkit.event.player.PlayerListener; |
import org.bukkit.event.player.PlayerListener; |
15 |
import org.bukkit.event.player.PlayerQuitEvent; |
import org.bukkit.event.player.PlayerQuitEvent; |
16 |
|
import org.bukkit.inventory.ItemStack; |
17 |
|
|
18 |
public class AdminDestroy extends BlockListener implements CommandExecutor { |
public class AdminDestroy extends BlockListener implements CommandExecutor { |
19 |
|
|
40 |
return true; |
return true; |
41 |
} |
} |
42 |
|
|
43 |
|
|
44 |
|
protected int getThrowBlock(Block b) { |
45 |
|
switch (b.getTypeId()) { |
46 |
|
case 1: |
47 |
|
return 4; |
48 |
|
case 2: |
49 |
|
case 3: |
50 |
|
return 0; //instabreak already throws dirt |
51 |
|
case 16: |
52 |
|
return 264; |
53 |
|
default: |
54 |
|
return b.getTypeId(); //don't throw any others |
55 |
|
} |
56 |
|
} |
57 |
|
|
58 |
public void onBlockDamage(BlockDamageEvent event) { |
public void onBlockDamage(BlockDamageEvent event) { |
59 |
Player p = event.getPlayer(); |
Player p = event.getPlayer(); |
60 |
|
|
64 |
if ( destroyers.contains(p.getName()) ) { |
if ( destroyers.contains(p.getName()) ) { |
65 |
if (p.getItemInHand().getType() == Material.FEATHER) { |
if (p.getItemInHand().getType() == Material.FEATHER) { |
66 |
event.setInstaBreak(true); |
event.setInstaBreak(true); |
67 |
|
|
68 |
|
Block b = event.getBlock(); |
69 |
|
int blockid = getThrowBlock(b); |
70 |
|
|
71 |
|
if (blockid != 0) { |
72 |
|
ItemStack stack = new ItemStack(b.getTypeId(), 1); |
73 |
|
b.getWorld().dropItem(b.getLocation(), stack); |
74 |
|
} |
75 |
|
|
76 |
} |
} |
77 |
} |
} |
78 |
|
|