Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Попытка сделать вот так:Agravaine написал(а):World#playerEntities.
if (this.mc.gameSettings.keyBindPlayerList.getIsKeyPressed() && (!this.mc.isIntegratedServerRunning() || this.mc.thePlayer.sendQueue.playerInfoList.size() > 1 || scoreobjective != null))
{
this.mc.mcProfiler.startSection("playerList");
NetHandlerPlayClient nethandlerplayclient = this.mc.thePlayer.sendQueue;
List list = nethandlerplayclient.playerInfoList;
i2 = nethandlerplayclient.currentServerMaxPlayers;
List list = Minecraft.getMinecraft().thePlayer.sendQueue.playerInfoList;
for (int i = 0; i < list.size(); i++)
System.out.println(i + ") " + ((GuiPlayerInfo)list.get(i)).name);
Та же ошибкаAsd73 написал(а):Из класса GuiIngame:
Это при нажатии на таб (по умолчанию) рисуется список игроков.Код:if (this.mc.gameSettings.keyBindPlayerList.getIsKeyPressed() && (!this.mc.isIntegratedServerRunning() || this.mc.thePlayer.sendQueue.playerInfoList.size() > 1 || scoreobjective != null)) { this.mc.mcProfiler.startSection("playerList"); NetHandlerPlayClient nethandlerplayclient = this.mc.thePlayer.sendQueue; List list = nethandlerplayclient.playerInfoList; i2 = nethandlerplayclient.currentServerMaxPlayers;
Попробуй так:
Код:List list = Minecraft.getMinecraft().thePlayer.sendQueue.playerInfoList; for (int i = 0; i < list.size(); i++) System.out.println(i + ") " + ((GuiPlayerInfo)list.get(i)).name);
if(!Minecraft.getMinecraft().isSingleplayer()){
for(int i = 0; i <= list.size(); i++){
super.buttonList.add(new GuiButton(20 + i, super.width / 8 - minus2 * (i + 1), super.height / 4 + 120, 40, 10, I18n.getString(((GuiPlayerInfo)list.get(i)).name)));
}
}
if(!Minecraft.getMinecraft().isSingleplayer()){
for(int i = 0; i <= list.size(); i++){
super.buttonList.add(new GuiButton(20 + i, super.width / 8 -
minus2 * (i + 1), super.height / 4 + 120, 40, 10,
I18n.getString(((GuiPlayerInfo)list.get(i)).name)));
}
}
if(!Minecraft.getMinecraft().isSingleplayer()){
int i = 0;
for(pinfo : list){
super.buttonList.add(new GuiButton(20 + i, super.width / 8 -
minus2 * (i + 1), super.height / 4 + 120, 40, 10,
I18n.getString(((GuiPlayerInfo)pinfo.name)));
i++;
}
}
В восьмерке есть метод forEachDragon2488 написал(а):Как мне не нравяться ваши for(int i = 0; i <= list.size(); i++). Да начните уже наконец юзать for(Object element : list).
[merge_posts_bbcode]Добавлено: 21.10.2014 01:38:00[/merge_posts_bbcode]
Как мне не нравяться ваши for(int i = 0; i <= list.size(); i++). Да начните уже наконец юзать for(Object element : list).
[merge_posts_bbcode]Добавлено: 21.10.2014 01:38:15[/merge_posts_bbcode]
Как мне не нравяться ваши for(int i = 0; i <= list.size(); i++). Да начните уже наконец юзать for(Object element : list).
[merge_posts_bbcode]Добавлено: 21.10.2014 01:38:40[/merge_posts_bbcode]
Как мне не нравяться ваши for(int i = 0; i <= list.size(); i++). Да начните уже наконец юзать for(Object element : list).
Только у тебя в первом варианте выход за границы листа гарантирован, т.к. последний индекс меньше размера листа (лист нумеруется с нуля и <= - неправильно тут), а во втором варианте ты не выйдешь за границуAsd73 написал(а):То есть ты предлагаешь вместо
писатьКод:if(!Minecraft.getMinecraft().isSingleplayer()){ for(int i = 0; i <= list.size(); i++){ super.buttonList.add(new GuiButton(20 + i, super.width / 8 - minus2 * (i + 1), super.height / 4 + 120, 40, 10, I18n.getString(((GuiPlayerInfo)list.get(i)).name))); } }
По моему первый вариант лучше.Код:if(!Minecraft.getMinecraft().isSingleplayer()){ int i = 0; for(pinfo : list){ super.buttonList.add(new GuiButton(20 + i, super.width / 8 - minus2 * (i + 1), super.height / 4 + 120, 40, 10, I18n.getString(((GuiPlayerInfo)pinfo.name))); i++; } }
Поэтому и возникла эта ошибка.talosdx написал(а):Привела к
java.lang.IndexOutOfBoundsException