Рендер перса из смартмувинга.

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
637
Лучшие ответы
4
Реакции
13
Версия Minecraft
1.7.10
Как вы знаете, при определенном действии можно поднимать руки персу.
Java:
@SubscribeEvent
    public void onRenderPlayer(RenderPlayerEvent.Pre event) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException
    {
        if (!(event.entityPlayer.inventory.getCurrentItem() == null) && event.entityPlayer.inventory.getCurrentItem().getItem() instanceof Item3D)
        {
            java.lang.reflect.Field f = event.renderer.getClass().getDeclaredField("modelPlayerBase");
            f.setAccessible(true);
            Object val = f.get(event.renderer);
            ModelBiped modelBipedMain = (ModelBiped)val;
            modelBipedMain.aimedBow = true;
        }
    }
Но, но. У меня в проекте есть смартмувинг, конечно же в исходах.
Ясен пень что ModelBiped modelBipedMain = (ModelBiped)val; мы меняем на ModelPlayer modelBipedMain = (ModelPlayer)val;, т.к модельПлеер унаследован от бипед, но що делать с java.lang.reflect.Field f = event.renderer.getClass().getDeclaredField("modelPlayerBase");

У меня банально нет догадок, какой класс может им являться.
 
Краш-лог
-- Head --
Stacktrace:
at com.google.common.base.Throwables.propagate(Throwables.java:160)
at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:146)
at net.minecraft.client.renderer.entity.RenderPlayer.localRenderPlayer(RenderPlayer.java:131)
at api.player.render.RenderPlayerBase.renderPlayer(Unknown Source)
at net.smart.render.playerapi.SmartRenderRenderPlayerBase.superRenderPlayer(SmartRenderRenderPlayerBase.java:71)
at net.smart.render.SmartRenderRender.renderPlayer(SmartRenderRender.java:118)
at net.smart.render.playerapi.SmartRenderRenderPlayerBase.renderPlayer(SmartRenderRenderPlayerBase.java:65)
at api.player.render.RenderPlayerBase.renderPlayer(Unknown Source)
at net.smart.moving.render.playerapi.SmartMovingRenderPlayerBase.superRenderRenderPlayer(SmartMovingRenderPlayerBase.java:52)
at net.smart.moving.render.SmartMovingRender.renderPlayer(SmartMovingRender.java:129)
at net.smart.moving.render.playerapi.SmartMovingRenderPlayerBase.renderPlayer(SmartMovingRenderPlayerBase.java:46)
at api.player.render.RenderPlayerAPI.renderPlayer(Unknown Source)
at api.player.render.RenderPlayerAPI.renderPlayer(Unknown Source)
at net.minecraft.client.renderer.entity.RenderPlayer.func_76986_a(RenderPlayer.java)
at net.minecraft.client.renderer.entity.RenderPlayer.func_76986_a(RenderPlayer.java:521)
Сообщения
637
Лучшие ответы
4
Реакции
13
Решено, было сделано по другому.
Код сливать не буду, но принцип таков.

Создать булеан переменную, из модельплеер достать leg,arm и тп, изменять при условии.
Вдруг кому понадобится.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху