the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at master 71 lines 1.7 kB view raw
1#include "stdafx.h" 2#include "..\Minecraft.World\Mth.h" 3#include "LavaSlimeModel.h" 4#include "ModelPart.h" 5#include "..\Minecraft.World\LavaSlime.h" 6 7 8LavaSlimeModel::LavaSlimeModel() 9{ 10 for (int i = 0; i < BODYCUBESLENGTH; i++) 11 { 12 int u = 0; 13 int v = i; 14 if (i == 2) 15 { 16 u = 24; 17 v = 10; 18 } 19 else if (i == 3) 20 { 21 u = 24; 22 v = 19; 23 } 24 bodyCubes[i] = new ModelPart(this, u, v); 25 bodyCubes[i]->addBox(-4.0f, 16.0f + (float)i, -4.0f, 8, 1, 8); 26 } 27 28 insideCube = new ModelPart(this, 0, 16); 29 insideCube->addBox(-2, 16 + 2, -2, 4, 4, 4); 30 31 // 4J added - compile now to avoid random performance hit first time cubes are rendered 32 insideCube->compile(1.0f/16.0f); 33 for( int i = 0; i < BODYCUBESLENGTH; i++ ) 34 { 35 bodyCubes[i]->compile(1.0f/16.0f); 36 } 37} 38 39int LavaSlimeModel::getModelVersion() 40{ 41 return 5; 42} 43 44void LavaSlimeModel::prepareMobModel(shared_ptr<LivingEntity> mob, float time, float r, float a) 45{ 46 shared_ptr<LavaSlime> lavaSlime = dynamic_pointer_cast<LavaSlime>(mob); 47 48 float slimeSquish = (lavaSlime->oSquish + (lavaSlime->squish - lavaSlime->oSquish) * a); 49 if (slimeSquish < 0) 50 { 51 slimeSquish = 0.0f; 52 } 53 54 for (int i = 0; i < BODYCUBESLENGTH; i++) 55 { 56 bodyCubes[i]->y = -(4 - i) * slimeSquish * 1.7f; 57 } 58} 59 60void LavaSlimeModel::render(shared_ptr<Entity> entity, float time, float r, float bob, float yRot, float xRot, float scale, bool usecompiled) 61{ 62 setupAnim(time, r, bob, yRot, xRot, scale, entity); 63 64 insideCube->render(scale, usecompiled); 65 for (int i = 0; i < BODYCUBESLENGTH; i++) 66 { 67 bodyCubes[i]->render(scale, usecompiled); 68 } 69 70} 71