[Рендер] Рендер в первом лице, если надета броня

Версия Minecraft
1.7.10
216
6
19
Мне нужно отображать модель в первом лице, если на игрока одета броня.
Подскажите что-нибудь, ибо я в тупике... Спасибо заранее 

Есть возможность юзать RenderPlayerAPI - может в ней есть что-то, что мне поможет.
 
Решение
Сам допер

Код:
        @SubscribeEvent
	@SideOnly(Side.CLIENT)
	public final void onRender(final RenderWorldLastEvent event) {
			final Minecraft mc = Minecraft.getMinecraft();

			if (mc.entityRenderer.debugViewDirection <= 0) {
				glMatrixMode(GL_MODELVIEW);
				glLoadIdentity();

				glPushMatrix();

				if (mc.gameSettings.thirdPersonView == 0 && !mc.renderViewEntity.isPlayerSleeping()
						&& !mc.gameSettings.hideGUI && !mc.playerController.enableEverythingIsScrewedUpMode()) {
					mc.entityRenderer.enableLightmap(event.partialTicks);

					final ItemStack plate = mc.thePlayer.getCurrentArmor(2);
					if (plate != null && plate.getItem() == StuffRegister.armor) {
						glColor4f(1, 1, 1, 1)...
216
6
19
Maxik001 написал(а):
if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) {

Если делать рендерер для предмета, то он работает в том случае, если предмет у игрока в руке.
А у меня должно реагировать на надетую броню.
 
5,018
47
783
Есть идея. Сделай метод, где чекаешь слот брони, если там лежит броня которая тебе нужна - рендери
 
216
6
19
Maxik001 написал(а):
Есть идея. Сделай метод, где чекаешь слот брони, если там лежит броня которая тебе нужна - рендери

А где рендерить-то?
 
5,018
47
783
Onneros написал(а):
Maxik001 написал(а):
Есть идея. Сделай метод, где чекаешь слот брони, если там лежит броня которая тебе нужна - рендери

А где рендерить-то?

А где ты рендеришь? Я в 1.7 рендерил в openGl
Код:
 @Override
 public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
 GL11.glPushMatrix();
 
 GL11.glRotatef(-25, 1, 0, 0);
 GL11.glRotatef(-45, 0, 1, 0);
 GL11.glRotatef(3, 0, 0, 1);
 if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) {
 GL11.glTranslated(0.24D, 2.1D, 0.15D);
 GL11.glScalef(0.015F, -0.015F, -0.015F);
 FontRenderer fontrenderer = Minecraft.getMinecraft().fontRenderer;
 fontrenderer.drawString("" + PlayerEffectIEEP.get(Minecraft.getMinecraft().thePlayer).accDoseRad + " mZv", 17, 5, 0xFFFFFF);
 }
 GL11.glPopMatrix();
 
 GL11.glPushMatrix();
 GL11.glTranslatef(0.5F, 1.6F, -0.2F);
 if (type == ItemRenderType.EQUIPPED) {
 GL11.glTranslatef(0.3F, -0.6F, 0.8F);

 }
 GL11.glRotatef(60, 1, 0, 0);
 GL11.glRotatef(0, 0, 1, 0);
 GL11.glRotatef(45, 0, 0, 1);
 GL11.glEnable(GL11.GL_BLEND);


 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
 Minecraft.getMinecraft().renderEngine.bindTexture(body);
 model.renderPart("Box002");
 Minecraft.getMinecraft().renderEngine.bindTexture(screen);
 model.renderPart("Screen");
 Minecraft.getMinecraft().renderEngine.bindTexture(screenFrame);
 model.renderPart("ScreenFrame");
 Minecraft.getMinecraft().renderEngine.bindTexture(button);
 model.renderPart("Button1");
 model.renderPart("Button2");
 model.renderPart("Button3");
 model.renderPart("Button4");
 model.renderPart("Button5");
 model.renderPart("Button6");
 if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) {
 Minecraft.getMinecraft().renderEngine.bindTexture(hand);
 model.renderPart("hand");
 }
 Minecraft.getMinecraft().renderEngine.bindTexture(RA);
 model.renderPart("RA");
 Minecraft.getMinecraft().renderEngine.bindTexture(SA);
 model.renderPart("SA");
 GL11.glDisable(GL11.GL_BLEND);


 GL11.glPopMatrix();
 }
 
 

}
 
5,018
47
783
А, ты в этом смысле спрашивал...
ну поищи как нибудь. Я не знаю как это делать, я только предположил...
 
216
6
19
Сам допер

Код:
        @SubscribeEvent
	@SideOnly(Side.CLIENT)
	public final void onRender(final RenderWorldLastEvent event) {
			final Minecraft mc = Minecraft.getMinecraft();

			if (mc.entityRenderer.debugViewDirection <= 0) {
				glMatrixMode(GL_MODELVIEW);
				glLoadIdentity();

				glPushMatrix();

				if (mc.gameSettings.thirdPersonView == 0 && !mc.renderViewEntity.isPlayerSleeping()
						&& !mc.gameSettings.hideGUI && !mc.playerController.enableEverythingIsScrewedUpMode()) {
					mc.entityRenderer.enableLightmap(event.partialTicks);

					final ItemStack plate = mc.thePlayer.getCurrentArmor(2);
					if (plate != null && plate.getItem() == StuffRegister.armor) {
						glColor4f(1, 1, 1, 1);
						glPushMatrix();
						final float scale = 0.04F;
						glScalef(scale, scale, scale);
						mc.getTextureManager().bindTexture(RenderPlayerArmor.armortex);
						RenderPlayerArmor.armormodel.renderAll();
						glPopMatrix();
					}
					mc.entityRenderer.disableLightmap(event.partialTicks);
				}

				glPopMatrix();
			}
	}
 
5,018
47
783
5,018
47
783
Сверху