Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.ss;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.Particle;
- import org.bukkit.Sound;
- import org.bukkit.block.Block;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.scheduler.BukkitRunnable;
- public class GUI implements Listener{
- public static String colorTranslator(String mess){
- mess = mess.replace("&", "\u00a7");
- return mess;
- }
- private static maena plugin;
- public GUI(maena plugin){
- this.plugin = plugin;
- }
- static String s = ChatColor.ITALIC + "Открыть свой кейс";
- public static void openGUI(Player p){
- int cases = plugin.getConfig().getInt("users." + p.getName() + ".new");
- Inventory inv = Bukkit.createInventory(null, 45, s);
- inv.setItem(22, GraphicInterFaceUtils.create(Material.ENDER_CHEST, 1, (byte)0,
- ChatColor.GREEN + "" + ChatColor.ITALIC + "Открыть кейс",
- ChatColor.AQUA + "Купить можно на сайте " + ChatColor.GOLD + "spokecraft.ru",
- ChatColor.GRAY + "У вас " + ChatColor.GREEN + cases + " кейсов!",ChatColor.GRAY + "-----------------"));
- for(int k = 0; k <=8; k++){
- inv.setItem(k, GraphicInterFaceUtils.create(Material.STAINED_GLASS_PANE, 1, (byte) 1, ChatColor.GOLD + "Покупать на сайте: " + ChatColor.GREEN + "spokecraft.ru", ChatColor.BLUE + "Это наш собственный плагин на кейсы!", null, null));
- }
- for(int k = 36; k <=44; k++){
- inv.setItem(k, GraphicInterFaceUtils.create(Material.STAINED_GLASS_PANE, 1, (byte) 1, ChatColor.GOLD + "Покупать на сайте: " + ChatColor.GREEN + "spokecraft.ru", ChatColor.BLUE + "Это наш собственный плагин на кейсы!", null, null));
- }
- inv.setItem(9, GraphicInterFaceUtils.create(Material.STAINED_GLASS_PANE, 1, (byte) 2, ChatColor.GOLD + "Покупать на сайте: " + ChatColor.GREEN + "spokecraft.ru", ChatColor.BLUE + "Это наш собственный плагин на кейсы!", null, null));
- inv.setItem(17, GraphicInterFaceUtils.create(Material.STAINED_GLASS_PANE, 1, (byte) 3, ChatColor.GOLD + "Покупать на сайте: " + ChatColor.GREEN + "spokecraft.ru", ChatColor.BLUE + "Это наш собственный плагин на кейсы!", null, null));
- inv.setItem(18, GraphicInterFaceUtils.create(Material.STAINED_GLASS_PANE, 1, (byte) 4, ChatColor.GOLD + "Покупать на сайте: " + ChatColor.GREEN + "spokecraft.ru", ChatColor.BLUE + "Это наш собственный плагин на кейсы!", null, null));
- inv.setItem(26, GraphicInterFaceUtils.create(Material.STAINED_GLASS_PANE, 1, (byte) 5, ChatColor.GOLD + "Покупать на сайте: " + ChatColor.GREEN + "spokecraft.ru", ChatColor.BLUE + "Это наш собственный плагин на кейсы!", null, null));
- inv.setItem(27, GraphicInterFaceUtils.create(Material.STAINED_GLASS_PANE, 1, (byte) 6, ChatColor.GOLD + "Покупать на сайте: " + ChatColor.GREEN + "spokecraft.ru", ChatColor.BLUE + "Это наш собственный плагин на кейсы!", null, null));
- inv.setItem(35, GraphicInterFaceUtils.create(Material.STAINED_GLASS_PANE, 1, (byte) 7, ChatColor.GOLD + "Покупать на сайте: " + ChatColor.GREEN + "spokecraft.ru", ChatColor.BLUE + "Это наш собственный плагин на кейсы!", null, null));
- p.openInventory(inv);
- }
- public void broadcastAboutDonateWin(String donate, Player p, int chancePrcents){
- String line = "&6======================================================";
- String s = "&fИгрок &9&l" + p.getName() + " &fвыбил в кейсе привелегию " + donate + "&f с шансом &a" + chancePrcents +"%, поздравим его!";
- String s1 = "&fЕсли вы тоже хотите открыть кейс, купите его у нас на сайте &a&lspokecraft.ru";
- line = line.replace("&", "\u00a7");
- s = s.replace("&", "\u00a7");
- s1 = s1.replace("&", "\u00a7");
- donate.replace("&", "\u00a7");
- Bukkit.broadcastMessage(line);
- Bukkit.broadcastMessage(s);
- Bukkit.broadcastMessage(s1);
- Bukkit.broadcastMessage(line);
- }
- public void giveDonate(Player p, String donate){
- Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "pex user " + p.getName() + " group set " + donate);
- }
- public static Location setDirection(Location loc, Location lookat) {
- loc = loc.clone();
- double dx = lookat.getX() - loc.getX();
- double dy = lookat.getY() - loc.getY();
- double dz = lookat.getZ() - loc.getZ();
- if (dx != 0) {
- if (dx < 0) {
- loc.setYaw((float) (1.5 * Math.PI));
- } else {
- loc.setYaw((float) (0.5 * Math.PI));
- }
- loc.setYaw((float) loc.getYaw() - (float) Math.atan(dz / dx));
- } else if (dz < 0) {
- loc.setYaw((float) Math.PI);
- }
- double dxz = Math.sqrt(Math.pow(dx, 2) + Math.pow(dz, 2));
- loc.setPitch((float) -Math.atan(dy / dxz));
- loc.setYaw(-loc.getYaw() * 180f / (float) Math.PI);
- loc.setPitch(loc.getPitch() * 180f / (float) Math.PI);
- return loc;
- // <3 AlexRange :3
- }
- @EventHandler
- public void inventoryClick(InventoryClickEvent e){
- Player p = (Player)e.getWhoClicked();
- if(e.getInventory().getName().equalsIgnoreCase(s)){
- e.setCancelled(true);
- if(e.getCurrentItem().getType() == Material.ENDER_CHEST){
- p.closeInventory();
- if(plugin.getConfig().getInt("users." + p.getName() + ".new") == 0){
- p.sendMessage(ChatColor.YELLOW + "Кейс можно преобрести у нас на сайте: " + ChatColor.GREEN + "spokecraft.ru");
- Block b = Bukkit.getWorld("world").getBlockAt(plugin.getConfig().getInt("cases.new.x"), plugin.getConfig().getInt("cases.new.y"), plugin.getConfig().getInt("cases.new.z"));
- Location loc = setDirection(b.getLocation().add(0.5,0.5,0.5), p.getLocation());
- p.setVelocity(loc.getDirection());
- return;
- } else {
- //А вот тут начинается настоящий хардкор :D
- plugin.getConfig().set("users." + p.getName() + ".new", plugin.getConfig().getInt("users." + p.getName() + ".new") - 1);
- plugin.saveConfig();
- Bukkit.broadcastMessage(ChatColor.GOLD + "" + ChatColor.BOLD + "*" + ChatColor.WHITE +"Игрок " + ChatColor.GREEN + p.getName() + ChatColor.WHITE + " открыл кейс... Пожелаем ему удачи :3");
- Block b = Bukkit.getWorld("world").getBlockAt(plugin.getConfig().getInt("cases.new.x"), plugin.getConfig().getInt("cases.new.y"), plugin.getConfig().getInt("cases.new.z"));
- b.setType(Material.AIR);
- p.getWorld().playSound(p.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1, 1);
- p.getWorld().spawnParticle(Particle.CLOUD, b.getLocation(), 25);
- Block plate = p.getWorld().getBlockAt(b.getX(), b.getY()-1, b.getZ());
- plate.setType(Material.WOOL);
- //p.setDisplayName(p.getName() + colorTranslator(" &aоткрывает кейс..."));
- //TODO HERE VVV (Сюда смотрите в общем ================================================
- //Кейсы в общем... А это генератор частиц, звука и дата-чейнджера...
- new BukkitRunnable() {
- double k = 10;
- byte task = 1;
- @SuppressWarnings("deprecation") //Все равно деприкатен ((
- @Override
- public void run() {
- if(task <= 15){
- task++;
- } else {
- task = 1;
- }
- k -= 0.063;
- p.getWorld().spawnParticle(Particle.VILLAGER_HAPPY, b.getX()+0.5, b.getY() + k, b.getZ()+0.5, 2);
- p.getWorld().spawnParticle(Particle.CRIT_MAGIC, b.getX()+0.5, b.getY() + k, b.getZ()+0.5, 4);
- p.getWorld().playSound(p.getLocation(), Sound.BLOCK_WOOD_STEP, 10F, 0.1F);
- p.getWorld().getBlockAt(b.getX(), b.getY()-1, b.getZ());
- plate.setData(task, true);
- if(k<=0) this.cancel();
- }
- }.runTaskTimer(plugin, 0, 1);
- //==============================================================================================
- double vero = Math.random();
- Bukkit.getScheduler().runTaskLater(plugin, new Runnable() { public void run() {
- for(int i = 0; i == 0; i++){
- //Дыра #9
- if(0.99 <= vero && vero <= 1){
- giveDonate(p, "galaxy");
- broadcastAboutDonateWin("&7&l&k|||&8&l{&1&l&o&nGALAXY&8&l}&7&l&k|||", p, 1);
- p.getWorld().playSound(p.getLocation(), Sound.UI_TOAST_CHALLENGE_COMPLETE, 1, 1);
- break;
- }
- //Нейтрон #8
- if(0.97 <= vero && vero <= 0.99){
- giveDonate(p, "netron");
- broadcastAboutDonateWin("&0&f&k|&c&l{&7&l&oNeutronStar&c&l}&f&l&k|", p, 3);
- p.getWorld().playSound(p.getLocation(), Sound.UI_TOAST_CHALLENGE_COMPLETE, 1, 1);
- break;
- }
- if(0.92 <= vero && vero <= 0.97){
- giveDonate(p, "quazar");
- broadcastAboutDonateWin("&a&l&o{&2&l&n&oQUAZAR&a&l&o}", p, 5);
- p.getWorld().playSound(p.getLocation(), Sound.UI_TOAST_CHALLENGE_COMPLETE, 1, 1);
- break;
- }
- if(0.83 <= vero && vero <= 0.92){
- giveDonate(p, "star");
- broadcastAboutDonateWin("&f&l&o[&e&o&l&nЗВЕЗДА&f&l&o]", p, 9);
- p.getWorld().playSound(p.getLocation(), Sound.ENTITY_CAT_PURREOW, 1, 1);
- break;
- }
- if(0.74 <= vero && vero <= 0.83){
- giveDonate(p, "giant");
- broadcastAboutDonateWin("&6&l[ГИГАНТ]", p, 11);
- p.getWorld().playSound(p.getLocation(), Sound.ENTITY_CAT_PURREOW, 1, 1);
- break;
- }
- if(0.61 <= vero && vero <= 0.74){
- giveDonate(p, "planet");
- broadcastAboutDonateWin("&a[&b&lП&a&lл&b&lа&a&lн&b&lе&a&lт&b&lа&a]", p, 13);
- p.getWorld().playSound(p.getLocation(), Sound.ENTITY_CAT_PURREOW, 1, 1);
- break;
- }
- if(0.44 <= vero && vero <= 0.61){
- giveDonate(p, "sput");
- broadcastAboutDonateWin("&8[&a&lСпутник&8]", p, 16);
- p.getWorld().playSound(p.getLocation(), Sound.ENTITY_CAT_PURREOW, 1, 1);
- break;
- }
- if(0.24 <= vero && vero <= 0.44){
- giveDonate(p, "comet");
- broadcastAboutDonateWin("&3[&b&oКомета&3]", p, 20);
- p.getWorld().playSound(p.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1, 1);
- break;
- }
- if(0 <= vero && vero <= 0.24){
- giveDonate(p, "asteroid");
- broadcastAboutDonateWin("&9[&c&oАстероид&9]", p, 24);
- p.getWorld().playSound(p.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1, 1);
- break;
- }
- }
- }}, 20*5);
- Bukkit.getScheduler().runTaskLater(plugin, new Runnable() { public void run() {
- p.getWorld().playSound(p.getLocation(), Sound.ENTITY_CHICKEN_EGG, 1, 1);
- p.getWorld().spawnParticle(Particle.CLOUD, b.getLocation(), 25);
- b.setType(Material.ENDER_CHEST);
- //p.setDisplayName(p.getName());
- return;
- }}, 20*8);
- }
- }
- if(e.getCurrentItem().getType() == Material.STAINED_GLASS_PANE){
- p.closeInventory();
- e.setCancelled(true);
- p.sendMessage(ChatColor.GREEN + "Вы можете купить кейс на сайте " + ChatColor.YELLOW + "spokecraft.ru");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment