Рендер моделей без итемстака

fane4qa

Каменная лига
Сообщения
552
Лучшие ответы
8
Симпатии
23
#1
Версия Minecraft
1.7.10
Подтверждение
Я максимально подробно описал проблему, включая исходный код файлов, краш лог, изображения и другую информацию, которая может помочь пользователям форума решить мой вопрос!
Можно ли рендерить модели в игре, как обычно держишь стак в руке, только не держа его?
Думаю экстендить RenderPlayer, но не особо уверен
В общем, прошу помощи, пожалуйста
 

timaxa007

Команда форума
Сообщения
5,234
Лучшие ответы
322
Симпатии
433
#2
Наверное использовать эвент Рендер игрока или одно и его подклассов.
(github.com) very_custom_armor - EventsClient.java#L9
Типа место SetArmorModel, другой под класс, а место слота брони - нужный слот.
 

fane4qa

Каменная лига
Сообщения
552
Лучшие ответы
8
Симпатии
23
#3
Попробую чуть позже, отпишусь
 

Maxik001

Золотая лига
Сообщения
4,245
Лучшие ответы
40
Симпатии
434
#4
RenderSpecificHandEvent. Если он есть на 1.7 кнш
 

jopi

Каменная лига
Сообщения
513
Лучшие ответы
7
Симпатии
23
#5
Можно ли рендерить модели в игре, как обычно держишь стак в руке, только не держа его?
Думаю экстендить RenderPlayer, но не особо уверен
В общем, прошу помощи, пожалуйста
а ты попробуй, только смотри если тебе нужно рендерить в контейнере что-либо вот пример. Метод renderSpecials чистишь, делаешь супер(в своем рендере), пишешь что тебе нужно, готово. Лучший говнокод: ModelJava var1 = new ModelJava(); а потом var1.render();.
Пример:
Java:
// Аргументы: AbstractClientPlayer par1, ModelBiped par2, ModelBiped par3, ModelBiped par4, RenderPlayer par5
PlayerData playerData = PlayerDataHandler.getPlayerData((EntityPlayer)par1);
      InventoryCDA inv = playerData.getCDInventory();
      this.renderCDCape = true;
      ItemStack hatStack;
      if (inv.getStack("gun") != null) {
         hatStack = inv.getStack("gun");
         IItemRenderer itemrender = MinecraftForgeClient.getItemRenderer(hatStack, ItemRenderType.EQUIPPED);
         GL11.glPushMatrix();
         if (par1.isSneaking()) {
            GL11.glRotatef(30.0F, 1.0F, 0.0F, 0.0F);
            GL11.glTranslatef(0.0F, 0.1F, -0.02F);
         }

         if (par1 != null && itemrender != null && itemrender instanceof RenderGun) {
            ((RenderGun)itemrender).renderMainGunOnPlayerBack(par1, hatStack);
         }

         GL11.glPopMatrix();
         this.renderCDCape = false;
      }
 
Сверху