GoblinBob
Members-
Posts
9 -
Joined
-
Last visited
Converted
-
Gender
Male
-
Location
Poland
-
Personal Text
There is only one goblin master!
GoblinBob's Achievements
Tree Puncher (2/8)
0
Reputation
-
[UNSOLVED] How do I change the rendering of a vanilla block.
GoblinBob replied to GoblinBob's topic in Modder Support
I don't really want to change the texture at all, I just want to change ther way it is rendered. Somehow, get into the RenderBlocks.class and change the renderDoor function ;(. -
As in the topic, I want to change the appearance of a vanilla block, let's say, a door. But when I register a new block type renderer, of an id 7 (that is the render id of a door), it doesn't actually override what is in the vanilla. I also tried to override the RenderBlocks class, with my custom changed one, but it wouldn't work unless I also overrided the RenderGlobal and WorldRenderer classes. Is there a Forge hook of some sort that does change the rendering of a vanilla block? Or is there an another solution? Thanks in advance.
-
You have to make a new RenderPlayer class with a new ModelBiped class, and attack the new RenderPlayer class to the player. Do it the same as you would register a renderer for a mob, but do it for EntityPlayer instead. Copy RenderPlayer class, and rename it, and tweak a little bit.
-
In the RenderCoinsRF, just add these: this.bindEntityTexture(entity); model.render(Entity entity,d,d1,d2,d3,d4,1); And all should be good .
-
You want to hold it like a lantern right? Go into the ModelBiped class, and then look into the setRotationAngles function: public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { //ALL THAT DIFFERENT UNDERSTANABLE CODE HERE } The second step, is to add new code to the end of the function. public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { //ALL THAT DIFFERENT UNDERSTANABLE CODE HERE if(par7Entity instanceof EntityPlayer){ //CHECKING IF THE ENTITY IS A PLAYER EntityPlayer player = (EntityPlayer) par7Entity; if(player.getCurrectItem().itemID == ItemSometgingasda.item_Lantern.itemID){ //CHECKING IF THE PLAYER IS HOLDING THE LANTERN. CHANGE THAT IF YOU NEED this.bipedRightArm.rotateAngleX+=90.0f/180f*3.14f; //APPLYING THE ROTATION TO THE RIGHT ARM } } Remember, the new code should be at the end of the setRotationAngles function .
-
My mod will be only CLIENT-SIDE, that is the point... . I did a debug, and if you are on ground, the value of motionY is not equal to 0... . It is equal to the motion that it could have when there would be no ground, if you understand what I am saying. But probbably, just like the onGround variable, the motionX,motionY and motionZ will be always zero for any player but you. Remember, it IS CLIENT SIDE, not a server mod.
-
Let's say that I wanted to make a jump animation, that is why I need to know if the player is in air or not. And about the position cheching, I already tried that, and it "works", but it is stilll buggy, cuz you can stay at the edge of a block, and it thinks that you are in air. And I don't use the onGround from the ModelBiped class, but in the setRotationsAndAngles method in the ModelBiped I check the onGround from the EntityPlayer argument public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) { EntityPlayer thePlayer = (EntityPlayer) par7Entity; thePlayer.onGround; <-- This is the variable I am using.
-
Hi In my mod, I am changing the player's model a litte bit, but then a problem appears.. It seems that the client doesn't know if the other player on the server is on ground or not. The same is with the variable moveForward. I am trying to get the value of the onGround variable in the player's model class, but I have also tried it in the RenderBiped and it still is always false. What is the problem, or what am I doing wrong? Thanks in advance .