Рендер рук

Версия Minecraft
1.7.10
Честно я вообще не представляю как это сделать и желательно подробный гайд..

Собираюсь сделать рендер рук с оружием но так и не понял как это сделать искал на таких форумах но там очень мало объясняют и я нихрена ничего не понял
Мне нужно добавить руки к оружию так что хелпаните :3
 

Вложения

  • 2019-11-13_21.00.06.png
    2019-11-13_21.00.06.png
    117 KB · Просмотры: 57
Решение
Если рисешь через IItemRenderer, то там есть net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON;
97e5c57339.jpg

А если рисуешь другим способом, то всегда есть переменная в Minecraft, которая говорит о том, от первого ли мы лица..
if(Minecraft.getMinecraft().gameSettings.thirdPersonView == 0) {...}

Java:
if(type == EQUIPPED_FIRST_PERSON) {
    //рисуем с руки
} else {
    //не рисуем руки
}
//рисуем автомат
А хотя нет, в твоём случае и так ЭТО уже всё есть, разбирайся сам..
1,038
57
229
Правильно ли я понял, ты отрисовал 11 кубов в виде автомата, но не знаешь как дорисовать ещё 2 куба?
 
ZZZubec правильно ли я тебя понял.. ну да только ты учитывай что может и от 1 лица будет хорошо выглядеть но как ты себе представляешь это от лица другого игрока 4 рукий мутант?
 

Вложения

  • 2019-11-13_22.09.34.png
    2019-11-13_22.09.34.png
    103.7 KB · Просмотры: 40
  • 2019-11-13_22.09.37.png
    2019-11-13_22.09.37.png
    94.6 KB · Просмотры: 36
  • 2019-11-13_22.16.51.png
    2019-11-13_22.16.51.png
    213.4 KB · Просмотры: 39
  • 2019-11-13_22.17.09.png
    2019-11-13_22.17.09.png
    61.8 KB · Просмотры: 39
1,038
57
229
дык ты рисуй руки только тогда когда ты от первого лица (вид из глаз).
 
ZZZubec, это как не подскажешь?

Код если нужен


package ru.metrocraft.render.items;

import org.lwjgl.opengl.GL11;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.inventory.GuiContainerCreative;
import net.minecraft.client.gui.inventory.GuiInventory;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import ru.metrocraft.MetroCraft;
import ru.metrocraft.model.items.GaussgunModel;

public class GaussgunRender implements IItemRenderer {

private GaussgunModel g;

public static ResourceLocation texture = new ResourceLocation(MetroCraft.MODID + ":" + "textures/models/GaussgunModel.png");

public GaussgunRender() {

g = new GaussgunModel();
}

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED: return true;
case EQUIPPED_FIRST_PERSON: return true;
default: return false;
}
}

@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: {

GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
GL11.glRotatef(100.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-55.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-80.0F, 0.0F, 0.0F, 1.0F);
this.g.renderModel(0.0625F);
GL11.glPopMatrix();

}

case EQUIPPED_FIRST_PERSON: {
GL11.glPushMatrix();
Minecraft.getMinecraft().renderEngine.bindTexture(texture);
GL11.glRotatef(100.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-55.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-80.0F, 0.0F, 0.0F, 1.0F);
GL11.glScalef(1.5F, 1.5F, 1.5F);
boolean isFirstPerson = false;

if(data[1] != null && data[1] instanceof EntityPlayer) {
if(!((EntityPlayer)data[1] == Minecraft.getMinecraft().renderViewEntity && Minecraft.getMinecraft().gameSettings.thirdPersonView == 0 && !((Minecraft.getMinecraft().currentScreen instanceof GuiInventory || Minecraft.getMinecraft().currentScreen instanceof GuiContainerCreative) && RenderManager.instance.playerViewY == 180.0F))) {
}
else {
isFirstPerson = true;
GL11.glScalef(1.5F, 1.5F, 1.5F);


}
}
else {
}
this.g.renderModel(0.0625F);
GL11.glPopMatrix();
}
default:
break;
}

}
}
 
Последнее редактирование:
1,038
57
229
Если рисешь через IItemRenderer, то там есть net.minecraftforge.client.IItemRenderer.ItemRenderType.EQUIPPED_FIRST_PERSON;
97e5c57339.jpg

А если рисуешь другим способом, то всегда есть переменная в Minecraft, которая говорит о том, от первого ли мы лица..
if(Minecraft.getMinecraft().gameSettings.thirdPersonView == 0) {...}

Java:
if(type == EQUIPPED_FIRST_PERSON) {
    //рисуем с руки
} else {
    //не рисуем руки
}
//рисуем автомат
А хотя нет, в твоём случае и так ЭТО уже всё есть, разбирайся сам..
 
Последнее редактирование:
1,038
57
229
отдельно конечно
 
1,038
57
229
задавай, я тут не один, может ещё кто поможет..
 
Сверху