1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Достать локации из конфига и загрузить их в событие

Тема в разделе "Разработка плагинов для новичков", создана пользователем kefavova, 8 мар 2018.

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

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Всем привет. Создал лист, сохранил в листе координаты блока. Только теперь есть проблема - как достать с листа координаты и загрузить их в действие getLocation().distance(loc)
    loc = координаты из листа.
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
  3. Автор темы
    kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Посмотрел не нашёл(
    Пробовал сделать через for(Location l : list) {}
    но почему-то у меня вышла ошибка(
     
  4. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
  5. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Доставай локацию с помощью метода get:

    Location loc = (Location) config.get("your.path")
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Там есть все, запись и чтение. Конфиг почанковый, не грузится разом в оперативку. Подходит для всяких блочных приватов, креатив контролей и прочего.
     
  7. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    И смысл ему толкать твое супер-пуперское что-то-там, если он просто не знает, как прочесть из конфига объект?
     
  8. Автор темы
    kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Вышла ошибка... В консоле причину указывает имену на строку Location loc = (Location) config.get("Loc");
     
    Последнее редактирование: 8 мар 2018
  9. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Скинь ошибку
     
  10. Автор темы
    kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Может надо брать через integer?
     
  11. Автор темы
    kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:125) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at net.minecraft.server.v1_8_R1.ItemStack.placeItem(ItemStack.java:154) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at net.minecraft.server.v1_8_R1.PlayerInteractManager.interact(PlayerInteractManager.java:503) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:724) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:50) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:80) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_151]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_151]
    at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
    Caused by: java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.bukkit.Location
    at ru.Afek.Main.Main.onPlace(Main.java:50) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_151]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_151]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
    ... 17 more
     
  12. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Чего?
     
  13. Автор темы
    kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Я думаю все что записало в лист это число
     
  14. Автор темы
    kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Тут есть одна ошибочка мне надо достать объект из ЛИСТА а не из конфига (как достать из конфига я и сам знаю)
     
  15. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Ну? Используй for each
    Код:
    for(Localtion loc : list) {
     //Магия
    }
     
  16. Автор темы
    kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Код:
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:305) ~[spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at org.bukkit.craftbukkit.v1_8_R1.event.CraftEventFactory.callBlockPlaceEvent(CraftEventFactory.java:125) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at net.minecraft.server.v1_8_R1.ItemStack.placeItem(ItemStack.java:154) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at net.minecraft.server.v1_8_R1.PlayerInteractManager.interact(PlayerInteractManager.java:503) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at net.minecraft.server.v1_8_R1.PlayerConnection.a(PlayerConnection.java:724) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:50) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at net.minecraft.server.v1_8_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:80) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at net.minecraft.server.v1_8_R1.PacketHandleTask.run(SourceFile:13) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_151]
            at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_151]
            at net.minecraft.server.v1_8_R1.MinecraftServer.z(MinecraftServer.java:696) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:316) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:634) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:537) [spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
    Caused by: java.lang.ClassCastException: java.util.HashMap cannot be cast to org.bukkit.Location
            at ru.Afek.Main.Main.onPlace(Main.java:50) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_151]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_151]
            at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_151]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ~[spigot-1.8.jar:git-Spigot-eb87f2b-ee6d0fa]
            ... 17 more
    >
    
     
  17. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Короче, тут сложные махинации с превращением HashMap в Location.
    Погугли ConfigurationSerializable, может разберешься
     
  18. Автор темы
    kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Я правильно думаю? Надо использовать такой код:
    Код:
    for (Location : config.getConfigurationSection("Loc").getKeys(false)) {
                }
     
  19. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Да нет, у тебя в листе записаны Locations, верно?
     
  20. Автор темы
    kefavova

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

    Баллы:
    76
    Имя в Minecraft:
    Afek
    Да
     
Статус темы:
Закрыта.

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