Guest User

Main Class

a guest
Oct 7th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.57 KB | None | 0 0
  1. package main;
  2.  
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.File;
  6. import java.io.IOException;
  7. import java.util.ArrayList;
  8.  
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.ChatColor;
  11. import org.bukkit.GameMode;
  12. import org.bukkit.Location;
  13. import org.bukkit.Material;
  14. import org.bukkit.WorldCreator;
  15. import org.bukkit.command.Command;
  16. import org.bukkit.command.CommandSender;
  17. import org.bukkit.entity.Player;
  18. import org.bukkit.event.EventHandler;
  19. import org.bukkit.event.Listener;
  20. import org.bukkit.event.block.Action;
  21. import org.bukkit.event.entity.EntityDamageEvent;
  22. import org.bukkit.event.entity.FoodLevelChangeEvent;
  23. import org.bukkit.event.inventory.InventoryClickEvent;
  24. import org.bukkit.event.inventory.InventoryType;
  25. import org.bukkit.event.player.PlayerChatEvent;
  26. import org.bukkit.event.player.PlayerDropItemEvent;
  27. import org.bukkit.event.player.PlayerInteractEvent;
  28. import org.bukkit.event.player.PlayerJoinEvent;
  29. import org.bukkit.event.player.PlayerQuitEvent;
  30. import org.bukkit.event.player.PlayerSwapHandItemsEvent;
  31. import org.bukkit.inventory.Inventory;
  32. import org.bukkit.inventory.ItemStack;
  33. import org.bukkit.inventory.meta.ItemMeta;
  34. import org.bukkit.plugin.java.JavaPlugin;
  35. import org.bukkit.scheduler.BukkitRunnable;
  36.  
  37. import com.google.common.collect.Lists;
  38.  
  39. import main.utils.cfg_utils;
  40. import main.utils.chat_utils;
  41. import main.utils.math_utils;
  42.  
  43. @SuppressWarnings("deprecation")
  44. public class main_clicker extends JavaPlugin implements Listener{
  45.    
  46.     private ItemStack sl1 = new ItemStack(Material.NETHER_STAR);
  47.     private ItemStack sl2 = new ItemStack(Material.GOLD_NUGGET);
  48.     private ItemStack barrier = new ItemStack(Material.BARRIER);
  49.     private ItemStack upgrade1 = new ItemStack(Material.GOLD_BLOCK);
  50.     private ItemStack upgrade2 = new ItemStack(Material.GOLDEN_PICKAXE);
  51.     private ItemStack click = new ItemStack(Material.GOLD_INGOT);
  52.     private Location w;
  53.    
  54.     public void onEnable() {
  55.         Bukkit.getServer().getPluginManager().registerEvents(this, this);
  56.        
  57.         this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
  58.        
  59.         new BukkitRunnable() {
  60.             @Override
  61.             public void run() {
  62.                 Bukkit.createWorld(new WorldCreator("world2"));
  63.                 w = new Location(Bukkit.getWorld("world2"), 0, 100, 0);
  64.                 getLogger().info("ready to use");
  65.             }
  66.         }.runTaskLater(this, 60);
  67.         getLogger().info("Clicker game plugin is aviable now");
  68.        
  69.         File players = new File(getDataFolder() + File.separator + "players.yml");
  70.         if(!players.exists()) {
  71.             getConfig().options().copyDefaults(true);
  72.             getLogger().info("Creating new config file...");
  73.             saveDefaultConfig();
  74.         }
  75.        
  76.         ItemMeta metaclick = click.getItemMeta();
  77.         metaclick.setDisplayName("Click!!!");
  78.         click.setItemMeta(metaclick);
  79.        
  80.         ItemMeta upgrade1m = upgrade1.getItemMeta();
  81.         upgrade1m.setDisplayName(ChatColor.GREEN+"LVL up");
  82.         upgrade1.setItemMeta(upgrade1m);
  83.        
  84.         ItemMeta upgrade2m = upgrade2.getItemMeta();
  85.         upgrade2m.setDisplayName(ChatColor.GREEN+"Upgrade click pay");
  86.         upgrade2.setItemMeta(upgrade2m);
  87.        
  88.         //lore sl1
  89.         ItemMeta metasl1 = sl1.getItemMeta();
  90.         metasl1.setDisplayName(ChatColor.AQUA + "Main Menu");
  91.         metasl1.setLore(Lists.newArrayList("RMB to open the Main Menu"));
  92.         sl1.setItemMeta(metasl1);
  93.         //lore sl2
  94.         ItemMeta metasl2 = sl2.getItemMeta();
  95.         metasl2.setDisplayName(ChatColor.GRAY + "Balance");
  96.         metasl2.setLore(Lists.newArrayList("RMB To check your balance"));
  97.         sl2.setItemMeta(metasl2);
  98.         //lore sl3
  99.         ItemMeta metasl3 = barrier.getItemMeta();
  100.         metasl3.setDisplayName(ChatColor.RED + "Back to Hub");
  101.         barrier.setItemMeta(metasl3);
  102.        
  103.         //UpDATE
  104.        
  105.         new BukkitRunnable() {
  106.             @Override
  107.             public void run() {
  108.                 cfg_utils.save();
  109.                 getLogger().info("Saving...");
  110.             }
  111.         }.runTaskTimer(this, 1200, 1200);
  112.        
  113.         //class settings
  114.         cfg_utils.classset(this);
  115.     }
  116.    
  117.     @EventHandler
  118.     public void join(PlayerJoinEvent e) {
  119.         Player p = e.getPlayer();
  120.         p.getInventory().clear();
  121.         p.getInventory().setItem(0, sl1);
  122.         p.getInventory().setItem(4, sl2);
  123.         p.getInventory().setItem(8, barrier);
  124.         p.setGameMode(GameMode.ADVENTURE);
  125.         p.setFoodLevel(20);
  126.         cfg_utils.saveNew(p.getName());
  127.         p.teleport(w);
  128.         sched1(p);
  129.     };
  130.    
  131.     @EventHandler
  132.     public void inter(PlayerInteractEvent e) {
  133.  
  134.         Player p = e.getPlayer();
  135.         Action ac = e.getAction();
  136.         if(ac == Action.RIGHT_CLICK_AIR || ac == Action.RIGHT_CLICK_BLOCK) {
  137.            
  138.             e.setCancelled(true);
  139.             if(e.getItem() == null) return;
  140.             if(e.getItem().equals(sl1)) {
  141.                 menu(p);
  142.             }
  143.             if(e.getItem().equals(sl2)) {
  144.                 double balance = cfg_utils.get(p.getName(), 0);
  145.                 String balances = math_utils.parsed(balance);
  146.                 p.sendMessage(ChatColor.AQUA + "Ваш баланс: " + ChatColor.GOLD+balances+"$");
  147.             }
  148.             if(e.getItem().equals(barrier)) {
  149.                 connect("lobby1", p);
  150.             }
  151.         }
  152.        
  153.        
  154.     }
  155.    
  156.     @EventHandler
  157.     public void message(PlayerChatEvent e) {
  158.         chat_utils.message(e.getMessage());
  159.     }
  160.    
  161.     public void sched1(Player p) {
  162.         new BukkitRunnable() {
  163.             double balance;
  164.             double lvl;
  165.             double lvl1;
  166.             double income;
  167.             @Override
  168.             public void run() {
  169.                 balance = cfg_utils.get(p.getName(), 0);
  170.                 lvl =cfg_utils. get(p.getName(), 1);
  171.                 lvl1 = cfg_utils.get(p.getName(), 2);
  172.                 if(!Bukkit.getOnlinePlayers().contains(p)) this.cancel();
  173.                 income=lvl1/10;
  174.                 balance = balance+income;
  175.                 cfg_utils.set(p.getName(), balance+", "+lvl+", "+lvl1);
  176.                
  177.                 if(p.getOpenInventory().getType() == InventoryType.CHEST) {
  178.                     menu(p);
  179.                 }
  180.             }
  181.         }.runTaskTimer(this, 20, 20);
  182.     }
  183.    
  184.     private void connect(String s, Player p) {
  185.         ByteArrayOutputStream b = new ByteArrayOutputStream();
  186.         DataOutputStream out = new DataOutputStream(b);
  187.  
  188.         try {
  189.             out.writeUTF("Connect");
  190.             out.writeUTF(s);
  191.         }
  192.         catch (IOException eee) {
  193.         }
  194.         p.sendPluginMessage(this, "BungeeCord", b.toByteArray());
  195.     }
  196.    
  197.     private void menu(Player p) {
  198.         double lvl = cfg_utils.get(p.getName(), 1);
  199.         double balance = cfg_utils.get(p.getName(), 0);
  200.         double lvl1 = cfg_utils.get(p.getName(), 2);
  201.         double cost1 = lvl*5;
  202.         double cost2 = lvl1*5;
  203.         Inventory inv;
  204.         if(p.getOpenInventory().getType() != InventoryType.CHEST) {
  205.             p.openInventory(Bukkit.createInventory(p, 5*9));
  206.             p.sendMessage("123");
  207.         }
  208.         inv = p.getOpenInventory().getTopInventory();
  209.         String balances = math_utils.parsed(balance);
  210.         String lvls = math_utils.parsed(lvl);
  211.         String lvl1s = math_utils.parsed(lvl1);
  212.         String cost1s = math_utils.parsed(cost1);
  213.         String cost2s = math_utils.parsed(cost2);
  214.         ArrayList<String> al = new ArrayList<>();
  215.        
  216.         if(inv == null) {
  217.             p.openInventory(Bukkit.createInventory(p, 5*9));
  218.             inv = p.getOpenInventory().getTopInventory();
  219.             p.openInventory(inv);
  220.         }
  221.        
  222.         ItemMeta clickm = click.getItemMeta();
  223.         al.add(ChatColor.GOLD+"Balance: "+balances+"$");
  224.         clickm.setLore(al);
  225.         click.setItemMeta(clickm);
  226.         inv.setItem(22, click);
  227.         al.clear();
  228.        
  229.         ItemMeta upgrade1m = upgrade1.getItemMeta();
  230.         al.add(ChatColor.AQUA+"Current LVL: "+lvl1s);
  231.         if(balance>=cost2) al.add(ChatColor.GREEN+"Money: "+ChatColor.GOLD+balances+"/"+cost2s+"$");
  232.         else al.add(ChatColor.RED+"Money: "+balances+"/"+cost2s+"$");
  233.         upgrade1m.setLore(al);
  234.         upgrade1.setItemMeta(upgrade1m);
  235.         inv.setItem(26, upgrade1);
  236.         al.clear();
  237.        
  238.         ItemMeta upgrade2m = upgrade2.getItemMeta();
  239.         al.add(ChatColor.AQUA+"Current LVL: "+lvls);
  240.         if(balance>=cost1) al.add(ChatColor.GREEN+"Money: "+ChatColor.GOLD+balances+"/"+cost1s+"$");
  241.         else al.add(ChatColor.RED+"Money: "+balances+"/"+cost1s+"$");
  242.         upgrade2m.setLore(al);
  243.         upgrade2.setItemMeta(upgrade2m);
  244.         inv.setItem(18, upgrade2);
  245.        
  246.         p.updateInventory();
  247.     }
  248.    
  249.     @EventHandler
  250.     public void click1(InventoryClickEvent e) {
  251.         e.setCancelled(true);
  252.         Player p = (Player) e.getWhoClicked();
  253.         double lvl = cfg_utils.get(e.getWhoClicked().getName(), 1);
  254.         double balance = cfg_utils.get(e.getWhoClicked().getName(), 0);
  255.         double lvl2 = cfg_utils.get(e.getWhoClicked().getName(), 2);
  256.         double cost1 = lvl*5;
  257.         double cost2 = lvl2*5;
  258.         String balances = math_utils.parsed(balance);
  259.         String cost1s = math_utils.parsed(cost1);
  260.         String cost2s = math_utils.parsed(cost2);
  261.         if(e.getCurrentItem() == null) return;
  262.         if(e.getCurrentItem().equals(upgrade1)) {
  263.             if(cost2 > balance) {
  264.                 e.getWhoClicked().sendMessage(ChatColor.RED + "У вас недостаточно денег.");
  265.                 e.getWhoClicked().closeInventory();
  266.                 return;
  267.             }
  268.             else {
  269.                 lvl2++;
  270.                 balance = balance - cost2;
  271.                 e.getWhoClicked().sendMessage(ChatColor.GREEN+"Покупка прошла успешно! Вы потратили: "+ChatColor.GOLD+cost2s+"$");
  272.                 cfg_utils.set(e.getWhoClicked().getName(), balance+", "+lvl+", "+lvl2);
  273.             }
  274.         }
  275.         if(e.getCurrentItem().equals(upgrade2)) {
  276.             if(cost1 > balance) {
  277.                 e.getWhoClicked().sendMessage(ChatColor.RED + "У вас недостаточно денег.");
  278.                 e.getWhoClicked().closeInventory();
  279.                 return;
  280.             }
  281.             else {
  282.                 lvl++;
  283.                 balance = balance - cost1;
  284.                 e.getWhoClicked().sendMessage(ChatColor.GREEN+"Покупка прошла успешно! Вы потратили: "+ChatColor.GOLD+cost1s+"$");
  285.                 cfg_utils.set(e.getWhoClicked().getName(), balance+", "+lvl+", "+lvl2);
  286.             }
  287.            
  288.         }
  289.         if(e.getCurrentItem().equals(click)) {
  290.             double income = lvl/5;
  291.             String incomes=math_utils.parsed(income);
  292.             balance = balance + income;
  293.             e.getWhoClicked().sendMessage(ChatColor.GREEN+"Зачисленно "+ChatColor.GOLD+incomes+"$, "+ChatColor.DARK_AQUA+"Баланс: "+ChatColor.GOLD+balances+"$");
  294.             cfg_utils.set(e.getWhoClicked().getName(), balance+", "+lvl+", "+lvl2);
  295.         }
  296.         menu(p);
  297.     }
  298.  
  299.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  300.        
  301.             if(cmd.equals(this.getCommand("delete"))) {
  302.                 if(!sender.isOp()) sender.sendMessage("You don't have permission to do that!");
  303.                 else {
  304.                     cfg_utils.delete(args[0]);
  305.                 }
  306.             }
  307.             if(cmd.equals(this.getCommand("suggest"))) {
  308.                 chat_utils.suggest(args);
  309.                 return true;
  310.             }
  311.            
  312.             return true;
  313.         }
  314.    
  315.    
  316.     @EventHandler
  317.     public void leave(PlayerQuitEvent e) {
  318.        
  319.     }
  320.    
  321.     @EventHandler
  322.     public void throw1(PlayerDropItemEvent e) {
  323.         e.setCancelled(true);
  324.     }  
  325.    
  326.     @EventHandler
  327.     public void damage(EntityDamageEvent e) {
  328.         e.setCancelled(true);
  329.     }
  330.    
  331.     @EventHandler
  332.     public void food(FoodLevelChangeEvent e) {
  333.         e.setCancelled(true);
  334.     }
  335.    
  336.     @EventHandler
  337.     public void swap(PlayerSwapHandItemsEvent e) {
  338.         e.setCancelled(true);
  339.     }
  340.    
  341.     public void onDisable() {
  342.     }
  343. }
Advertisement
Add Comment
Please, Sign In to add comment