Как из класса ентитиАИ вытащить не статичную переменную в класс модели?

mark0wka

Каменная лига
Сообщения
113
Лучшие ответы
0
Симпатии
6
#1
Версия Minecraft
1.12.2
Подтверждение
Я максимально подробно описал проблему, включая исходный код файлов, краш лог, изображения и другую информацию, которая может помочь пользователям форума решить мой вопрос!
Есть класс с ентитиАИ и в ней меняется одна переменная, которая должна запускать в классе модели цикл с изменением угла поворота модели. По началу сделал эту переменную статичной, но тогда все мобы с этой моделью изменяют свое положение, что неудивительно. Потом попытался через класс рендера в метод doRender засунуть эту переменную из класса ентитиАИ вот так:
класс Рендера:
public boolean Checker (EntityAILeap entityai)
    {
        return JumpAnim = entityai.JumpAnim;
    }
    
    public void doRender(EntityHunter entity, double x, double y, double z, float entityYaw, float partialTicks)
    {
        ModelHunter modelhunter = this.getMainModel();
        modelhunter.JumpAnim = JumpAnim;
        super.doRender(entity, x, y, z, entityYaw, partialTicks);
    }
Но даже так ничего не получилось. Кто-нибудь сталкивался с подобным?
 

Agravaine

Золотая лига
Сообщения
3,489
Лучшие ответы
94
Симпатии
253
#2
Так в энтити добавь свою переменную, а в рендере доставай ее из энтити.
 

mark0wka

Каменная лига
Сообщения
113
Лучшие ответы
0
Симпатии
6
#3
Ничего не поменялось. Сделал вывод переменной из класса с ентитиАИ в класс ентити, а потом в рендере брал переменную из класса с ентити. Но переменная в классе ентити всегда остается false. Не понимаю почему так происходит
Java:
public boolean StartAnim(EntityAILeap entityai)
    {
        JumpAnim = entityai.JumpAnim;
        System.out.print(JumpAnim);
        return false;
    }
    
    public void onLivingUpdate()
    {   
        if(this.onGround)
        {
            JumpAnim = false;
        }
        super.onLivingUpdate();
    }
 

Agravaine

Золотая лига
Сообщения
3,489
Лучшие ответы
94
Симпатии
253
#4
Потому что нужно ее синхронизировать с клиентом.
Хз как в новых версиях, а в 1.7.10 есть DataWatcher для автоматического синхрона.
 

mark0wka

Каменная лига
Сообщения
113
Лучшие ответы
0
Симпатии
6
#5
Таки шо с этим можно сделать?
 

jopi

Каменная лига
Сообщения
480
Лучшие ответы
7
Симпатии
24
#6
Класстрансформер попробуй использовать, создай копию ентитиАИ и там сделай статичной переменную, и уже с помощью класстрансформера пихуй ентитиАИ модифицированный в дефолтный майн
 
Сверху