Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main;
- import java.io.ByteArrayOutputStream;
- import java.io.DataOutputStream;
- import java.io.File;
- import java.io.IOException;
- import java.util.ArrayList;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.GameMode;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.WorldCreator;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.entity.EntityDamageEvent;
- import org.bukkit.event.entity.FoodLevelChangeEvent;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.inventory.InventoryType;
- import org.bukkit.event.player.PlayerChatEvent;
- import org.bukkit.event.player.PlayerDropItemEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.event.player.PlayerSwapHandItemsEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitRunnable;
- import com.google.common.collect.Lists;
- import main.utils.cfg_utils;
- import main.utils.chat_utils;
- import main.utils.math_utils;
- @SuppressWarnings("deprecation")
- public class main_clicker extends JavaPlugin implements Listener{
- private ItemStack sl1 = new ItemStack(Material.NETHER_STAR);
- private ItemStack sl2 = new ItemStack(Material.GOLD_NUGGET);
- private ItemStack barrier = new ItemStack(Material.BARRIER);
- private ItemStack upgrade1 = new ItemStack(Material.GOLD_BLOCK);
- private ItemStack upgrade2 = new ItemStack(Material.GOLDEN_PICKAXE);
- private ItemStack click = new ItemStack(Material.GOLD_INGOT);
- private Location w;
- public void onEnable() {
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
- new BukkitRunnable() {
- @Override
- public void run() {
- Bukkit.createWorld(new WorldCreator("world2"));
- w = new Location(Bukkit.getWorld("world2"), 0, 100, 0);
- getLogger().info("ready to use");
- }
- }.runTaskLater(this, 60);
- getLogger().info("Clicker game plugin is aviable now");
- File players = new File(getDataFolder() + File.separator + "players.yml");
- if(!players.exists()) {
- getConfig().options().copyDefaults(true);
- getLogger().info("Creating new config file...");
- saveDefaultConfig();
- }
- ItemMeta metaclick = click.getItemMeta();
- metaclick.setDisplayName("Click!!!");
- click.setItemMeta(metaclick);
- ItemMeta upgrade1m = upgrade1.getItemMeta();
- upgrade1m.setDisplayName(ChatColor.GREEN+"LVL up");
- upgrade1.setItemMeta(upgrade1m);
- ItemMeta upgrade2m = upgrade2.getItemMeta();
- upgrade2m.setDisplayName(ChatColor.GREEN+"Upgrade click pay");
- upgrade2.setItemMeta(upgrade2m);
- //lore sl1
- ItemMeta metasl1 = sl1.getItemMeta();
- metasl1.setDisplayName(ChatColor.AQUA + "Main Menu");
- metasl1.setLore(Lists.newArrayList("RMB to open the Main Menu"));
- sl1.setItemMeta(metasl1);
- //lore sl2
- ItemMeta metasl2 = sl2.getItemMeta();
- metasl2.setDisplayName(ChatColor.GRAY + "Balance");
- metasl2.setLore(Lists.newArrayList("RMB To check your balance"));
- sl2.setItemMeta(metasl2);
- //lore sl3
- ItemMeta metasl3 = barrier.getItemMeta();
- metasl3.setDisplayName(ChatColor.RED + "Back to Hub");
- barrier.setItemMeta(metasl3);
- //UpDATE
- new BukkitRunnable() {
- @Override
- public void run() {
- cfg_utils.save();
- getLogger().info("Saving...");
- }
- }.runTaskTimer(this, 1200, 1200);
- //class settings
- cfg_utils.classset(this);
- }
- @EventHandler
- public void join(PlayerJoinEvent e) {
- Player p = e.getPlayer();
- p.getInventory().clear();
- p.getInventory().setItem(0, sl1);
- p.getInventory().setItem(4, sl2);
- p.getInventory().setItem(8, barrier);
- p.setGameMode(GameMode.ADVENTURE);
- p.setFoodLevel(20);
- cfg_utils.saveNew(p.getName());
- p.teleport(w);
- sched1(p);
- };
- @EventHandler
- public void inter(PlayerInteractEvent e) {
- Player p = e.getPlayer();
- Action ac = e.getAction();
- if(ac == Action.RIGHT_CLICK_AIR || ac == Action.RIGHT_CLICK_BLOCK) {
- e.setCancelled(true);
- if(e.getItem() == null) return;
- if(e.getItem().equals(sl1)) {
- menu(p);
- }
- if(e.getItem().equals(sl2)) {
- double balance = cfg_utils.get(p.getName(), 0);
- String balances = math_utils.parsed(balance);
- p.sendMessage(ChatColor.AQUA + "Ваш баланс: " + ChatColor.GOLD+balances+"$");
- }
- if(e.getItem().equals(barrier)) {
- connect("lobby1", p);
- }
- }
- }
- @EventHandler
- public void message(PlayerChatEvent e) {
- chat_utils.message(e.getMessage());
- }
- public void sched1(Player p) {
- new BukkitRunnable() {
- double balance;
- double lvl;
- double lvl1;
- double income;
- @Override
- public void run() {
- balance = cfg_utils.get(p.getName(), 0);
- lvl =cfg_utils. get(p.getName(), 1);
- lvl1 = cfg_utils.get(p.getName(), 2);
- if(!Bukkit.getOnlinePlayers().contains(p)) this.cancel();
- income=lvl1/10;
- balance = balance+income;
- cfg_utils.set(p.getName(), balance+", "+lvl+", "+lvl1);
- if(p.getOpenInventory().getType() == InventoryType.CHEST) {
- menu(p);
- }
- }
- }.runTaskTimer(this, 20, 20);
- }
- private void connect(String s, Player p) {
- ByteArrayOutputStream b = new ByteArrayOutputStream();
- DataOutputStream out = new DataOutputStream(b);
- try {
- out.writeUTF("Connect");
- out.writeUTF(s);
- }
- catch (IOException eee) {
- }
- p.sendPluginMessage(this, "BungeeCord", b.toByteArray());
- }
- private void menu(Player p) {
- double lvl = cfg_utils.get(p.getName(), 1);
- double balance = cfg_utils.get(p.getName(), 0);
- double lvl1 = cfg_utils.get(p.getName(), 2);
- double cost1 = lvl*5;
- double cost2 = lvl1*5;
- Inventory inv;
- if(p.getOpenInventory().getType() != InventoryType.CHEST) {
- p.openInventory(Bukkit.createInventory(p, 5*9));
- p.sendMessage("123");
- }
- inv = p.getOpenInventory().getTopInventory();
- String balances = math_utils.parsed(balance);
- String lvls = math_utils.parsed(lvl);
- String lvl1s = math_utils.parsed(lvl1);
- String cost1s = math_utils.parsed(cost1);
- String cost2s = math_utils.parsed(cost2);
- ArrayList<String> al = new ArrayList<>();
- if(inv == null) {
- p.openInventory(Bukkit.createInventory(p, 5*9));
- inv = p.getOpenInventory().getTopInventory();
- p.openInventory(inv);
- }
- ItemMeta clickm = click.getItemMeta();
- al.add(ChatColor.GOLD+"Balance: "+balances+"$");
- clickm.setLore(al);
- click.setItemMeta(clickm);
- inv.setItem(22, click);
- al.clear();
- ItemMeta upgrade1m = upgrade1.getItemMeta();
- al.add(ChatColor.AQUA+"Current LVL: "+lvl1s);
- if(balance>=cost2) al.add(ChatColor.GREEN+"Money: "+ChatColor.GOLD+balances+"/"+cost2s+"$");
- else al.add(ChatColor.RED+"Money: "+balances+"/"+cost2s+"$");
- upgrade1m.setLore(al);
- upgrade1.setItemMeta(upgrade1m);
- inv.setItem(26, upgrade1);
- al.clear();
- ItemMeta upgrade2m = upgrade2.getItemMeta();
- al.add(ChatColor.AQUA+"Current LVL: "+lvls);
- if(balance>=cost1) al.add(ChatColor.GREEN+"Money: "+ChatColor.GOLD+balances+"/"+cost1s+"$");
- else al.add(ChatColor.RED+"Money: "+balances+"/"+cost1s+"$");
- upgrade2m.setLore(al);
- upgrade2.setItemMeta(upgrade2m);
- inv.setItem(18, upgrade2);
- p.updateInventory();
- }
- @EventHandler
- public void click1(InventoryClickEvent e) {
- e.setCancelled(true);
- Player p = (Player) e.getWhoClicked();
- double lvl = cfg_utils.get(e.getWhoClicked().getName(), 1);
- double balance = cfg_utils.get(e.getWhoClicked().getName(), 0);
- double lvl2 = cfg_utils.get(e.getWhoClicked().getName(), 2);
- double cost1 = lvl*5;
- double cost2 = lvl2*5;
- String balances = math_utils.parsed(balance);
- String cost1s = math_utils.parsed(cost1);
- String cost2s = math_utils.parsed(cost2);
- if(e.getCurrentItem() == null) return;
- if(e.getCurrentItem().equals(upgrade1)) {
- if(cost2 > balance) {
- e.getWhoClicked().sendMessage(ChatColor.RED + "У вас недостаточно денег.");
- e.getWhoClicked().closeInventory();
- return;
- }
- else {
- lvl2++;
- balance = balance - cost2;
- e.getWhoClicked().sendMessage(ChatColor.GREEN+"Покупка прошла успешно! Вы потратили: "+ChatColor.GOLD+cost2s+"$");
- cfg_utils.set(e.getWhoClicked().getName(), balance+", "+lvl+", "+lvl2);
- }
- }
- if(e.getCurrentItem().equals(upgrade2)) {
- if(cost1 > balance) {
- e.getWhoClicked().sendMessage(ChatColor.RED + "У вас недостаточно денег.");
- e.getWhoClicked().closeInventory();
- return;
- }
- else {
- lvl++;
- balance = balance - cost1;
- e.getWhoClicked().sendMessage(ChatColor.GREEN+"Покупка прошла успешно! Вы потратили: "+ChatColor.GOLD+cost1s+"$");
- cfg_utils.set(e.getWhoClicked().getName(), balance+", "+lvl+", "+lvl2);
- }
- }
- if(e.getCurrentItem().equals(click)) {
- double income = lvl/5;
- String incomes=math_utils.parsed(income);
- balance = balance + income;
- e.getWhoClicked().sendMessage(ChatColor.GREEN+"Зачисленно "+ChatColor.GOLD+incomes+"$, "+ChatColor.DARK_AQUA+"Баланс: "+ChatColor.GOLD+balances+"$");
- cfg_utils.set(e.getWhoClicked().getName(), balance+", "+lvl+", "+lvl2);
- }
- menu(p);
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if(cmd.equals(this.getCommand("delete"))) {
- if(!sender.isOp()) sender.sendMessage("You don't have permission to do that!");
- else {
- cfg_utils.delete(args[0]);
- }
- }
- if(cmd.equals(this.getCommand("suggest"))) {
- chat_utils.suggest(args);
- return true;
- }
- return true;
- }
- @EventHandler
- public void leave(PlayerQuitEvent e) {
- }
- @EventHandler
- public void throw1(PlayerDropItemEvent e) {
- e.setCancelled(true);
- }
- @EventHandler
- public void damage(EntityDamageEvent e) {
- e.setCancelled(true);
- }
- @EventHandler
- public void food(FoodLevelChangeEvent e) {
- e.setCancelled(true);
- }
- @EventHandler
- public void swap(PlayerSwapHandItemsEvent e) {
- e.setCancelled(true);
- }
- public void onDisable() {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment