Я разрабатываю игровое дополнение для Minecraft и столкнулся со следующей проблемой. Когда я выполняю команду на добавление клана, то происходит следующая ошибка:
java.lang.IllegalStateException: Duplicate key 9c302870-14f3-11e8-9c12-0cc47adb3506
Stacktrace:
Couldn't process command: 'clansystem createClan WaR Warriors! EFCtechnical &7 &7'
java.lang.IllegalStateException: Duplicate key 9c302870-14f3-11e8-9c12-0cc47adb3506
at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133) ~[?:1.8.0_191]
at java.util.HashMap.merge(HashMap.java:1254) ~[?:1.8.0_191]
at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320) ~[?:1.8.0_191]
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) ~[?:1.8.0_191]
at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[?:1.8.0_191]
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[?:1.8.0_191]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:1.8.0_191]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:1.8.0_191]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:1.8.0_191]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_191]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:1.8.0_191]
at ru.minebot.mbotcoremod.utils.Utils.invert(Utils.java:86) ~[Utils.class:?]
at ru.minebot.clanmod.clansystem.ClanSystemCommand.func_71515_b(ClanSystemCommand.java:44) ~[ClanSystemCommand.class:?]
at net.minecraft.command.CommandHandler.func_71556_a(CommandHandler.java:99) [z.class:?]
at org.bukkit.craftbukkit.v1_7_R4.command.CraftSimpleCommandMap.dispatch(CraftSimpleCommandMap.java:51) [CraftSimpleCommandMap.class:1.7.10-1614.58]
at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchVanillaCommand(CraftServer.java:756) [CraftServer.class:1.7.10-1614.58]
at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchServerCommand(CraftServer.java:724) [CraftServer.class:1.7.10-1614.58]
at net.minecraft.server.dedicated.DedicatedServer.func_71333_ah(DedicatedServer.java:474) [lt.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:433) [lt.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:841) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:693) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
А вот код, который судя по всему вызывает ошибку.
// Меняет местами keys и values
public static <V, K> Map<V, K> invert(Map<K, V> map) {
return map.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getValue, c -> c.getKey()));
}
Этот код позволяет в дальнейшем получать UUID игрока по его никнейму. Но проблема в том, что такого key как UUID (9c302870-14f3-11e8-9c12-0cc47adb3506) не существует в игровом мире!
Что мне делать с этим?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей