Advertisement
Guest User

Test Plugin for Block Placing

a guest
Dec 19th, 2013
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.75 KB | None | 0 0
  1. package com.elmakers.mine.bukkit.plugins.test;
  2.  
  3. import java.util.HashMap;
  4. import java.util.Map;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Effect;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.Listener;
  12. import org.bukkit.event.block.BlockBreakEvent;
  13. import org.bukkit.event.block.BlockPlaceEvent;
  14. import org.bukkit.plugin.PluginManager;
  15. import org.bukkit.plugin.java.JavaPlugin;
  16. import org.bukkit.scheduler.BukkitRunnable;
  17. import org.bukkit.scheduler.BukkitScheduler;
  18.  
  19. public class TestPlugin extends JavaPlugin implements Listener {
  20.     Map<Location, Integer> TDs = new HashMap<Location, Integer>();
  21.    
  22.     @EventHandler
  23.     public void onBlockPlace(final BlockPlaceEvent event){
  24.         //(event.getPlayer().hasPermission("SM.SnowMachine")) &&
  25.             if (event.getBlock().getType().equals(Material.GLOWSTONE)) {
  26.                     Location Sml = event.getBlock().getLocation();
  27.                     getLogger().info("Broke block at " + Sml.getWorld() + ":" + Sml.getX() + "," + Sml.getY() + "," + Sml.getZ());
  28.  
  29.               this.SnowMachine(Sml);
  30.             }
  31.     }
  32.    
  33.     @EventHandler
  34.     public void onBlockBreak(BlockBreakEvent event){
  35.         // (event.getPlayer().hasPermission("SM.SnowMachine")) &&
  36.             Location Sml3 = event.getBlock().getLocation();
  37.             Location equivalent = new Location(Sml3.getWorld(), Sml3.getX(), Sml3.getY(), Sml3.getZ());
  38.             if (event.getBlock().getType().equals(Material.GLOWSTONE)) {
  39.                     getLogger().info("Broke block at " + equivalent.getWorld() + ":" + equivalent.getX() + "," + equivalent.getY() + "," + equivalent.getZ());
  40.              if(TDs.containsKey(equivalent)){
  41.                  int taskID = TDs.get(equivalent);
  42.                  getLogger().info("Cancelling task with id " + taskID);
  43.                     Bukkit.getScheduler().cancelTask(taskID);
  44.                } else {
  45.                        Bukkit.broadcastMessage("I can't find that one! D': "+TDs.values().toString());
  46.                        Bukkit.broadcastMessage(""+equivalent); //Debug messages
  47.                }
  48.             }
  49.     }
  50.  
  51.     public void SnowMachine(final Location Sml) {
  52.         Location equivalent = new Location(Sml.getWorld(), Sml.getX(), Sml.getY(), Sml.getZ());
  53.         BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
  54.         int taskID = scheduler.scheduleSyncRepeatingTask(this, new BukkitRunnable() {
  55.                  public void run() {
  56.                      Sml.getWorld().playEffect(Sml, Effect.SMOKE, 0);
  57.                  }
  58.          }, 20, 5);
  59.          TDs.put(equivalent, taskID);
  60.          getLogger().info("Started task with id " + taskID);
  61.     }
  62.    
  63.     public void onEnable() {
  64.         PluginManager pm = getServer().getPluginManager();
  65.  
  66.         pm.registerEvents(this, this);
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement