stoneharry

Untitled

Jun 23rd, 2012
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.05 KB | None | 0 0
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package main;
  6.  
  7. import java.util.logging.Logger;
  8. import org.bukkit.ChatColor;
  9. import org.bukkit.GameMode;
  10. import org.bukkit.Material;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.block.BlockBreakEvent;
  15. import org.bukkit.event.block.BlockPlaceEvent;
  16. import org.bukkit.event.player.PlayerDropItemEvent;
  17. import org.bukkit.event.entity.PlayerDeathEvent;
  18. import org.bukkit.event.player.PlayerChangedWorldEvent;
  19. import org.bukkit.plugin.java.JavaPlugin;
  20.  
  21. /**
  22.  *
  23.  * @author Harry
  24.  */
  25.  
  26. public class donatorhandler extends JavaPlugin implements Listener
  27. {
  28.     public void onDisable()
  29.     {
  30.         Logger.getLogger("Minecraft").info("[StonedDonations] Stoneharry - Disabled!");
  31.     }
  32.  
  33.     public void onEnable()
  34.     {
  35.         getServer().getPluginManager().registerEvents(this, this);
  36.         Logger.getLogger("Minecraft").info("[StonedDonations] Stoneharry - Enabled!");
  37.     }
  38.    
  39.     @EventHandler
  40.     public void onPlayerDrop(PlayerDropItemEvent event)
  41.     {    
  42.         Player plr = event.getPlayer();
  43.         if (plr.hasPermission("stoneharry.donator"))
  44.         {
  45.             plr.sendMessage(ChatColor.RED + "You cannot drop items if you can spawn items. If you wish to clear your inventory, do /ci");
  46.             event.setCancelled(true);
  47.         }
  48.         if (plr.getWorld().getName().equals("world_creative"))
  49.         {
  50.             plr.sendMessage(ChatColor.RED + "You cannot drop items while in this world.");
  51.             event.setCancelled(true);            
  52.         }
  53.     }
  54.    
  55.     // Disabled until a better solution is thought of
  56.     /*@EventHandler
  57.     public void onPlayerInteract(PlayerInteractEvent event)
  58.     {  
  59.         if (event.getAction() == Action.RIGHT_CLICK_BLOCK)
  60.         {
  61.             if (event.getClickedBlock().getType() == Material.CHEST)
  62.             {
  63.                 if (event.getPlayer().hasPermission("stoneharry.donator"))
  64.                 {
  65.                     event.getPlayer().sendMessage(ChatColor.RED + "You cannot use chests if you can spawn items. If you wish to clear your inventory, do /ci");
  66.                     event.setCancelled(true);
  67.                 }
  68.             }
  69.         }
  70.      }
  71.      */
  72.    
  73.     @EventHandler
  74.     public void onPlayerDeath(PlayerDeathEvent event)
  75.     {
  76.         Player plr = event.getEntity();
  77.         if (plr.hasPermission("stoneharry.donator"))
  78.         {
  79.             event.getDrops().clear();
  80.         }
  81.         if (plr.getWorld().getName().equals("world_creative"))
  82.         {
  83.             event.getDrops().clear();        
  84.         }
  85.     }
  86.    
  87.     @EventHandler
  88.     public void onBlockBreak(BlockBreakEvent event)
  89.     {
  90.         Player plr = event.getPlayer();
  91.         if (event.getBlock().getType() == Material.LOCKED_CHEST || event.getBlock().getType() == Material.CHEST)
  92.         {
  93.             if (plr.hasPermission("stoneharry.donator"))
  94.             {
  95.                 event.getBlock().getDrops().clear();
  96.                 event.setCancelled(true);
  97.                 plr.sendMessage(ChatColor.AQUA + "Warning: When destroying chests, the items will not drop!");
  98.                 event.getBlock().setType(Material.AIR);
  99.             }
  100.         }
  101.         if (plr.getWorld().getName().equals("world_creative"))
  102.         {
  103.             if (plr.hasPermission("stoneharry.nocreteworld"))
  104.             {
  105.                 if (!plr.isOp())
  106.                 {
  107.                     plr.sendMessage(ChatColor.AQUA + "[ChaoticUnited] " + ChatColor.RED + "You must donate for the creative rank to build in this world.");
  108.                     event.setCancelled(true);
  109.                 }
  110.             }
  111.         }
  112.     }
  113.    
  114.     @EventHandler
  115.     public void onBlockPlace(BlockPlaceEvent event)
  116.     {
  117.         Player plr = event.getPlayer();
  118.         if (plr.getWorld().getName().equals("world_creative"))
  119.         {
  120.             if (plr.hasPermission("stoneharry.nocreteworld"))
  121.             {
  122.                 if (!plr.isOp())
  123.                 {
  124.                     plr.sendMessage(ChatColor.AQUA + "[ChaoticUnited] " + ChatColor.RED + "You must donate for the creative rank to build in this world.");
  125.                     event.setCancelled(true);
  126.                 }
  127.             }
  128.         }        
  129.     }
  130.    
  131.     @EventHandler
  132.     public void onPlayerChangeWorld(PlayerChangedWorldEvent event)
  133.     {
  134.        
  135.         Player plr = event.getPlayer();
  136.         if (plr.hasPermission("stoneharry.creator"))
  137.         {
  138.             if (plr.getWorld().getName().equals("world_creative"))
  139.             {
  140.                 plr.setGameMode(GameMode.CREATIVE);
  141.             }
  142.             else if (event.getFrom().getName().equals("world_creative"))
  143.             {
  144.                 plr.setGameMode(GameMode.SURVIVAL);
  145.                 plr.getInventory().clear();
  146.             }
  147.         }
  148.        
  149.         if (event.getFrom().getName().equals("world_creative"))
  150.         {
  151.             plr.setExp(0);
  152.         }
  153.        
  154.     }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment