Jump to content

[SOLVED] New type of crop [SOLUTION INSIDE]


Ablaze

Recommended Posts

Hi!

    I was making a crop(Tomato). The textures were being made by a friend. He made like a melon stalk, but in code, the crop grows like potatoes/carrots, so instead of one single stem, there are 4 stalks on the edges. How to make it grow like a melon stalk, but not make it grow melon blocks? Work like a potato, but look like a melon stalk?

 

Regards,

Ablaze.

Add me on Skype: AblazeTheBest. Send a message saying "#HeyAblaze"

 

Currently: Making a mod!

Link to comment
Share on other sites

The renderType for BlockStem is 19. Notable for the pumpkin and melon stalks is that the bounding box is set based on how much of the stalk that is rendered. As the plant grows, for each "stage" more of the stem is rendered. So there is only 1 frame in the melon_stem_disconnected.png, where the wheat, potatoes, and carrots have several frames (one for each stage the plant has grown).

 

If you look in BlockCrops, you'll see that GetRenderType returns 6. This is how wheat is rendered (as 4 copies of the texture in a #-form). Potatoes and carrots extends BlockCrops, so they render the same way (since they don't have their own GetRenderType method).

 

Return 1 if you want your plant to render as e.g. TallGrass and Flowers.

 

Link to comment
Share on other sites

Thats what I returned but it ended up crashing. Here is my tomato class.

 

package uncleTomo.crops;

 

import net.minecraft.block.BlockCrops;

import net.minecraft.client.renderer.texture.IconRegister;

import net.minecraft.util.Icon;

import uncleTomo.UncleTomosMainClass;

import cpw.mods.fml.relauncher.Side;

import cpw.mods.fml.relauncher.SideOnly;

 

public class BlockTomato extends BlockCrops{

 

@SideOnly(Side.CLIENT)

private Icon[] iconArray;

 

public BlockTomato(int par1) {

super(par1);

}

 

@SideOnly(Side.CLIENT)

public Icon getIcon(int par1, int par2)

{

    if (par2 < 7)

    {

        if (par2 == 6)

        {

            par2 = 5;

        }

 

        return this.iconArray[par2 >> 1];

    }

    else

    {

        return this.iconArray[3];

    }

}

 

protected int getSeedItem() {

return UncleTomosMainClass.tomato.itemID;

}

 

protected int getCropItem() {

return UncleTomosMainClass.tomato.itemID;

}

 

@SideOnly(Side.CLIENT)

public void registerIcons(IconRegister par1IconRegister) {

this.iconArray = new Icon[4];

 

for(int i = 0; i < this.iconArray.length; ++i){

this.iconArray = par1IconRegister.registerIcon(UncleTomosMainClass.modid + ":" + "tomato_stage_" + i);

}

}

 

public int getRenderType()

    {

        return 19;

    }

 

 

}

 

 

Stacktrace -

 

2013-11-10 22:00:25 [WARNING] [Minecraft-Server] Can't keep up! Did the system time change, or is the server overloaded?

2013-11-10 22:00:45 [iNFO] [sTDERR] java.lang.ClassCastException: uncleTomo.crops.BlockTomato cannot be cast to net.minecraft.block.BlockStem

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.client.renderer.RenderBlocks.renderBlockStem(RenderBlocks.java:3491)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:457)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:224)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1551)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1129)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1002)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:946)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:838)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.client.main.Main.main(Main.java:93)

2013-11-10 22:00:45 [iNFO] [sTDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

2013-11-10 22:00:45 [iNFO] [sTDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

2013-11-10 22:00:45 [iNFO] [sTDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

2013-11-10 22:00:45 [iNFO] [sTDERR] at java.lang.reflect.Method.invoke(Method.java:601)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)

2013-11-10 22:00:45 [iNFO] [sTDERR] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)

2013-11-10 22:00:45 [iNFO] [sTDOUT] ---- Minecraft Crash Report ----

2013-11-10 22:00:45 [iNFO] [sTDOUT] // Why is it breaking :(

2013-11-10 22:00:45 [iNFO] [sTDOUT]

2013-11-10 22:00:45 [iNFO] [sTDOUT] Time: 10/11/13 10:00 PM

2013-11-10 22:00:45 [iNFO] [sTDOUT] Description: Unexpected error

2013-11-10 22:00:45 [iNFO] [sTDOUT]

2013-11-10 22:00:45 [iNFO] [sTDOUT] java.lang.ClassCastException: uncleTomo.crops.BlockTomato cannot be cast to net.minecraft.block.BlockStem

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderBlocks.renderBlockStem(RenderBlocks.java:3491)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:457)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:224)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1551)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1129)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1002)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:946)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:838)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.main.Main.main(Main.java:93)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Method.java:601)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)

