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.
// 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();
}
}
// Как-то так. Адаптируешь потом сам.
MinecraftForgeClient.registerItemRenderer(c1, new UpgradeStationTESR.Renderer(new UpgradeStationTESR(), new UpgradeStationEntity()));
Это нужно писать в коде самого предмета или отдельным классом?Тебе нужно написать свой ItemRenderer
отдельный класс само собой.отдельным классом
если рендеришь айтем вместе с моделью рук, как раз там рендерить модель брони и нужноIItemRenderer ведь для предмета в руке
если рендеришь свою модель руки стива, взять тот же рендер оружия от 1 лица с руками, то там просто так же достаешь 3д модель брони (я это делаю через ItemArmor свой, намного проще) и рендеришь парт "rightarm" или "leftarm" при этом 1 раз подогнать к руке, и готово.заменить рендер рук