SaveText.Ru

Без имени
  1. //
  2. // Source code recreated from a .class file by IntelliJ IDEA
  3. // (powered by Fernflower decompiler)
  4. //
  5.  
  6. package me.gromfake.prison;
  7.  
  8. import me.gromfake.API.SM;
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.ChatColor;
  11. import org.bukkit.Location;
  12. import org.bukkit.Material;
  13. import org.bukkit.command.Command;
  14. import org.bukkit.command.CommandExecutor;
  15. import org.bukkit.command.CommandSender;
  16. import org.bukkit.entity.Egg;
  17. import org.bukkit.entity.Player;
  18. import org.bukkit.entity.Projectile;
  19. import org.bukkit.entity.Snowball;
  20. import org.bukkit.event.EventHandler;
  21. import org.bukkit.event.Listener;
  22. import org.bukkit.event.block.Action;
  23. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  24. import org.bukkit.event.inventory.InventoryClickEvent;
  25. import org.bukkit.event.player.PlayerInteractEvent;
  26. import org.bukkit.inventory.Inventory;
  27. import org.bukkit.inventory.InventoryHolder;
  28. import org.bukkit.inventory.ItemStack;
  29. import org.bukkit.inventory.meta.ItemMeta;
  30. import org.bukkit.util.Vector;
  31.  
  32. public class Factions implements Listener, CommandExecutor {
  33.         private Inventory inv;
  34.         public static final Action RIGHT_CLICK_BLOCK = null;
  35.  
  36.         public static Action[] values​() {
  37.                 return new Action[0];
  38.         }
  39.         String no_faction = SM.prefix + "§cВы и так не во фракции";
  40.         String error = SM.prefix +  "§cЧто-то пошло не так!";
  41.         String fchange = SM.prefix +  "§aВаша фракция была успешно изменена!";
  42.         String fyes = SM.prefix +  "§7Вы уже вступили во фракцию!";
  43.         String no_lvl = SM.prefix +  "§7Вам нужен §a5 §7уровень";
  44.         String fchoose = SM.prefix +  "§7Вы еще не выбрали фракцию! Напишите §9/faction";
  45.         String door = SM.prefix +  "§7Вы вошли в дверь.";
  46.         String tdamage1 = SM.prefix +  "§7Эй, нельзя бить своих!";
  47.         String tdamage2 = SM.prefix +  "§7Эй, зачем нападать на своих? Это запрещено!";
  48.         String leave = SM.prefix +  "§aТы сбежал от ";
  49.         String for_owners = SM.prefix +  "§cЭта команда доступна только §4Владельцам §cи выше!";
  50.  
  51.         public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  52.                 Player p;
  53.                 p = (Player) sender;
  54.                 String playerFaction = Levels.getFaction(p);
  55.                 if (command.getName().equalsIgnoreCase("fleave")) {
  56.                         if (!Levels.faction.containsKey(p.getName())) {
  57.                                 p.sendMessage(no_faction);
  58.                                 return true;
  59.                         } else {
  60.                                 int whiteLoc2 = Main.instance.getConfig().getInt("fleaveprice");
  61.                                 if (Main.econ.has(p, (double) whiteLoc2)) {
  62.                                         if (playerFaction.equalsIgnoreCase("White")) {
  63.                                                 p.sendMessage(leave + "§7Белых");
  64.                                         } else if (playerFaction.equalsIgnoreCase("Yellow")) {
  65.                                                 p.sendMessage(leave + "§7Азиатов");
  66.                                         } else if (playerFaction.equalsIgnoreCase("Black")) {
  67.                                                 p.sendMessage(leave + "§7Негров");
  68.                                         } else if (playerFaction.equalsIgnoreCase("Blue")) {
  69.                                                 p.sendMessage(leave + "§7Полицейских");
  70.                                         } else if (playerFaction.equalsIgnoreCase("Gray")) {
  71.                                                 p.sendMessage(leave + "§7Греков");
  72.                                         }
  73.                                         Levels.faction.remove(p.getName());
  74.                                         Main.instance.levelsConfig.set(p.getName() + ".faction", (Object) null);
  75.                                         p.sendTitle("Вы успешно покинули фракцию.", ChatColor.YELLOW + "Присоединится к фракции §6/faction");
  76.                                         Main.econ.withdrawPlayer(p, (double) whiteLoc2);
  77.                                         p.sendMessage("§6§l| Prison | §aС вашего аккаунта снято " + whiteLoc2 + "$");
  78.                                         return true;
  79.                                 } else {
  80.                                         p.sendMessage("§6§l| Prison | §cДля выхода из фракции необходимо " + whiteLoc2 + "$");
  81.                                         return true;
  82.                                 }
  83.                         }
  84.                 } else if (command.getName().equalsIgnoreCase("faction")) {
  85.                         if (args.length == 3 && args[0].equalsIgnoreCase("set")) {
  86.                                 if (sender.hasPermission("prison.owner")) {
  87.                                         if (!args[2].equals("Black") && !args[2].equals("White") && !args[2].equals("Yellow") && !args[2].equals("Gray")) {
  88.                                                 sender.sendMessage(error);
  89.                                                 return true;
  90.                                         } else {
  91.                                                 Levels.faction.put(args[1], args[2]);
  92.                                                 sender.sendMessage("§6§l| Prison | §7Фракция игрока §9" + args[1] + "§7установлена на " + args[2]);
  93.                                                 return true;
  94.                                         }
  95.                                 } else {
  96.                                         sender.sendMessage(for_owners);
  97.                                         return true;
  98.                                 }
  99.                         } else if (args.length == 2 && args[0].equalsIgnoreCase("toggle")) {
  100.                                 if (sender.hasPermission("prison.owner")) {
  101.                                         if (Bukkit.getPlayer(args[1]) == null) {
  102.                                                 if (Main.instance.levelsConfig.getString(args[1] + ".faction") == "White") {
  103.                                                         Main.instance.levelsConfig.set(args[1] + ".faction", "Black");
  104.                                                         Main.instance.saveCustomYml(Main.instance.levelsConfig, Main.instance.levels);
  105.                                                         return true;
  106.                                                 } else {
  107.                                                         Main.instance.levelsConfig.set(args[1] + ".faction", "White");
  108.                                                         Main.instance.saveCustomYml(Main.instance.levelsConfig, Main.instance.levels);
  109.                                                         return true;
  110.                                                 }
  111.                                         } else {
  112.                                                 if (Levels.getFaction(Bukkit.getPlayer(args[1])) == "White") {
  113.                                                         Levels.faction.put(args[1], "Black");
  114.                                                 } else {
  115.                                                         Levels.faction.put(args[1], "White");
  116.                                                 }
  117.  
  118.                                                 Bukkit.getPlayer(args[1]).sendMessage(fchange);
  119.                                                 return true;
  120.                                         }
  121.                                 } else {
  122.                                         sender.sendMessage(for_owners);
  123.                                         return true;
  124.                                 }
  125.                         } else {
  126.                                 p = (Player) sender;
  127.                                 if (Levels.getLevel(p) >= 5) {
  128.                                         if (!Main.instance.levelsConfig.contains(p.getName() + ".faction")) {
  129.                                                 ItemStack whiteLoc1 = new ItemStack(Material.IRON_INGOT);
  130.                                                 ItemMeta blackLoc1 = whiteLoc1.getItemMeta();
  131.                                                 blackLoc1.setDisplayName(ChatColor.GRAY + "Белые");
  132.                                                 whiteLoc1.setItemMeta(blackLoc1);
  133.  
  134.                                                 ItemStack yellowLoc1 = new ItemStack(Material.NETHER_BRICK_ITEM);
  135.                                                 ItemMeta grayLoc1 = yellowLoc1.getItemMeta();
  136.                                                 grayLoc1.setDisplayName(ChatColor.DARK_GRAY + "Ниггеры");
  137.                                                 yellowLoc1.setItemMeta(grayLoc1);
  138.  
  139.                                                 ItemStack yellow = new ItemStack(Material.GOLD_INGOT);
  140.                                                 ItemMeta yellowMeta = yellow.getItemMeta();
  141.                                                 yellowMeta.setDisplayName(ChatColor.YELLOW + "Азиаты");
  142.                                                 yellow.setItemMeta(yellowMeta);
  143.  
  144.                                                 ItemStack gray = new ItemStack(Material.CLAY_BRICK);
  145.                                                 ItemMeta grayMeta = gray.getItemMeta();
  146.                                                 grayMeta.setDisplayName(ChatColor.GOLD + "Греки");
  147.                                                 gray.setItemMeta(grayMeta);
  148.  
  149.                                                 ItemStack blue = new ItemStack(Material.LAPIS_BLOCK);
  150.                                                 ItemMeta blueMeta = blue.getItemMeta();
  151.                                                 blueMeta.setDisplayName(ChatColor.BLUE + "Полиция");
  152.                                                 blue.setItemMeta(blueMeta);
  153.  
  154.                                                 this.inv = Bukkit.getServer().createInventory((InventoryHolder) null, 9, ChatColor.GREEN + "Выбор фракции");
  155.                                                 this.inv.setItem(2, whiteLoc1);
  156.                                                 this.inv.setItem(3, yellowLoc1);
  157.                                                 this.inv.setItem(4, yellow);
  158.                                                 //this.inv.setItem(5, gray);
  159.                                                 this.inv.setItem(8, blue);
  160.                                                 p.openInventory(this.inv);
  161.                                                 return true;
  162.                                         } else {
  163.                                                 p.sendMessage(fyes);
  164.                                                 return true;
  165.                                         }
  166.                                 } else {
  167.                                         p.sendMessage(no_lvl);
  168.                                         return true;
  169.                                 }
  170.                         }
  171.                 } else {
  172.                         p = (Player) sender;
  173.                         if (command.getName().equalsIgnoreCase("base")) {
  174.                                 if (!Levels.faction.containsKey(p.getName())) {
  175.                                         p.sendMessage(fchoose);
  176.                                         p.sendTitle(ChatColor.RED + "Вы еще не выбрали фракцию! Напишите " + ChatColor.YELLOW + "/faction", "");
  177.                                         return true;
  178.                                 }
  179.  
  180.                                 Location whiteLoc = new Location(Bukkit.getWorld(Main.instance.getConfig().getString("white.world")),
  181.                                                 (double) Main.instance.getConfig().getInt("white.x"),
  182.                                                 (double) Main.instance.getConfig().getInt("white.y"),
  183.                                                 (double) Main.instance.getConfig().getInt("white.z"));
  184.                                 Location blackLoc = new Location(Bukkit.getWorld(Main.instance.getConfig().getString("black.world")),
  185.                                                 (double) Main.instance.getConfig().getInt("black.x"),
  186.                                                 (double) Main.instance.getConfig().getInt("black.y"),
  187.                                                 (double) Main.instance.getConfig().getInt("black.z"));
  188.                                 Location yellowLoc = new Location(Bukkit.getWorld(Main.instance.getConfig().getString("yellow.world")),
  189.                                                 (double) Main.instance.getConfig().getInt("yellow.x"),
  190.                                                 (double) Main.instance.getConfig().getInt("yellow.y"),
  191.                                                 (double) Main.instance.getConfig().getInt("yellow.z"));
  192.                                 Location grayLoc = new Location(Bukkit.getWorld(Main.instance.getConfig().getString("gray.world")),
  193.                                                 (double) Main.instance.getConfig().getInt("gray.x"),
  194.                                                 (double) Main.instance.getConfig().getInt("gray.y"),
  195.                                                 (double) Main.instance.getConfig().getInt("gray.z"));
  196.                                 Location blueLoc = new Location(Bukkit.getWorld(Main.instance.getConfig().getString("blue.world")),
  197.                                                 (double) Main.instance.getConfig().getInt("blue.x"),
  198.                                                 (double) Main.instance.getConfig().getInt("blue.y"),
  199.                                                 (double) Main.instance.getConfig().getInt("blue.z"));
  200.  
  201.                                 if (((String) Levels.faction.get(p.getName())).equalsIgnoreCase("White")) {
  202.                                         p.teleport(whiteLoc);
  203.                                         return true;
  204.                                 }
  205.  
  206.                                 if (((String) Levels.faction.get(p.getName())).equalsIgnoreCase("Black")) {
  207.                                         p.teleport(blackLoc);
  208.                                         return true;
  209.                                 }
  210.  
  211.                                 if (((String) Levels.faction.get(p.getName())).equalsIgnoreCase("Yellow")) {
  212.                                         p.teleport(yellowLoc);
  213.                                         return true;
  214.                                 }
  215.  
  216.                                 if (((String) Levels.faction.get(p.getName())).equalsIgnoreCase("Gray")) {
  217.                                         p.teleport(grayLoc);
  218.                                         return true;
  219.                                 }
  220.  
  221.                                 if (((String) Levels.faction.get(p.getName())).equalsIgnoreCase("Blue")) {
  222.                                         p.teleport(blueLoc);
  223.                                         return true;
  224.                                 }
  225.                         }
  226.  
  227.                         return true;
  228.                 }
  229.         }
  230.  
  231.         @EventHandler
  232.         public void onInteract(PlayerInteractEvent e) {
  233.                 Player p = e.getPlayer();
  234.                 Location loc = p.getLocation();
  235.                 Vector dir = loc.getDirection();
  236.                 if (Levels.getFaction(p) == "Blue") {
  237.                         if ((p.isSneaking()) && (e.getAction() == Action.RIGHT_CLICK_BLOCK) && (e.getClickedBlock().getType() == Material.IRON_DOOR_BLOCK)) {
  238.                                 dir.setY(0.0);
  239.                                 double xzr = Math.sqrt(dir.getX() * dir.getX() + dir.getZ() * dir.getZ());
  240.                                 loc.add(dir.multiply(1.0 / xzr));
  241.                                 p.sendMessage(door);
  242.                                 p.teleport(loc);
  243.                         }
  244.                 }
  245.         }
  246.  
  247.         @EventHandler
  248.         public void onInventoryClick(InventoryClickEvent e) {
  249.                 if (e.getInventory().getName().equalsIgnoreCase(ChatColor.GREEN + "Выбор фракции")) {
  250.                         if (e.getCurrentItem().getItemMeta().getLore() == null) {
  251.                                 e.setCancelled(true);
  252.                         }
  253.  
  254.                         Player p = (Player) e.getWhoClicked();
  255.                         e.setCancelled(true);
  256.                         if (e.getCurrentItem().getType().equals(Material.NETHER_BRICK_ITEM)) {
  257.                                 Levels.faction.put(p.getName(), "Black");
  258.                                 Main.instance.levelsConfig.set(p.getName() + ".faction", "Black");
  259.                                 p.sendMessage("§6§l| Prison | §fВы вступили во фракцию §8Ниггер");
  260.                                 PrisonScoreBoard.updateScoreboard(p);
  261.                                 p.closeInventory();
  262.                         } else if (e.getCurrentItem().getType().equals(Material.IRON_INGOT)) {
  263.                                 Levels.faction.put(p.getName(), "White");
  264.                                 Main.instance.levelsConfig.set(p.getName() + ".faction", "White");
  265.                                 p.sendMessage("§6§l| Prison | §fВы вступили во фракцию §7Белый");
  266.                                 PrisonScoreBoard.updateScoreboard(p);
  267.                                 p.closeInventory();
  268.                         } else if (e.getCurrentItem().getType().equals(Material.GOLD_INGOT)) {
  269.                                 Main.instance.levelsConfig.set(p.getName() + ".faction", "Yellow");
  270.                                 Levels.faction.put(p.getName(), "Yellow");
  271.                                 p.sendMessage("§6§l| Prison | §fВы вступили во фракцию §eАзиат");
  272.                                 PrisonScoreBoard.updateScoreboard(p);
  273.                                 p.closeInventory();
  274.                         } else if (e.getCurrentItem().getType().equals(Material.CLAY_BRICK)) {
  275.                                 Levels.faction.put(p.getName(), "Gray");
  276.                                 Main.instance.levelsConfig.set(p.getName() + ".faction", "Gray");
  277.                                 p.sendMessage("§6§l| Prison | §fВы вступили во фракцию §6Грек");
  278.                                 PrisonScoreBoard.updateScoreboard(p);
  279.                                 p.closeInventory();
  280.                         } else if (e.getCurrentItem().getType().equals(Material.LAPIS_BLOCK)) {
  281.                                 if (Levels.getLevel(p) >= 20) {
  282.                                         Levels.faction.put(p.getName(), "Blue");
  283.                                         Main.instance.levelsConfig.set(p.getName() + ".faction", "Blue");
  284.                                         p.sendMessage("§6§l| Prison | §fВы вступили во фракцию §9Полицейский");
  285.                                         PrisonScoreBoard.updateScoreboard(p);
  286.                                         p.closeInventory();
  287.                                 } else {
  288.                                         p.sendMessage("§6§l| Prison | §7Вам нужен §c20 §7уровень, чтобы вступить во фракцию §9Полицейский§7.");
  289.                                         p.closeInventory();
  290.                                 }
  291.                         }
  292.                 }
  293.  
  294.         }
  295.  
  296.         @EventHandler
  297.         public void onAttack(EntityDamageByEntityEvent e) {
  298.                 Player damaged;
  299.                 Player damager;
  300.                 if (e.getEntity() instanceof Player && e.getDamager() instanceof Player) {
  301.                         damaged = (Player) e.getEntity();
  302.                         damager = (Player) e.getDamager();
  303.                         if (Levels.getFaction(damager).equalsIgnoreCase(Levels.getFaction(damaged))) {
  304.                                 e.setCancelled(true);
  305.                                 damager.sendMessage(tdamage1);
  306.                         }
  307.                 }
  308.  
  309.                 if (e.getDamager() instanceof Projectile && e.getEntity() instanceof Player) {
  310.                         damaged = (Player) e.getEntity();
  311.                         damager = null;
  312.                         Projectile proj = (Projectile) e.getDamager();
  313.                         if (proj.getShooter() instanceof Player) {
  314.                                 damager = (Player) proj.getShooter();
  315.                         }
  316.  
  317.                         if (Levels.getFaction(damager).equalsIgnoreCase(Levels.getFaction(damaged))) {
  318.                                 e.setCancelled(true);
  319.                                 damager.sendMessage(tdamage2);
  320.                         }
  321.                 }
  322.  
  323.                 if (e.getDamager() instanceof Egg || e.getDamager() instanceof Snowball) {
  324.                         e.setCancelled(true);
  325.                 }
  326.         }
  327. }
  328.  

Share with your friends:

Распечатать