Posted May 18, 201312 yr 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
May 18, 201312 yr Author What MC version are you using? I'm using the newest version of the Minecraft(1.5.2)
May 18, 201312 yr Author What does the error say? This: And the solution it says that it would resolve the problem is: But i don't want to change MC Classes
May 18, 201312 yr Author 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 } }
May 18, 201312 yr 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.
May 18, 201312 yr Author 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.
May 19, 201312 yr 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.
May 19, 201312 yr Author 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) { } }
May 19, 201312 yr 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.
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.