- 69
- 3
- 3
Здравствуйте, мне необходимо отрендерить щит в руке в позиции блокировки, я знаю, что это делается само с помощью:
Hо по некоторым обстоятельствам я не могу использовать метод, предоставленный выше.
Я нашел необходимую информацию и понял, что мне нужен RenderPlayerEvent:
Но он не обрабатывается, когда в этом же классе у меня есть другой ивент, который обрабатывается, и все нормально регистрируется в главном классе:
Картинки:
Еще я эксперементировал с трансформацией модели, но ничего не добился. Возможно, плохо эксперементировал.
Итог: Как мне исправить ситуацию с ивентом? Или можно по-другому отрендерить?
Java:
public EnumAction getItemUseAction (ItemStack Stack)
{
return EnumAction.BLOCK;
}
Я нашел необходимую информацию и понял, что мне нужен RenderPlayerEvent:
Java:
@SubscribeEvent
public static void ShieldBlockingRender (RenderPlayerEvent.Pre Event)
{
EntityPlayer Player = Event.getEntityPlayer ();
ItemStack MainHand = Player.getHeldItemMainhand (), OffHand = Player.getHeldItemOffhand ();
if (MainHand != null && Player.isHandActive () && MainHand.getItem () instanceof WickerShield)
{
Event.getRenderer ().getMainModel ().rightArmPose = ModelBiped.ArmPose.BLOCK;
}
if (OffHand != null && Player.isHandActive () && OffHand.getItem () instanceof WickerShield)
{
Event.getRenderer ().getMainModel ().leftArmPose = ModelBiped.ArmPose.BLOCK;
}
}
Java:
@EventHandler
public void preInit (FMLPreInitializationEvent Event)
{
Proxy.preInit (Event);
MinecraftForge.EVENT_BUS.register (WickerShield.class);
}
Еще я эксперементировал с трансформацией модели, но ничего не добился. Возможно, плохо эксперементировал.
Итог: Как мне исправить ситуацию с ивентом? Или можно по-другому отрендерить?

