Jump to content

Register Render Entity Throwable?


BurningB

Recommended Posts

I am trying to resolve the tutorial for Blaster Rifle and when I shoot ,  the bullet is invisible and I don't know where to pus this:

 RenderingRegistry.registerEntityRenderingHandler(EntityBlasterBolt.class, new RenderBlasterBolt()

 

Everywhere i would put it , it's complaing at "registerEntityRenderingHandler"

 

Sorry for my bad English, I'm not native

Link to comment
Share on other sites

What does your renderer look like?

If you meant the code here it is:

package theking.generic;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PostInit;
import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraft.block.material.Material;
import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PostInit;
import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import theking.generic.client.*;

@Mod(modid="Generic", name="Generic", version="Beta 0.0.1")
@NetworkMod(clientSideRequired=true, serverSideRequired=false)
public class Generic {

        // The instance of your mod that Forge uses.
        @Instance("Generic")
        public static Generic instance;
        
        public final static Item blasterAmmo = new BlasterAmmo(5003);
        public final static Item blasterRifle = new ItemBlasterRifle(5002);
        public final static Item genericIngot = new GenericIngot(5001);						//Generic Ingot
        public final static Block genericDirt = new GenericDirt(500, 0, Material.ground);	//Generic Dirt
        public final static Block genericOre = new GenericOre(501, 1, Material.iron);		//Generic Ore
       
        // Says where the client and server 'proxy' code is loaded.
        @SidedProxy(clientSide="theking.generic.client.ClientProxy", serverSide="theking.generic.CommonProxy")
        public static CommonProxy proxy;
       
        @PreInit
        public void preInit(FMLPreInitializationEvent event) {
                // Stub Method
        }
       
        @Init
        public void load(FMLInitializationEvent event) throws Exception {
        	proxy.registerRenderers();
        	
        	
        	
        	//Incepe denumirea obiectelor
            LanguageRegistry.addName(genericDirt, "Generic Dirt");
            LanguageRegistry.addName(genericOre, "Generic Ore");
            LanguageRegistry.addName(genericIngot, "Generic Ingot");
            LanguageRegistry.addName(blasterRifle, "Blaster Rifle");
            LanguageRegistry.addName(blasterAmmo, "Blaster Rifle Ammo");
            
            //Incepe nivelul de distrugere si unealta cu care poate fi distrus
            MinecraftForge.setBlockHarvestLevel(genericDirt, "shovel", 0);
            MinecraftForge.setBlockHarvestLevel(genericOre, "pickaxe", 3);
            
            //Incepe inregistrarea obiectelor in joc
            GameRegistry.registerBlock(genericDirt, "genericDirt");
            GameRegistry.registerBlock(genericOre, "genericOre");
            
            //Incepe inregistrarea obiectelor pentru retete si folosirea lor mai usoara
            ItemStack itemGenericIngot = new ItemStack(genericIngot);
            ItemStack itemRedStoneDust = new ItemStack(Item.redstone);
            ItemStack itemAmmo = new ItemStack(blasterAmmo);

            
            //Incep retetele de crafting
            GameRegistry.addShapelessRecipe(itemAmmo, itemGenericIngot, itemRedStoneDust);
            
            //Incep retetele de furnal
            GameRegistry.addSmelting(genericOre.blockID, new ItemStack(genericIngot,1 ,0), 5.0f);
        }

        @PostInit
        public void postInit(FMLPostInitializationEvent event) {
                // Stub Method
        }
}

Link to comment
Share on other sites

What does your renderer look like?

If you meant the code here it is:

-snip-

 

No, he meant YOUR render class: RenderBlasterBolt

And don't post Mojang / Minecraft classes!

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Link to comment
Share on other sites

What does your renderer look like?

If you meant the code here it is:

-snip-

 

No, he meant YOUR render class: RenderBlasterBolt

And don't post Mojang / Minecraft classes!

Sorry...My bad.

 

That's still not the right code. Wee need the code from your class named "RenderBlasterBolt".

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Link to comment
Share on other sites

What does your renderer look like?

If you meant the code here it is:

-snip-

 

No, he meant YOUR render class: RenderBlasterBolt

And don't post Mojang / Minecraft classes!

Sorry...My bad.

 

That's still not the right code. Wee need the code from your class named "RenderBlasterBolt".

Here it is

package theking.generic;

import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

import net.minecraft.client.renderer.Tessellator;
import net.minecraft.entity.Entity;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.util.MathHelper;

public class RenderBlasterBolt {
public void renderArrow(EntityBlasterBolt par1EntityBlasterBolt, double par2, double par4, double par6, float par8, float par9) {

	 this.loadTexture("/item/arrows.png");
	 GL11.glPushMatrix();
	 GL11.glTranslatef((float)par2, (float)par4, (float)par6);
	 GL11.glRotatef(par1EntityBlasterBolt.prevRotationYaw + (par1EntityBlasterBolt.rotationYaw - par1EntityBlasterBolt.prevRotationYaw) * par9 - 90.0F, 0.0F, 1.0F, 0.0F);
	 GL11.glRotatef(par1EntityBlasterBolt.prevRotationPitch + (par1EntityBlasterBolt.rotationPitch - par1EntityBlasterBolt.prevRotationPitch) * par9, 0.0F, 0.0F, 1.0F);
	 Tessellator tessellator = Tessellator.instance;
	 byte b0 = 0;
	 float f2 = 0.0F;
	 float f3 = 0.5F;
	 float f4 = (float)(0 + b0 * 10) / 32.0F;
	 float f5 = (float)(5 + b0 * 10) / 32.0F;
	 float f6 = 0.0F;
	 float f7 = 0.15625F;
	 float f8 = (float)(5 + b0 * 10) / 32.0F;
	 float f9 = (float)(10 + b0 * 10) / 32.0F;
	 float f10 = 0.05625F;
	 GL11.glEnable(GL12.GL_RESCALE_NORMAL);



	 GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
	 GL11.glScalef(f10, f10, f10);
	 GL11.glTranslatef(-4.0F, 0.0F, 0.0F);
	 GL11.glNormal3f(f10, 0.0F, 0.0F);
	 tessellator.startDrawingQuads();
	 tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8);
	 tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8);
	 tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9);
	 tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9);
	 tessellator.draw();
	 GL11.glNormal3f(-f10, 0.0F, 0.0F);
	 tessellator.startDrawingQuads();
	 tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8);
	 tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8);
	 tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9);
	 tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9);
	 tessellator.draw();

	 for (int i = 0; i < 4; ++i)
	 {
	   GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
	   GL11.glNormal3f(0.0F, 0.0F, f10);
	   tessellator.startDrawingQuads();
	   tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4);
	   tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4);
	   tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5);
	   tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5);
	   tessellator.draw();
	 }
	 GL11.glDisable(GL12.GL_RESCALE_NORMAL);
	 GL11.glPopMatrix();
}

private void loadTexture(String string) {
	// TODO Auto-generated method stub

}
public void doRender(Entity entity, double d0, double d1, double d2,
 float f, float f1) {

}

}

Link to comment
Share on other sites

Your RenderBlastBold class has to extend Render. Also in the doRender method, you have to call your renderArrow method.

Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! |

mah twitter

This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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