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

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

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

miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/SuperminerCommand.java revision 1521 by torben, Mon Jun 20 20:10:41 2011 UTC miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/SuperMiner.java revision 1522 by torben, Fri Jun 24 11:13:59 2011 UTC
# Line 1  Line 1 
1  package dk.thoerup.bukkit.hoeruputils;  package dk.thoerup.bukkit.hoeruputils;
2    
3    import java.util.HashSet;
4    import java.util.Set;
5    import java.util.Random;
6    
7  import org.bukkit.Location;  import org.bukkit.Location;
8    import org.bukkit.Material;
9  import org.bukkit.World;  import org.bukkit.World;
10  import org.bukkit.block.Block;  import org.bukkit.block.Block;
11  import org.bukkit.command.Command;  import org.bukkit.command.Command;
12  import org.bukkit.command.CommandExecutor;  import org.bukkit.command.CommandExecutor;
13  import org.bukkit.command.CommandSender;  import org.bukkit.command.CommandSender;
14  import org.bukkit.entity.Player;  import org.bukkit.entity.Player;
15    import org.bukkit.event.block.BlockDamageEvent;
16    import org.bukkit.event.block.BlockListener;
17    import org.bukkit.event.player.PlayerListener;
18    import org.bukkit.event.player.PlayerQuitEvent;
19    
20  public class SuperminerCommand implements CommandExecutor {  public class SuperMiner extends BlockListener implements CommandExecutor {
21            
22            
23            Random rand = new Random();
24                    
25            Set<String> miners = new HashSet<String>();
26    
27          @Override          @Override
28          public boolean onCommand(final CommandSender sender, Command command, String label, String[] args) {          public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
29                                            
30                  if (!(sender instanceof Player)) {                  if (! (sender instanceof Player) ) {
31                          return false;                          return false;
32                  }                  }
                 Player p = (Player) sender;  
33    
34                  World world = p.getWorld();                  if (!sender.isOp()) {
35                  Location l = p.getLocation();                          sender.sendMessage("Only ops can use superminer");
36                            return true;
37                    }
38                            
39                    
40                    Player p  = (Player) sender;
41    
42                  for (int x=-5; x<=5; x++) {                  if (miners.contains(p.getName())) {
43                          for (int y=0; y<=5; y++) {                          miners.remove( p.getName() );
44                                  for (int z=-5; z<=5; z++) {                          p.sendMessage("SuperMiner disabled");
45                    } else {
46                            miners.add( p.getName() );
47                            p.sendMessage("SuperMiner enabled - go dig some tunnels (with a fish)");
48                    }
49                    
50                    
51                    return true;
52            }
53    
54                                          Block b = world.getBlockAt( l.getBlockX()+x, l.getBlockY()+y, l.getBlockZ()+z);          
55            
56            public void onBlockDamage(BlockDamageEvent event) {
57                    Player p = event.getPlayer();
58                    
59                    if (! p.isOp() )
60                            return;
61    
62                                          int id = b.getTypeId();                  
63                    if (p.getItemInHand().getType() == Material.RAW_FISH) {
64                            if ( miners.contains(p.getName()) ) {                  
65                                    
66                                    Block b = event.getBlock();
67                                    
68                                    superMiner(p, p.getWorld(), p.getLocation() );                          
69                            }
70                    }
71                    
72            }
73    
                                         if (id == 1 || id == 2 || id == 3 || id == 4 || id == 8 || id == 9 || id == 10 || id == 11 || id == 13) {  
                                                 b.setTypeId( 0 );  
                                         }        
                                 }  
74    
75            public void superMiner(Player player, World world, Location location) {
76    
77    
78                    Location l = location;
79    
80                    for (int x=-5; x<=5; x++) {
81                            for (int y=0; y<=5; y++) {
82                                    for (int z=-5; z<=5; z++) {
83    
84                                            Block b = world.getBlockAt( l.getBlockX()+x, l.getBlockY()+y, l.getBlockZ()+z);
85    
86                                            int id = b.getTypeId();
87    
88                                            if (id == 1 || id == 2 || id == 3 || id == 4 || id == 8 || id == 9 || id == 10 || id == 11 || id == 13) {
89                                                    b.setTypeId( 0 );
90                                            }
91                                    }
92    
93    
94                            }
95                    }
96    
97            }
98    
99    
100    
101            public PlayerQuitListener getPlayerQuitListener() {
102                    return new PlayerQuitListener();
103            }
104            
105            
106            public class PlayerQuitListener extends PlayerListener {
107                    @Override
108                    public void onPlayerQuit(PlayerQuitEvent event) {
109                            Player p = event.getPlayer();
110                            
111                            if (miners.contains(p.getName())) {
112                                    miners.remove( p.getName() );
113                          }                          }
114                  }                  }
                   
                 return true;  
115          }          }
116    
117  }  }

Legend:
Removed from v.1521  
changed lines
  Added in v.1522

  ViewVC Help
Powered by ViewVC 1.1.20