/[projects]/miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/PowerMiner.java
ViewVC logotype

Diff of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/PowerMiner.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/AdminDestroy.java revision 1384 by torben, Sun Apr 24 10:08:10 2011 UTC miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/PowerMiner.java revision 1389 by torben, Mon Apr 25 19:45:54 2011 UTC
# Line 16  import org.bukkit.event.player.PlayerLis Line 16  import org.bukkit.event.player.PlayerLis
16  import org.bukkit.event.player.PlayerQuitEvent;  import org.bukkit.event.player.PlayerQuitEvent;
17  import org.bukkit.inventory.ItemStack;  import org.bukkit.inventory.ItemStack;
18    
19  public class AdminDestroy extends BlockListener implements CommandExecutor {  public class PowerMiner extends BlockListener implements CommandExecutor {
20                    
21                    
22          Random rand = new Random();          Random rand = new Random();
23                    
24          Set<String> destroyers = new HashSet<String>();          Set<String> miners = new HashSet<String>();
25    
26          @Override          @Override
27          public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {          public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
# Line 31  public class AdminDestroy extends BlockL Line 31  public class AdminDestroy extends BlockL
31                          return false;                          return false;
32                                    
33                  Player p  = (Player) sender;                  Player p  = (Player) sender;
34                  if (destroyers.contains(p.getName())) {                  if (miners.contains(p.getName())) {
35                          destroyers.remove( p.getName() );                          miners.remove( p.getName() );
36                          p.sendMessage("Admindestroy disabled");                          p.sendMessage("PowerMiner disabled");
37                  } else {                  } else {
38                          destroyers.add( p.getName() );                          miners.add( p.getName() );
39                          p.sendMessage("Admindestroy enabled - go dig some tunnels (with a feather)");                          p.sendMessage("PowerMiner enabled - go dig some tunnels (with a feather)");
40                  }                  }
41                                    
42                                    
# Line 44  public class AdminDestroy extends BlockL Line 44  public class AdminDestroy extends BlockL
44          }          }
45    
46                    
47          protected int getDropBlock(Block b) {          protected ItemStack getDropItems(Block b) {
48                  switch (b.getTypeId()) {                  switch (b.getTypeId()) {
49                  case 1: //stone drops cobblestone                  case 1: //stone drops cobblestone
50                          return 4;                          return new ItemStack(4,1);
51                  case 2:                  case 2:
52                  case 3:                                  case 3:                
53                          return 0; //instabreak already drops dirt                                        return null; //instabreak already drops dirt
54                  case 16: //coal ore drops coal                  case 12:
55                          return 263;                              return null; //instabreak drops sand
56                    case 13:
57                            return null; //don't drop gravel                
58                    case 16: //coal ore drops coal                  
59                            return new ItemStack(263,1);
60                    case 17:
61                            return null; //instabreak drops wood
62                  case 56: //diamond ore drops diamond                  case 56: //diamond ore drops diamond
63                          return 264;                              return new ItemStack(264,1);
64                    case 73:
65                    case 74:
66                            return new ItemStack(331,4); //redstone ore (both glowing and non-glowing) drops 4 redstone    
67                  default:                  default:
68                          return b.getTypeId(); //don't throw any others                          return new ItemStack(b.getTypeId(), 1);
69                  }                  }
70          }          }
71                    
# Line 66  public class AdminDestroy extends BlockL Line 75  public class AdminDestroy extends BlockL
75                  if (! p.isOp() )                  if (! p.isOp() )
76                          return;                          return;
77                                    
78                  if ( destroyers.contains(p.getName()) ) {                  if ( miners.contains(p.getName()) ) {
79                          if (p.getItemInHand().getType() == Material.FEATHER) {                          if (p.getItemInHand().getType() == Material.FEATHER) {
80                                  event.setInstaBreak(true);                                  event.setInstaBreak(true);
81                                                                    
82                                  Block b = event.getBlock();                                  Block b = event.getBlock();
83                                  int blockid = getDropBlock(b);                                  ItemStack items = getDropItems(b);
84                                                                    
85                                  if (blockid != 0) {                                                              if (items != null) {                            
86                                          ItemStack stack = new ItemStack(blockid, 1);                                          b.getWorld().dropItemNaturally(b.getLocation(), items);
                                         b.getWorld().dropItemNaturally(b.getLocation(), stack);  
87                                  }                                  }
88                                                                    
89                          }                          }
90                  }                  }
91                                    
92          }          }
93            public PlayerQuitListener getPlayerQuitListener() {
94                    return new PlayerQuitListener();
95            }
96            
97                    
98          public class PlayerQuitListener extends PlayerListener {          public class PlayerQuitListener extends PlayerListener {
99                  @Override                  @Override
100                  public void onPlayerQuit(PlayerQuitEvent event) {                  public void onPlayerQuit(PlayerQuitEvent event) {
101                          Player p = event.getPlayer();                          Player p = event.getPlayer();
102                                                    
103                          if (destroyers.contains(p.getName())) {                          if (miners.contains(p.getName())) {
104                                  destroyers.remove( p.getName() );                                  miners.remove( p.getName() );
105                          }                          }
106                  }                  }
107          }          }

Legend:
Removed from v.1384  
changed lines
  Added in v.1389

  ViewVC Help
Powered by ViewVC 1.1.20