Помогите Как получить рандомную строку из конфига

Статус
Закрыто для дальнейших ответов.

Den_Blade

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Den_Blade
Собственно нужно получить рандомную строку
Код:
chestset:
  loot1:
    items:
      '1':
        item:
          ==: org.*********ventory.ItemStack
          type: GOLD_INGOT
        amount: 1-1
        chance: 100
      '2':
        item:
          ==: org.*********ventory.ItemStack
          type: IRON_INGOT
        amount: 1-1
        chance: 100
      '3':
        item:
          ==: org.*********ventory.ItemStack
          type: DIAMOND
        amount: 1-1
        chance: 100
  loot2:
    items:
      '1':
        item:
          ==: org.*********ventory.ItemStack
          type: BUCKET
        amount: 1-1
        chance: 100
      '2':
        item:
          ==: org.*********ventory.ItemStack
          type: WATER_BUCKET
        amount: 1-1
        chance: 100
      '3':
        item:
          ==: org.*********ventory.ItemStack
          type: LAVA_BUCKET
        amount: 1-1
        chance: 100
  loot3:
    items:
      '1':
        item:
          ==: org.*********ventory.ItemStack
          type: DIAMOND_BLOCK
        amount: 1-1
        chance: 100
      '2':
        item:
          ==: org.*********ventory.ItemStack
          type: GOLD_BLOCK
        amount: 1-1
        chance: 100
      '3':
        item:
          ==: org.*********ventory.ItemStack
          type: EMERALD_BLOCK
        amount: 1-1
        chance: 100
А именно loo1 либо loot2 либо loot3
Хелп, как это сделать?
 
Собственно нужно получить рандомную строку
Код:
chestset:
  loot1:
    items:
      '1':
        item:
          ==: org.*********ventory.ItemStack
          type: GOLD_INGOT
        amount: 1-1
        chance: 100
      '2':
        item:
          ==: org.*********ventory.ItemStack
          type: IRON_INGOT
        amount: 1-1
        chance: 100
      '3':
        item:
          ==: org.*********ventory.ItemStack
          type: DIAMOND
        amount: 1-1
        chance: 100
  loot2:
    items:
      '1':
        item:
          ==: org.*********ventory.ItemStack
          type: BUCKET
        amount: 1-1
        chance: 100
      '2':
        item:
          ==: org.*********ventory.ItemStack
          type: WATER_BUCKET
        amount: 1-1
        chance: 100
      '3':
        item:
          ==: org.*********ventory.ItemStack
          type: LAVA_BUCKET
        amount: 1-1
        chance: 100
  loot3:
    items:
      '1':
        item:
          ==: org.*********ventory.ItemStack
          type: DIAMOND_BLOCK
        amount: 1-1
        chance: 100
      '2':
        item:
          ==: org.*********ventory.ItemStack
          type: GOLD_BLOCK
        amount: 1-1
        chance: 100
      '3':
        item:
          ==: org.*********ventory.ItemStack
          type: EMERALD_BLOCK
        amount: 1-1
        chance: 100
А именно loo1 либо loot2 либо loot3
Хелп, как это сделать?
Код:
List<String> sections = yourConfig.getConfigurationSection("chestset").getKeys(false);
String randomString = sections.get(ThreadLocalRandom.current().nextInt(sections.size()-1));
 
Код:
List<String> sections = yourConfig.getConfigurationSection("chestset").getKeys(false);
String randomString = sections.get(ThreadLocalRandom.current().nextInt(sections.size()-1));
Код:
java.lang.ClassCastException: java.util.LinkedHashSet cannot be cast to java.util.List
        at ModernAlien.TopoVskii1337.EntityAlien.load(EntityAlien.java:182) ~[?:?]
        at ModernAlien.TopoVskii1337.EntityAlien.<init>(EntityAlien.java:50) ~[?:?]
        at ModernAlien.TopoVskii1337.Alien.spawn(Alien.java:113) ~[?:?]
        at ModernAlien.TopoVskii1337.Alien$8.run(Alien.java:250) ~[?:?]
        at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:76) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:361) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
Такая ошибочка
 
Код:
java.lang.ClassCastException: java.util.LinkedHashSet cannot be cast to java.util.List
        at ModernAlien.TopoVskii1337.EntityAlien.load(EntityAlien.java:182) ~[?:?]
        at ModernAlien.TopoVskii1337.EntityAlien.<init>(EntityAlien.java:50) ~[?:?]
        at ModernAlien.TopoVskii1337.Alien.spawn(Alien.java:113) ~[?:?]
        at ModernAlien.TopoVskii1337.Alien$8.run(Alien.java:250) ~[?:?]
        at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:76) ~[spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:361) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:739) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-dcd1643-e60fc34]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
Такая ошибочка
Код:
Set<String> sections = yourConfig.getConfigurationSection("chestset").getKeys(false);
String randomString = sections.get(ThreadLocalRandom.current().nextInt(sections.size()-1));
 

Вложения

  • Screenshot_45.png
    Screenshot_45.png
    18,4 КБ · Просмотры: 4
  • Screenshot_46.png
    Screenshot_46.png
    21,2 КБ · Просмотры: 4
Я знаю, я тупанул. Вот :d
Код:
Set<String> sections = getConfig().getConfigurationSection("chestset").getKeys(false);
String randomString = "";
Iterator<String> stringIterator = sections.iterator();
for(int i = 0; i <= ThreadLocalRandom.current().nextInt(sections.size()-1); i++) {
    randomString = stringIterator.next();
}
 
Я знаю, я тупанул. Вот :d
Код:
Set<String> sections = getConfig().getConfigurationSection("chestset").getKeys(false);
String randomString = "";
Iterator<String> stringIterator = sections.iterator();
for(int i = 0; i <= ThreadLocalRandom.current().nextInt(sections.size()-1); i++) {
    randomString = stringIterator.next();
}
Спасибо большое!!!!!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх