Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите ArrayList очищается сам по себе

Тема в разделе "Помощь", создана пользователем Dan_Ender, 7 окт 2016.

Статус темы:
Закрыта.
  1. Автор темы
    Dan_Ender

    Dan_Ender Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    Dan_Ender
    Когда захожу в игру(joinmap) меня добавляет в PlayersInGame, но когда начинаю игру(startgame) меня там уже нет!!!
    Как исправить?

    Код:
    package ru.Dan_Ender.bedwars.maps;
    
    import java.util.ArrayList;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerInteractEvent;
    
    import ru.Dan_Ender.main.BWMenu;
    import ru.Dan_Ender.main.BWUtil;
    
    public class map1 implements Listener {
        //vars
        //locations
        World Kingdoms4x4 = Bukkit.getWorld("Kingdoms4x4");
        Location loc1 = new Location(Kingdoms4x4, 109, 52, 390);
        Location teamgreenspawn = new Location(Kingdoms4x4, 102, 10, 264);
        Location teamredspawn = new Location(Kingdoms4x4, 235, 10, 383);
        Location teambluespawn = new Location(Kingdoms4x4, -16, 10, 397);
        Location teamyellowspawn = new Location(Kingdoms4x4, 116, 10, 516);
        Location goldspawn1 = new Location(Kingdoms4x4, 112, 9, 390);
        Location goldspawn2 = new Location(Kingdoms4x4, 109, 9, 393);
        Location goldspawn3 = new Location(Kingdoms4x4, 106, 9, 390);
        Location goldspawn4 = new Location(Kingdoms4x4, 109, 9, 387);
        Location ironspawn1 = new Location(Kingdoms4x4, 109, 9, 351);
        Location ironspawn2 = new Location(Kingdoms4x4, 148, 9, 390);
        Location ironspawn3 = new Location(Kingdoms4x4, 109, 9, 429);
        Location ironspawn4 = new Location(Kingdoms4x4, 70, 9, 390);
        Location bronzespawn1 = new Location(Kingdoms4x4, 99, 8, 275);
        Location bronzespawn2 = new Location(Kingdoms4x4, -5, 8, 400);
        Location bronzespawn3 = new Location(Kingdoms4x4, 119, 8, 505);
        Location bronzespawn4 = new Location(Kingdoms4x4, 224, 8, 380);
        //teams
        ArrayList<String> PlayersInGame = new ArrayList<String>();
        ArrayList<String> TeamGreen = new ArrayList<String>();
        ArrayList<String> TeamRed = new ArrayList<String>();
        ArrayList<String> TeamYellow = new ArrayList<String>();
        ArrayList<String> TeamBlue = new ArrayList<String>();
        //players
       
        //code
        public void joinmap(Player p) {
            p.teleport(loc1);
            PlayersInGame.add(p.getName());
            p.sendMessage(PlayersInGame.toString());
            p.getInventory().setItem(0, BWUtil.create(Material.BED, 1, (byte)0, "§fBedWars | Выбор команды", null, null, null));
        }
        public void teamjoingreen(Player p) {
            TeamGreen.add(p.getName());
            p.sendMessage(PlayersInGame.toString());
            p.sendMessage("§6§lBedWars §f| Вы присоединились к команде §aЗелёных");
        }
        public void teamjoinred(Player p) {
            TeamRed.add(p.getName());
            p.sendMessage(PlayersInGame.toString());
            p.sendMessage("§6§lBedWars §f| Вы присоединились к команде §cКрасных");
        }
        public void teamjoinblue(Player p) {
            TeamBlue.add(p.getName());
            p.sendMessage(PlayersInGame.toString());
            p.sendMessage("§6§lBedWars §f| Вы присоединились к команде §9Синих");
        }
        public void teamjoinyellow(Player p) {
            TeamYellow.add(p.getName());
            p.sendMessage(PlayersInGame.toString());
            p.sendMessage("§6§lBedWars §f| Вы присоединились к команде §eЖёлтых");
        }
       
        public void startgame(Player p) {
            p.sendMessage(PlayersInGame.toString());
            if (PlayersInGame.size()==2) {
                Player p1 = Kingdoms4x4.getPlayers().get(1);
                Player p2 = Kingdoms4x4.getPlayers().get(2);
                //p1   
                if (PlayersInGame.contains(p1.getName())) {
                    p1.sendMessage("BedWars | Игра началась!");
                }
                if (TeamGreen.contains(p1.getName())) {
                    p1.teleport(teamgreenspawn);
                }
                if (TeamRed.contains(p1.getName())) {
                    p1.teleport(teamredspawn);
                }
                if (TeamBlue.contains(p1.getName())) {
                    p1.teleport(teambluespawn);
                }
                if (TeamYellow.contains(p1.getName())) {
                    p1.teleport(teamyellowspawn);
                }
                //p2   
                if (PlayersInGame.contains(p2.getName())) {
                    p2.sendMessage("BedWars | Игра началась!");
                }
                if (TeamGreen.contains(p2.getName())) {
                    p2.teleport(teamgreenspawn);
                }
                if (TeamRed.contains(p2.getName())) {
                    p2.teleport(teamredspawn);
                }
                if (TeamBlue.contains(p2.getName())) {
                    p2.teleport(teambluespawn);
                }
                    if (TeamYellow.contains(p2.getName())) {
                    p2.teleport(teamyellowspawn);
                }
            }
           
            /*Player p1 = Kingdoms4x4.getPlayers().get(1);
            Player p2 = Kingdoms4x4.getPlayers().get(2);
            Player p3 = Kingdoms4x4.getPlayers().get(3);
            Player p4 = Kingdoms4x4.getPlayers().get(4);
            Player p5 = Kingdoms4x4.getPlayers().get(5);
            Player p6 = Kingdoms4x4.getPlayers().get(6);
            Player p7 = Kingdoms4x4.getPlayers().get(7);
            Player p8 = Kingdoms4x4.getPlayers().get(8);
            Player p9 = Kingdoms4x4.getPlayers().get(9);
            Player p10 = Kingdoms4x4.getPlayers().get(10);
            Player p11 = Kingdoms4x4.getPlayers().get(11);
            Player p12 = Kingdoms4x4.getPlayers().get(12);
            Player p13 = Kingdoms4x4.getPlayers().get(13);
            Player p14 = Kingdoms4x4.getPlayers().get(14);
            Player p15 = Kingdoms4x4.getPlayers().get(15);
            Player p16 = Kingdoms4x4.getPlayers().get(16);*/
           
            Bukkit.getScheduler().scheduleSyncRepeatingTask(Bukkit.getPluginManager().getPlugin("DWBedWars"), new Runnable() {
                public void run() {
                    Kingdoms4x4.dropItem(goldspawn1, BWUtil.create(Material.GOLD_INGOT, 1, (byte)0, "§eЗолото", null, null, null));       
                    Kingdoms4x4.dropItem(goldspawn2, BWUtil.create(Material.GOLD_INGOT, 1, (byte)0, "§eЗолото", null, null, null));
                    Kingdoms4x4.dropItem(goldspawn3, BWUtil.create(Material.GOLD_INGOT, 1, (byte)0, "§eЗолото", null, null, null));
                    Kingdoms4x4.dropItem(goldspawn4, BWUtil.create(Material.GOLD_INGOT, 1, (byte)0, "§eЗолото", null, null, null));
            }
               
            }, 0, 600L);
            Bukkit.getScheduler().scheduleSyncRepeatingTask(Bukkit.getPluginManager().getPlugin("DWBedWars"), new Runnable() {
                public void run() {
                    Kingdoms4x4.dropItem(ironspawn1, BWUtil.create(Material.IRON_INGOT, 1, (byte)0, "§7Железо", null, null, null));
                    Kingdoms4x4.dropItem(ironspawn2, BWUtil.create(Material.IRON_INGOT, 1, (byte)0, "§7Железо", null, null, null));
                    Kingdoms4x4.dropItem(ironspawn3, BWUtil.create(Material.IRON_INGOT, 1, (byte)0, "§7Железо", null, null, null));
                    Kingdoms4x4.dropItem(ironspawn4, BWUtil.create(Material.IRON_INGOT, 1, (byte)0, "§7Железо", null, null, null));
            }
               
            }, 0, 300L);
            Bukkit.getScheduler().scheduleSyncRepeatingTask(Bukkit.getPluginManager().getPlugin("DWBedWars"), new Runnable() {
                public void run() {
                    Kingdoms4x4.dropItem(bronzespawn1, BWUtil.create(Material.CLAY_BRICK, 1, (byte)0, "§fБронза", null, null, null));
                    Kingdoms4x4.dropItem(bronzespawn1, BWUtil.create(Material.CLAY_BRICK, 1, (byte)0, "§fБронза", null, null, null));
                    Kingdoms4x4.dropItem(bronzespawn1, BWUtil.create(Material.CLAY_BRICK, 1, (byte)0, "§fБронза", null, null, null));
                    Kingdoms4x4.dropItem(bronzespawn1, BWUtil.create(Material.CLAY_BRICK, 1, (byte)0, "§fБронза", null, null, null));
            }
               
            }, 0, 30L);
            /*/p1   
            if (PlayersInGame.contains(p1.getName())) {
                p1.sendMessage("BedWars | Игра началась!");
            }
            if (TeamGreen.contains(p1.getName())) {
                p1.teleport(teamgreenspawn);
            }
            if (TeamRed.contains(p1.getName())) {
                p1.teleport(teamredspawn);
            }
            if (TeamBlue.contains(p1.getName())) {
                p1.teleport(teambluespawn);
            }
            if (TeamYellow.contains(p1.getName())) {
                p1.teleport(teamyellowspawn);
            }
            //p2   
            if (PlayersInGame.contains(p2.getName())) {
                p2.sendMessage("BedWars | Игра началась!");
            }
            if (TeamGreen.contains(p2.getName())) {
                p2.teleport(teamgreenspawn);
            }
            if (TeamRed.contains(p2.getName())) {
                p2.teleport(teamredspawn);
            }
            if (TeamBlue.contains(p2.getName())) {
                p2.teleport(teambluespawn);
            }
                if (TeamYellow.contains(p2.getName())) {
                p2.teleport(teamyellowspawn);
            }
            /*if (PlayersInGame.contains(p.getName())) {
                p.sendMessage("BedWars | Игра началась!");
            }
            if (TeamGreen.contains(p.getName())) {
                p.teleport(teamgreenspawn);
            }
            if (TeamRed.contains(p.getName())) {
                p.teleport(teamredspawn);
            }
            if (TeamBlue.contains(p.getName())) {
                p.teleport(teambluespawn);
            }
            if (TeamYellow.contains(p.getName())) {
                p.teleport(teamyellowspawn);
            }*/
        }
        public void gameend() {
            Bukkit.getScheduler().cancelTask(1);
            PlayersInGame.clear();
            TeamGreen.clear();
            TeamBlue.clear();
            TeamRed.clear();
            TeamYellow.clear();
        }
       
        @EventHandler
        public void onInteract(PlayerInteractEvent i) {
            Player p = i.getPlayer();
            if (i.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§fBedWars | Выбор команды")) {
                BWMenu.createinv2(p);
                p.sendMessage("test ok");
            }
        }
    }
    
     
  2. Хостинг MineCraft
    <
  3. deadanykey

    deadanykey Активный участник Пользователь

    Баллы:
    96
    Player p1 = Kingdoms4x4.getPlayers().get(1);
    Player p2 = Kingdoms4x4.getPlayers().get(2);

    Это верно?
    Нумерация массива с нуля же.

    Player p1 = Kingdoms4x4.getPlayers().get(0);
    Player p2 = Kingdoms4x4.getPlayers().get(1);

    Не?
     
  4. deadanykey

    deadanykey Активный участник Пользователь

    Баллы:
    96
    Да пусть тренируется :nerd:
    Все когда-то говнокодили.
     
Статус темы:
Закрыта.

Поделиться этой страницей