0
Я bukkit jython/python плагин кодер, но я застрял здесь. У меня есть array.array (так ArrayList), который предварительно создается сервером и возвращает список онлайн-игроков.Проверьте, есть ли каждый конкретный элемент в списке в hashmap?
Вот это:
online = Bukkit.getOnlinePlayers()
Так что я хочу? (Проверить #hashcomments)
Я создал эту HashMap():
channelList = HashMap()
@hook.command("channel", usage="/channel [channelname]", desc="Use this command to join an channel!",
aliases = ["c", "cjoin", "cj"])
def channel(sender, command, args):
channel = args[0]
channelList.put(sender, channel) #so if player does /channel balkan command it puts his name and channel (balkan in this case) in hashmap...
sender.sendMessage("%sYou've successfully joined %s %s %s channel!"%(bukkit.ChatColor.DARK_AQUA, bukkit.ChatColor.AQUA, channel, bukkit.ChatColor.DARK_AQUA))
return True
@hook.event("player.PlayerChatEvent", "NORMAL")
def onPlayerChatEvent(event):
p = event.getPlayer()
message = event.getMessage()
messagesubstring = message[:1]
event.setCancelled(1)
playername = event.getPlayer().getDisplayName()
if messagesubstring == "!":
plist1 = #How do I get this list? It's list of players that are in HashMap with "balkan" as second hashmap argument...
userChannel = "balkan"
online = Bukkit.getOnlinePlayers()
lenghtonline = len(online)
b = lenghtonline - 1
a = 0
if a <= b:
if channelList.get(p) == userChannel:
plist1.sendMessage("blabla")
Спасибо заранее!
Я не совсем уверен, Я понимаю тебя. Я не думаю, что это выведет список массивов со всеми игровыми именами, которые раньше присоединились к балканскому чату? Подводя итог: у меня есть список массивов онлайн-игроков, которые мне нужны для проверки того, находятся ли эти игроки в hashmap, но я хочу получить список онлайн-игроков из hashmap, которые находятся в балканском чате (он же ранее был помещен в HashMap по команде) –
Эта небольшая выдержка показывает, как итерировать значения карты, заполненной 'channelList.put (sender, channel)'. Извините, если не понял вашу проблему. –