- 329
- 13
Пытаюсь сделать так, чтобы персонаж при взятии пистолета в руки держал его так, как будто он целится из лука.
Приводит к ошибке The field RenderPlayer.modelBipedMain is not visible
Причина в том, что модификатор доступа modelBipedMain - private.
Пока только думал в сторону 3-х решений:
Есть ли у вас идеи, как это сделать?
Код:
@SubscribeEvent
public void onRenderPlayer(RenderPlayerEvent.Pre event)
{
if (!(event.entityPlayer.inventory.getCurrentItem() == null) && event.entityPlayer.inventory.getCurrentItem().getItem() == Items.apple)
{
event.renderer.modelBipedMain.aimedBow = true;
}
}
Причина в том, что модификатор доступа modelBipedMain - private.
Код:
@SideOnly(Side.CLIENT)
public class RenderPlayer extends RendererLivingEntity
{
private static final ResourceLocation steveTextures = new ResourceLocation("textures/entity/steve.png");
private ModelBiped modelBipedMain;
private ModelBiped modelArmorChestplate;
private ModelBiped modelArmor;
private static final String __OBFID = "CL_00001020";
public RenderPlayer()
{
super(new ModelBiped(0.0F), 0.5F);
this.modelBipedMain = (ModelBiped)this.mainModel;
this.modelArmorChestplate = new ModelBiped(1.0F);
this.modelArmor = new ModelBiped(0.5F);
}
// и так далее
}
Пока только думал в сторону 3-х решений:
- Найти способ добраться до private modelBipedMain;
- Найти способ изменить метод public void doRender() в классе RenderPlayer;
- Найти способ полностью заменить ванильный RenderPlayer на свой.
Есть ли у вас идеи, как это сделать?