Как достать игрока из ниоткуда?

Версия Minecraft
1.5+

bonenaut7

Попрошайка
1,426
31
261
Как достать игрока из ниоткуда? То-есть у меня есть класс ExtendedPlayer, и в нём есть параметр player который возвращает EntityPlayer. Но просто так ExtendedPlayer достать нельзя потому-что у него есть в паблике аргумент EntityPlayer...

Java:
ExtendedPlayer epl = new ExtendedPlayer(); //Ошибка потому-что нету аргумента EntityPlayer
switch(id){
    case 1:
        if (epl.player.isInWater) //тут же параметр который возвращает EntityPlayer
        {
        //Мои действия
        }
}
Но player.isInWater не работает потому-что верхняя строчка ExtendedPlayer epl не инициализирована...
 
То-есть из ниоткуда? Ты этот код ведь где-то вызываешь? Там его тоже нету? Если есть, то можно добавить параметр в конструктор своего класса, передать игрока туда и все должно быть
 
Последнее редактирование:
@Thunder я вызываю EntityPlayer просто так из параметра EntityPlayer player в классе ExtendedPlayer. А вызвать ExtendedPlayer без конструктора с аргументом EntityPlayer я не могу. А EntityPlayer я достать из аргументов моего метода тоже не могу потому-что придётся рыть много всего... Если писать такую EntityPlayer player; у меня в классе, то будет краш на сервере потому-что там не находит EntityPlayer(Дебилизм)
Из другого класса я только беру параметр EntityPlayer и всё, потому-что ExtendedPlayer не вызывается на стороне сервера
 
Создал класс GetPlayer

Java:
public class GetPlayer {
    public static EntityPlayer player;
    public GetPlayer()
    {}
    public static EntityPlayer get()
    {return player;}
}

В нужном месте написал:
Код:
GetPlayer p = new GetPlayer();
ExtendedPlayer epl = new ExtendedPlayer(p.get());

Краша не буит? xD
 
Если тебе нужен клиент игрок - то Minecraft.getMinecraft().player.
Если тебе нужен сервер игрок - то только аргументами из того метода, откуда ты вызываешь.
"из ниоткуда" - можно только клиента.
А так, ты хотя бы напиши, где именно твой метод должен вызываться.
В большинстве сервер эвентах есть параметр игрока.
 
И чем же отличается вот это
Java:
public class GetPlayer {
    public static EntityPlayer player;
    public GetPlayer()
    {}
    public static EntityPlayer get()
    {return player;}
}
От вот этого? Те же яйца, только через стекло...

Java:
ExtendedPlayer epl = new ExtendedPlayer(); //Ошибка потому-что нету аргумента EntityPlayer
switch(id){
    case 1:
        if (epl.player.isInWater) //тут же параметр который возвращает EntityPlayer
        {
        //Мои действия
        }
}
 
Если тебе нужен клиент игрок - то Minecraft.getMinecraft().player.
Если тебе нужен сервер игрок - то только аргументами из того метода, откуда ты вызываешь.
"из ниоткуда" - можно только клиента.
А так, ты хотя бы напиши, где именно твой метод должен вызываться.
В большинстве сервер эвентах есть параметр игрока.
. . .
Я забыл про Minecraft.getMinecraft спосиба
 
Боюсь, он до этого даже не дойдет)
 
Если тебе нужен клиент игрок - то Minecraft.getMinecraft().player.
Если тебе нужен сервер игрок - то только аргументами из того метода, откуда ты вызываешь.
"из ниоткуда" - можно только клиента.
А так, ты хотя бы напиши, где именно твой метод должен вызываться.
В большинстве сервер эвентах есть параметр игрока.
Из мира по нику можно достать игрока-_-
 
Назад
Сверху