Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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

  • Author

What does the error say?

This:

ZrDv9.jpg

And the solution it says that it would resolve the problem is:

noAga.jpg

But i don't want to change MC Classes

  • 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
        }
}

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.

  • 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.

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.

  • 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) {

}

}

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.

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.