Armagidon

Main урок 4

Dec 9th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.79 KB | None | 0 0
  1. package nms.main;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Random;
  5.  
  6. import org.bukkit.Material;
  7. import org.bukkit.Sound;
  8. import org.bukkit.command.Command;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.configuration.file.FileConfiguration;
  11. import org.bukkit.entity.Player;
  12. import org.bukkit.event.EventHandler;
  13. import org.bukkit.event.Listener;
  14. import org.bukkit.event.block.Action;
  15. import org.bukkit.event.player.PlayerInteractEvent;
  16. import org.bukkit.event.player.PlayerJoinEvent;
  17. import org.bukkit.inventory.ItemStack;
  18. import org.bukkit.inventory.meta.ItemMeta;
  19. import org.bukkit.plugin.java.JavaPlugin;
  20.  
  21. public class Main extends JavaPlugin implements Listener
  22. {
  23.    
  24.     private FileConfiguration config;
  25.    
  26.     @Override
  27.     public void onEnable() {
  28.         config = getConfig();
  29.         config.options().copyDefaults(true);
  30.         saveDefaultConfig();
  31.         getServer().getPluginManager().registerEvents(this, this);
  32.         getCommand("heal").setExecutor(new CommadHeal());
  33.         if(config.getBoolean("mes.enable") == false) getServer().getPluginManager().disablePlugin(this); else {
  34.             return;
  35.         }
  36.     }
  37.    
  38.     @Override
  39.     public boolean onCommand(CommandSender sender, Command command, String lbl, String[] args) {
  40.         if(lbl.equalsIgnoreCase("setmessage"))
  41.         {
  42.             StringBuilder sb = new StringBuilder();
  43.             for(int i =0; i < args.length; i++)
  44.             {
  45.                 sb.append(args[i] + " ");
  46.             }
  47.             String mes = sb.toString();
  48.             config.set("mes.string", mes);
  49.             saveConfig();
  50.         }
  51.         return false;
  52.     }
  53.    
  54.     @EventHandler
  55.     public void onJoin(PlayerJoinEvent e)
  56.     {
  57.         e.setJoinMessage("§b"+e.getPlayer().getName()+" зашёл на сервер");
  58.         ItemStack item = new ItemStack(Material.DIAMOND);
  59.         ItemMeta meta = item.getItemMeta();
  60.         meta.setDisplayName("§5Интерактивный алмаз");
  61.         meta.setLore(config.getStringList("mes.lore"));
  62.         item.setItemMeta(meta);
  63.         e.getPlayer().getInventory().addItem(item);
  64.         for(int i = 0; i < config.getInt("mes.count"); i++) {
  65.             e.getPlayer().sendMessage(config.getString("mes.string"));
  66.         }
  67.     }
  68.    
  69.     @EventHandler
  70.     public void onClick(PlayerInteractEvent e)
  71.     {
  72.         Action a = e.getAction();
  73.         Player p = e.getPlayer();
  74.         @SuppressWarnings("deprecation")
  75.         ItemStack itemh = p.getItemInHand();
  76.         ItemStack item = new ItemStack(Material.DIAMOND);
  77.         ItemMeta meta = item.getItemMeta();
  78.         meta.setDisplayName("§5Интерактивный алмаз");
  79.         meta.setLore(Arrays.asList("§2Нажми и что-то произойдёт"));
  80.         item.setItemMeta(meta);
  81.         if(a != Action.RIGHT_CLICK_AIR) return;
  82.         if(itemh.getType() !=Material.DIAMOND) return;
  83.         if(!itemh.getItemMeta().hasDisplayName()) return;
  84.         if(!itemh.getItemMeta().getDisplayName().equals("§5Интерактивный алмаз")) return;
  85.         if(!itemh.getItemMeta().hasLore()) return;
  86.         if(!itemh.getItemMeta().getLore().equals(Arrays.asList("§2Нажми и что-то произойдёт"))) return;
  87.         p.sendMessage("Что-то произошло!");
  88.         random(p);
  89.        
  90.     }
  91.    
  92.     @SuppressWarnings("deprecation")
  93.     @EventHandler
  94.     public void onblock(PlayerInteractEvent e)
  95.     {
  96.         Action a = e.getAction();
  97.         Player p = e.getPlayer();
  98.         if(a != Action.RIGHT_CLICK_BLOCK) return;
  99.         if(p.getItemInHand().getType() == Material.AIR) return;
  100.         if(e.getClickedBlock().getType() != Material.ENDER_CHEST) return;
  101.         e.setCancelled(true);
  102.         p.playSound(p.getLocation(), Sound.ENTITY_WITHER_DEATH, 1, 1);
  103.         p.sendMessage("Нельзя");
  104.     }
  105.    
  106.     public void random(Player p)
  107.     {
  108.         Random r = new Random();
  109.         if(r.nextInt(5) <=0) return;
  110.         switch (r.nextInt(5)) {
  111.         case 1:
  112.             RandomThings.jump(p);
  113.             break;
  114.         case 2:
  115.             RandomThings.kick(p);
  116.             break;
  117.         case 3:
  118.             RandomThings.reward(p);
  119.             break;
  120.         case 4:
  121.             RandomThings.potion(p);
  122.             break;
  123.         case 5:
  124.             return;
  125.         default:
  126.             break;
  127.         }
  128.     }
  129.    
  130. }
Advertisement
Add Comment
Please, Sign In to add comment