Что нужно дописать, чтоб не было проблемы?

Версия Minecraft
1.7.10
1555863490766.png

Вот код рендера:
package sub_mod.obj_item;

import org.lwjgl.opengl.GL11;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;

public class RenderItemObj implements IItemRenderer {

public static final ResourceLocation texture = new ResourceLocation(ModItemObj.MODID, "textures/items/item_obj.png");

@Override
public boolean handleRenderType(ItemStack is, ItemRenderType type) {
if (type == ItemRenderType.INVENTORY) return false;
return true;
}

@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack is, ItemRendererHelper helper) {
if (type == ItemRenderType.INVENTORY) return false;
return true;
}

@Override
public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
GL11.glPushMatrix();
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
GL11.glRotatef(0.0F, 0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
GL11.glCallList(ProxyClient.displayList[0]);
GL11.glPopMatrix();
}

}

От 3 лица всё нормально, а от первого как на скрине.
 
Не нужно создавать каждый раз новую тему, если вопрос никак не изменился.
(Разве что, добавился код)
 
@Override
public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
GL11.glPushMatrix();
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
GL11.glRotatef(0.0F, 0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
GL11.glCallList(ProxyClient.displayList[0]);
GL11.glPopMatrix();
}
хей бро
public void renderItem(ItemRenderType type, ItemStack is, Object... data)
хей броо
хей брооо

Просто нужно учитывать это, бро
 
В renderItem в зависимости от ItemRenderType делай разные преобразования glTranslatef,glRotatef. Посмотри класс ItemRenderType - там есть варианты для всех видов, от первого, от третьего, инвнетарь....
 
Что мне нужно дописать и куда?
Я с рендером не очень дружу, но попробуй так.
Поиграй с "glScaled", "glRotatef" и "glTranslatef"
И вставь вот это "ItemRenderType.EQUIPPED_FIRST_PERSON;" в тело renderItem
Код:
@Override
public void renderItem(ItemRenderType type, ItemStack is, Object... data) {
ItemRenderType.EQUIPPED_FIRST_PERSON;
GL11.glPushMatrix();
GL11.glTranslatef(0.5F, 0.0F, 0.5F);
GL11.glRotatef(0.0F, 0.0F, 0.0F, 0.0F);
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
GL11.glCallList(ProxyClient.displayList[0]);
GL11.glPopMatrix();
}
 
Последнее редактирование:
Назад
Сверху