Advertisement
Guest User

Untitled

a guest
Nov 17th, 2013
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.51 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.List;
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.Material;
  5. import org.bukkit.block.Block;
  6. import org.bukkit.event.EventHandler;
  7. import org.bukkit.event.EventPriority;
  8. import org.bukkit.event.Listener;
  9. import org.bukkit.event.block.BlockPlaceEvent;
  10. import org.bukkit.inventory.ItemStack;
  11. import org.bukkit.inventory.meta.ItemMeta;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13.  
  14. public class DefaultChestNames extends JavaPlugin implements Listener {
  15.  
  16.     public void onEnable() {
  17.         getServer().getPluginManager().registerEvents(this, this);
  18.     }
  19.  
  20.     final static List<Material> types = Arrays.asList(Material.CHEST, Material.DISPENSER, Material.TRAPPED_CHEST, Material.FURNACE,
  21.             Material.DROPPER, Material.ENCHANTMENT_TABLE, Material.HOPPER);
  22.  
  23.     @EventHandler(priority = EventPriority.HIGH)
  24.     public void onChestPlace(BlockPlaceEvent e) {
  25.         if(e.isCancelled())return;
  26.         final Block block = e.getBlock();
  27.         final Material mat = block.getType();
  28.         final boolean isNameable = types.contains(mat);
  29.         final ItemStack item = e.getItemInHand();
  30.  
  31.         if (isNameable) {
  32.             final ItemMeta meta;
  33.             meta = item.getItemMeta();
  34.             if (!meta.hasDisplayName()) {
  35.                 final String oldName = meta.getDisplayName();
  36.                 meta.setDisplayName(e.getPlayer().getName());
  37.                 item.setItemMeta(meta);
  38.                 Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
  39.                     public void run() {
  40.                         meta.setDisplayName(oldName);
  41.                         item.setItemMeta(meta);
  42.                     }
  43.                 }, 1);
  44.             }
  45.  
  46.         }
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement