// https://www.youtube.com/watch?v=OkoQ78ktAb8
// Это не совсем тот тутор, по которому я это делал, но он натолкнул меня на многие важные мысли
/**
* Рендерер блока {@link UpgradeStationBlock} в инвентаре и в руке
*/
public static class Renderer implements IItemRenderer {
TileEntitySpecialRenderer render;
private TileEntity te; // Хз зачем, но в туторе нужно
public Renderer(TileEntitySpecialRenderer render, TileEntity te) {
this.render = render;
this.te = te;
}
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
return true;
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return true;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
if (type == ItemRenderType.EQUIPPED) {
GL11.glTranslatef(0.5F, 0.0F, 0.5F); // Делаем так, чтобы рука игрока держалась за центр блока
GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); // Поворачиваем тисками в другую сторону, чтобы сами тиски были видны. А то некрасиво
}
if (type == ItemRenderType.INVENTORY) {
GL11.glTranslatef(0.0F, -0.5F, 0.0F); // Чутка опустим предмет вниз, чтобы он нормально отображался в слоте инвентаря
//GL11.glScalef(1.3F, 1.3F, 1.3F);
} else {
// Делаем его чуть-больше, чтобы лучше смотрелся
//GL11.glScalef(1.5F, 1.5F, 1.5F);
}
if (type == ItemRenderType.EQUIPPED_FIRST_PERSON) {
GL11.glTranslatef(0.0F, 0.35F, 0.5F); // Смещаем центр предмета в руке, чтобы он рисовался там же, где и все остальные блоки, когда их держит юзер
//GL11.glScalef(1.3F, 1.3F, 1.3F);
}
// биндим текстуру
//Minecraft.getMinecraft().renderEngine.bindTexture(texture);
// Рендерим obj-модель
//model.renderAll();
}
}