Плохо объяснил. Есть класс ExtendedProps, который наследует IExtendedEntityProperties. При помощи него я сохраняю в игрока определенные параметры, в данном случае это массив интегров. При попытке получить эти значения из интерфейса (код ниже) я получаю стандартные значения (т.е. ноль), хотя эти значения изменялись ранее.Agravaine написал(а):Не понял вопроса.
//Вызов метода
Helper.getSkillLvl(guiplayer, Core.skills.get(i))
//Метод
public static int getSkillLvl(EntityPlayer p, Skill s)
{
ExtendedProps props = ExtendedProps.convert(p);
int lvl = props.skillslvl[s.getSkillId()];
return lvl;
}
public IMessage handleServerMessage(EntityPlayer player, SkillUpMessage message, MessageContext ctx) {
ExtendedProps props = ExtendedProps.convert(player);
if(Core.skillids.contains(message.skillid))
{
props.skillslvl[Core.skills.indexOf(message.skillid).getSkillId()] = props.skillslvl[Core.skills.indexOf(message.skillid).getSkillId()] + 1;
LogHelper.log("Skill's values: " + Arrays.toString(props.skillslvl));
}
return null;
}
т.е. клиент постоянно отсылает серверу пакет с запросом, тот читает и в ответ отсылает пакет с данными, так?Dragon2488 написал(а):Потому что инфа на сервере, а гуи клиентский. Шли пакет клиенту.
Я сейчас сделал два пакета, в ответ на первое сервер отсылает второй и тот сохраняет данные в клиентский массив. Однако не могу определится в какой момент отсылать первый пакет. При инитиализации гуи не подходит.Agravaine написал(а):Я делаю так:InMinecraftRpg.packetSender.sendTo(new PacketPlayerInfo(player), (EntityPlayerMP)player);