2013-11-10 22:00:45 [iNFO] [sTDOUT]

2013-11-10 22:00:45 [iNFO] [sTDOUT]

2013-11-10 22:00:45 [iNFO] [sTDOUT] A detailed walkthrough of the error, its code path and all known details is as follows:

2013-11-10 22:00:45 [iNFO] [sTDOUT] ---------------------------------------------------------------------------------------

2013-11-10 22:00:45 [iNFO] [sTDOUT]

2013-11-10 22:00:45 [iNFO] [sTDOUT] -- Head --

2013-11-10 22:00:45 [iNFO] [sTDOUT] Stacktrace:

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderBlocks.renderBlockStem(RenderBlocks.java:3491)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderBlocks.renderBlockByRenderType(RenderBlocks.java:457)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.WorldRenderer.updateRenderer(WorldRenderer.java:224)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.RenderGlobal.updateRenderers(RenderGlobal.java:1551)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1129)

2013-11-10 22:00:45 [iNFO] [sTDOUT]

2013-11-10 22:00:45 [iNFO] [sTDOUT] -- Affected level --

2013-11-10 22:00:45 [iNFO] [sTDOUT] Details:

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level name: MpServer

2013-11-10 22:00:45 [iNFO] [sTDOUT] All players: 1 total; [EntityClientPlayerMP['Player127'/0, l='MpServer', x=716.50, y=5.62, z=1526.50]]

2013-11-10 22:00:45 [iNFO] [sTDOUT] Chunk stats: MultiplayerChunkCache: 441

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level seed: 0

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level generator: ID 01 - flat, ver 0. Features enabled: false

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level generator options:

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level spawn location: World: (712,4,1519), Chunk: (at 8,0,15 in 44,94; contains blocks 704,0,1504 to 719,255,1519), Region: (1,2; contains chunks 32,64 to 63,95, blocks 512,0,1024 to 1023,255,1535)

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level time: 859 game time, 859 day time

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level dimension: 0

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level storage version: 0x00000 - Unknown?

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)

2013-11-10 22:00:45 [iNFO] [sTDOUT] Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false

2013-11-10 22:00:45 [iNFO] [sTDOUT] Forced entities: 1 total; [EntityClientPlayerMP['Player127'/0, l='MpServer', x=716.50, y=5.62, z=1526.50]]

2013-11-10 22:00:45 [iNFO] [sTDOUT] Retry entities: 0 total; []

2013-11-10 22:00:45 [iNFO] [sTDOUT] Server brand: fml,forge

2013-11-10 22:00:45 [iNFO] [sTDOUT] Server type: Integrated singleplayer server

2013-11-10 22:00:45 [iNFO] [sTDOUT] Stacktrace:

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:440)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2312)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:863)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.client.main.Main.main(Main.java:93)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Method.java:601)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)

2013-11-10 22:00:45 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)

2013-11-10 22:00:45 [iNFO] [sTDOUT]

2013-11-10 22:00:45 [iNFO] [sTDOUT] -- System Details --

2013-11-10 22:00:45 [iNFO] [sTDOUT] Details:

2013-11-10 22:00:45 [iNFO] [sTDOUT] Minecraft Version: 1.6.4

2013-11-10 22:00:45 [iNFO] [sTDOUT] Operating System: Windows 7 (amd64) version 6.1

2013-11-10 22:00:45 [iNFO] [sTDOUT] Java Version: 1.7.0_21, Oracle Corporation

2013-11-10 22:00:45 [iNFO] [sTDOUT] Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

2013-11-10 22:00:45 [iNFO] [sTDOUT] Memory: 552642776 bytes (527 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)

