Помогите Перемещаем игроков из списка массива

  • Автор темы Автор темы SaMEC
  • Дата начала Дата начала

SaMEC

Старожил
Пользователь
Баллы
173
Имя в Minecraft
Nick
Собственно как все происходит, игроки заходят в регион их записывает в список, выходят их удаляет от туда. Ошибку выдает на этой строке.
Код:
public void Start(){
            Bukkit.getScheduler().runTaskLater(m, () -> {
                int sizep = inportal.size();
                for(int i=0; i<=sizep;i++){
                    if(inportal.get(i) != null){
                    String pl = inportal.get(i);
                    Player p = Bukkit.getPlayer(pl);
                    p.teleport(new Location(Bukkit.getWorld("world"),-122, 67.5, 95.5, -179.1f, 3.9f));
                    }
                }
            },3*20);
     }
Мое предположение, что когда игрока телепортирует то в списке меняется его индекс. Т.к. игрока удаляет из списка или хз в общем. Как можно исправить шаманю уже давно не могу обойти этот вопрос.

Код:
>[2K [16:45:37 WARN]: [CoreRPG] Task #566627 for MyPugin v1.0 generated an exception
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:657) ~[?:1.8.0_181]
at java.util.ArrayList.get(ArrayList.java:433) ~[?:1.8.0_181]
at ru.meedway.myplugin.Main.lambda$BossStart$0(Main.java:1216) ~[?:?]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:71) ~[craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f]
at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:353) [craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739) [craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]

2. И еще один небольшой вопрос, как можно из статичного метода взять значение и перенести его в не статичный. (Просто нужно передать информацию из одного плагина в другой)
 
Последнее редактирование:
Собственно как все происходит, игроки заходят в регион их записывает в список, выходят их удаляет от туда. Ошибку выдает на этой строке.
Код:
public void Start(){
            Bukkit.getScheduler().runTaskLater(m, () -> {
                int sizep = inportal.size();
                for(int i=0; i<=sizep;i++){
                    if(inportal.get(i) != null){
                    String pl = inportal.get(i);
                    Player p = Bukkit.getPlayer(pl);
                    p.teleport(new Location(Bukkit.getWorld("world"),-122, 67.5, 95.5, -179.1f, 3.9f));
                    }
                }
            },3*20);
     }
Мое предположение, что когда игрока телепортирует то в списке меняется его индекс. Т.к. игрока удаляет из списка или хз в общем. Как можно исправить шаманю уже давно не могу обойти этот вопрос.

Потому что нужно i < sizep
У тебя размер коллекции 0, и оно проходит i <= sizep, отсюда пытается взять несуществующий 1 элемент.
 
2. И еще один небольшой вопрос, как можно из статичного метода взять значение и перенести его в не статичный. (Просто нужно передать информацию из одного плагина в другой)
А в чем проблема? Как бы это материал любой книжки по джаве для начинающих.
 
at net.minecraft.server.v1_12_R1.PropertyManager.savePropertiesFile(PropertyManager.java:84) [craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f]
at net.minecraft.server.v1_12_R1.PropertyManager.a(PropertyManager.java:67) [craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f] Помогите с ошибкой сервер не включается
 
at net.minecraft.server.v1_12_R1.PropertyManager.savePropertiesFile(PropertyManager.java:84) [craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f]
at net.minecraft.server.v1_12_R1.PropertyManager.a(PropertyManager.java:67) [craftbukkit-spigot-1.12.2.jar:git-Spigot-93e20b3-e8b6e4f] Помогите с ошибкой сервер не включается
Сходи к офтальмологу. Эта тема о другом и стара как мир.
 
Назад
Верх