Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Ммм? Ты хочешь переопределить нативный метод openGL?Dyadenka написал(а):public static final glScalef(scale1, scale2, scale3); ?
public class RenderBigItem implements IItemRenderer
{
private final float scale;
public RenderBigItem(float scale) {
this.scale = scale;
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
return type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return false;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch (type){
case EQUIPPED_FIRST_PERSON:
renderEquippedItem(item, (EntityLivingBase) data[1], true);
break;
case EQUIPPED:
renderEquippedItem(item, (EntityLivingBase) data[1], false);
break;
default:
}
}
private void renderEquippedItem(ItemStack stack, EntityLivingBase entity, boolean firstPerson) {
GL11.glPushMatrix();
float f = scale;
if (firstPerson) {
f *= 1.75F;
GL11.glTranslatef(-0.35F * scale, -0.125F * scale, 0.0F);
} else {
f *= (entity instanceof EntityPlayer ? 2.0F : 1.75F);
GL11.glTranslatef(1.0F - f, -0.125F * scale, 0.05F * scale);
}
GL11.glScalef(f, f, f);
Icon icon = stack.getItem().getIcon(stack, 0);
Tessellator tessellator = Tessellator.instance;
ItemRenderer.renderItemIn2D(tessellator, icon.getMaxU(), icon.getMinV(), icon.getMinU(), icon.getMaxV(), icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
GL11.glPopMatrix();
}
}
MinecraftForgeClient.registerItemRenderer(Твой_предмет, new RenderBigItem(размер));
Не все же в этом так разбираются.Oldestkon написал(а):Ммм? Ты хочешь переопределить нативный метод openGL?Dyadenka написал(а):public static final glScalef(scale1, scale2, scale3); ?
Я тебе дал метод из LWJGL, который применяет матрицу скейла на текущую, воздействуя на обьекты, которые будут рендериться дальше. Его не надо переопределять, лел.
Тебе надо вызывать этот метод из события .Pre рендера для предмета. А вот какое событие именно надо ловить спроси у кого-нибудь другого, у меня под рукой пусто.