2013-11-10 22:00:45 [iNFO] [sTDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M

2013-11-10 22:00:45 [iNFO] [sTDOUT] AABB Pool Size: 152 (8512 bytes; 0 MB) allocated, 17 (952 bytes; 0 MB) used

2013-11-10 22:00:45 [iNFO] [sTDOUT] Suspicious classes: FML and Forge are installed

2013-11-10 22:00:45 [iNFO] [sTDOUT] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0

2013-11-10 22:00:45 [iNFO] [sTDOUT] FML: MCP v8.11 FML v6.4.37.941 Minecraft Forge 9.11.1.941 4 mods loaded, 4 mods active

2013-11-10 22:00:45 [iNFO] [sTDOUT] mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available

2013-11-10 22:00:45 [iNFO] [sTDOUT] FML{6.4.37.941} [Forge Mod Loader] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available

2013-11-10 22:00:45 [iNFO] [sTDOUT] Forge{9.11.1.941} [Minecraft Forge] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available

2013-11-10 22:00:45 [iNFO] [sTDOUT] AblazeTheBest_UncleTomosMod{The best version ever.} [uncle Tomo's Minecraft Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available

2013-11-10 22:00:45 [iNFO] [sTDOUT] Launched Version: 1.6

2013-11-10 22:00:45 [iNFO] [sTDOUT] LWJGL: 2.9.0

2013-11-10 22:00:45 [iNFO] [sTDOUT] OpenGL: Intel® HD Graphics GL version 2.1.0 - Build 8.15.10.2104, Intel

2013-11-10 22:00:45 [iNFO] [sTDOUT] Is Modded: Definitely; Client brand changed to 'fml,forge'

2013-11-10 22:00:45 [iNFO] [sTDOUT] Type: Client (map_client.txt)

2013-11-10 22:00:45 [iNFO] [sTDOUT] Resource Pack: Default

2013-11-10 22:00:45 [iNFO] [sTDOUT] Current Language: English (US)

2013-11-10 22:00:45 [iNFO] [sTDOUT] Profiler Position: N/A (disabled)

2013-11-10 22:00:45 [iNFO] [sTDOUT] Vec3 Pool Size: 174 (9744 bytes; 0 MB) allocated, 40 (2240 bytes; 0 MB) used

2013-11-10 22:00:45 [iNFO] [sTDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\***\Desktop\forge 1.6.4\forge\mcp\jars\.\crash-reports\crash-2013-11-10_22.00.45-client.txt

2013-11-10 22:00:45 [iNFO] [Minecraft-Server] Stopping server

AL lib: (EE) alc_cleanup: 1 device not closed

 

 

I know the error, but how to fix it?

Add me on Skype: AblazeTheBest. Send a message saying "#HeyAblaze"

 

Currently: Making a mod!

Link to comment
Share on other sites

Seems you can't use the melon stem renderer without extending BlockStem.

You can do that, or set your own block renderer, there is a generic tutorial for that on the wiki.

 

I don't wish to extend the BlockStem. So for the other option - I can't find the tutorial for the custom renderer. Can you link me to it?

 

Regards,

Ablaze.

Add me on Skype: AblazeTheBest. Send a message saying "#HeyAblaze"

 

Currently: Making a mod!

Link to comment
Share on other sites

1. Create a class MyRenderer which implements ISimpleBlockRenderingHandler.

Add the auto-generated methods needed for this class. Copy and paste the rendering code from RenderBlocks (renderBlockStem) to the renderWorldBlock() method in MyRenderer. You might also want to copy renderBlockStemSmall and renderBlockStemBig to MyRenderer to get it to work (not sure). You'll get errors when pasting the code, e.g. "this." is the renderer parameter passed into renderWorldBlock(), so be sure to replace all (and anything else that does not match).

 

2. Assign it a myRenderID (your custom render ID) and link it to MyRenderer.

In your ClientProxy, declare myRenderID and add the following lines in the registerRenderers() method:

 

myRenderID = RenderingRegistry.getNextAvailableRenderId();

RenderingRegistry.registerBlockHandler(myRenderID , new MyRenderer());

 

3. Ensure your myBlock.getRenderType() returns myRenderID.

 

 

Hope I did'nt miss anything... but thats about it, I think  :)

 

 

Link to comment
Share on other sites

1. Create a class MyRenderer which implements ISimpleBlockRenderingHandler.

Add the auto-generated methods needed for this class. Copy and paste the rendering code from RenderBlocks (renderBlockStem) to the renderWorldBlock() method in MyRenderer. You might also want to copy renderBlockStemSmall and renderBlockStemBig to MyRenderer to get it to work (not sure). You'll get errors when pasting the code, e.g. "this." is the renderer parameter passed into renderWorldBlock(), so be sure to replace all (and anything else that does not match).

 

2. Assign it a myRenderID (your custom render ID) and link it to MyRenderer.

In your ClientProxy, declare myRenderID and add the following lines in the registerRenderers() method:

 

myRenderID = RenderingRegistry.getNextAvailableRenderId();

RenderingRegistry.registerBlockHandler(myRenderID , new MyRenderer());

 

3. Ensure your myBlock.getRenderType() returns myRenderID.

 

 

Hope I did'nt miss anything... but thats about it, I think  :)

 

Recently I've been hearing this ClientProxy thing really often. Can you tell me what it is and how to create it?

 

Regards,

Ablaze.

Add me on Skype: AblazeTheBest. Send a message saying "#HeyAblaze"

 

Currently: Making a mod!

Link to comment
Share on other sites

Yeah hehe it's kinda good to have at least a basic understanding of the proxies.

 

Check this out for some explanation and writing the basic shell code:

http://www.minecraftforge.net/wiki/Proxies

 

This one is good as well for setting up your proxies:

http://www.minecraftforum.net/topic/1891086-162-minecraft-forge-modding-3-reference-and-proxy-files/

 

And in your ClientProxy class you add the following method:

 

@Override
public void registerRenderers() {

}

Here is where you put the stuff i mentioned earlier. Well, the declaration of your custom renderTypeID don't need to be inside this method, put it above (as public).

Link to comment
Share on other sites

Yeah hehe it's kinda good to have at least a basic understanding of the proxies.

 

Check this out for some explanation and writing the basic shell code:

http://www.minecraftforge.net/wiki/Proxies

 

This one is good as well for setting up your proxies:

http://www.minecraftforum.net/topic/1891086-162-minecraft-forge-modding-3-reference-and-proxy-files/

 

And in your ClientProxy class you add the following method:

 

@Override
public void registerRenderers() {

}

Here is where you put the stuff i mentioned earlier. Well, the declaration of your custom renderTypeID don't need to be inside this method, put it above (as public).

 

Thanks!

 

1. Create a class MyRenderer which implements ISimpleBlockRenderingHandler.

Add the auto-generated methods needed for this class. Copy and paste the rendering code from RenderBlocks (renderBlockStem) to the renderWorldBlock() method in MyRenderer. You might also want to copy renderBlockStemSmall and renderBlockStemBig to MyRenderer to get it to work (not sure). You'll get errors when pasting the code, e.g. "this." is the renderer parameter passed into renderWorldBlock(), so be sure to replace all (and anything else that does not match).

 

Hmm... When I copy from renderBlockStem, there is a huge load of stuff that isn't in my class, such as parameters, local variables.

What do I do?

 

 

2. Assign it a myRenderID (your custom render ID) and link it to MyRenderer.

 

Where do I assign the myRenderID and what do you mean "link it to MyRenderer"?

 

Regards,

Ablaze.

Add me on Skype: AblazeTheBest. Send a message saying "#HeyAblaze"

 

Currently: Making a mod!

Link to comment
Share on other sites

Yeah, you'll have to take care of the errors one at a time.

 

this.blockAccess, remove "this." and only have blockAccess (the 1st in-parameter of renderWorldBlock should be a blockAccess).

You will also have to change the name of the in-parameters x,y, and z. x = par2, y = par3, z = par4. Also change block to par1Block.

You must match the in-parameters so they correspond to the names used in the code you copied from renderBlockStem.

 

The very fist line BlockStem blockstem = (BlockStem)par1Block; needs to be your customBlock.

 

renderMaxY i guess you don't have either. Perhaps you'll have to write a little method in your customBlockStem class that returns the bounding box's maxY-value.

and replace renderMaxY with something like blockStem.getBoundingBoxY().

 

Where do I assign the myRenderID and what do you mean "link it to MyRenderer"?

In your ClientProxy, declare myRenderID and add the following lines in the registerRenderers() method:

myRenderID = RenderingRegistry.getNextAvailableRenderId();

RenderingRegistry.registerBlockHandler(myRenderID , new MyRenderer());

 

Link to comment
Share on other sites

Yeah, you'll have to take care of the errors one at a time.

 

this.blockAccess, remove "this." and only have blockAccess (the 1st in-parameter of renderWorldBlock should be a blockAccess).

You will also have to change the name of the in-parameters x,y, and z. x = par2, y = par3, z = par4. Also change block to par1Block.

You must match the in-parameters so they correspond to the names used in the code you copied from renderBlockStem.

 

The very fist line BlockStem blockstem = (BlockStem)par1Block; needs to be your customBlock.

 

renderMaxY i guess you don't have either. Perhaps you'll have to write a little method in your customBlockStem class that returns the bounding box's maxY-value.

and replace renderMaxY with something like blockStem.getBoundingBoxY().

 

Where do I assign the myRenderID and what do you mean "link it to MyRenderer"?

In your ClientProxy, declare myRenderID and add the following lines in the registerRenderers() method:

myRenderID = RenderingRegistry.getNextAvailableRenderId();

RenderingRegistry.registerBlockHandler(myRenderID , new MyRenderer());

 

Thanks Frepo, but I achieved a close to perfect result by using the renderId 1! :) The mod is nearly ready for release, only one texture needs to be created.

 

Thanks GotoLink and thanks Frepo!

 

Locking the thread.

 

Regards,

Ablaze.

Add me on Skype: AblazeTheBest. Send a message saying "#HeyAblaze"

 

Currently: Making a mod!

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.