Jump to content
  • Home
  • Files
  • Docs
Topics
  • All Content

  • This Topic
  • This Forum

  • Advanced Search
  • Existing user? Sign In  

    Sign In



    • Not recommended on shared computers


    • Forgot your password?

  • Sign Up
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [Unsolved] 3D Item Renderer Weirdness
Currently Supported: 1.16.X (Latest) and 1.15.X (LTS)
Sign in to follow this  
Followers 2
chimera27

[Unsolved] 3D Item Renderer Weirdness

By chimera27, September 22, 2013 in Modder Support

  • Reply to this topic
  • Start new topic

Recommended Posts

chimera27    5

chimera27

chimera27    5

  • Creeper Killer
  • chimera27
  • Members
  • 5
  • 158 posts
Posted September 22, 2013

I've been trying to get an item from my mod to render with a nice 3D model, but after repeated attempts all i'm getting is this error:

 

 

 java.lang.NullPointerException
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at project.main.models.ModelPowerBeam.<init>(ModelPowerBeam.java:122)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at project.main.client.ItemRenderer.<init>(ItemRenderer.java:18)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at project.main.client.ClientProxy.registerRendering(ClientProxy.java:110)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at project.main.Main.preInit(Main.java:299)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at java.lang.reflect.Method.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:540)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at java.lang.reflect.Method.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at java.lang.reflect.Method.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at cpw.mods.fml.common.Loader.loadMods(Loader.java:521)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at net.minecraft.client.main.Main.main(Main.java:93)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at java.lang.reflect.Method.invoke(Unknown Source)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)
2013-09-21 22:14:41 [iNFO] [sTDOUT] 	at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

 

 

 

Anyone know what's going wrong? I've looked at all my code it's pointing out there and don't think i'm doing anything wrong.... Here's the files related to the rendering...

 

My ItemRenderer

 

package project.main.client;

import org.lwjgl.opengl.GL11;

import project.main.models.ModelPowerBeam;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.ForgeHooksClient;
import net.minecraftforge.client.IItemRenderer;

public class ItemRenderer implements IItemRenderer {

protected ModelPowerBeam powerbeamModel;

public ItemRenderer() {
	powerbeamModel = new ModelPowerBeam();
}

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
	switch (type) {
	case EQUIPPED:
		return true;
	default:
		return false;
	}
}

@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
		ItemRendererHelper helper) {
	return false;
}

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
	switch (type) {
	case EQUIPPED: {
		GL11.glPushMatrix();

		Minecraft.getMinecraft().renderEngine
				.func_110577_a(new ResourceLocation(
						"/assets/chimera27metroid/textures/models/powerbeam.png"));
powerbeamModel.render((Entity)data[1], 0,0,0,0,0,0.0625F);
		// ForgeHooksClient.unbindTexture();

		GL11.glPopMatrix();
	}
	default:
		break;
	}
}

}

 

ClientProxy:

 

package project.main.client;

import project.main.CommonProxy;
import project.main.EntityChargedIceBolt;
import project.main.EntityChargedPlasmaBolt;
import project.main.EntityChargedPowerBolt;
import project.main.EntityChargedWaveBolt;
import project.main.EntityDebugBolt;
import project.main.EntityDebugBolt2;
import project.main.EntityIceBolt;
import project.main.EntityMissile;
import project.main.EntityNovaBolt;
import project.main.EntityPhazonBeam;
import project.main.EntityPlasmaBolt;
import project.main.EntityPowerBolt;
import project.main.EntityPulse;
import project.main.EntitySpeedBooster;
import project.main.EntitySpeedBoosterModel;
import project.main.EntityWaveBolt;
import project.main.Main;
import project.main.PowerUpGui;
import project.main.RenderChargedIceBolt;
import project.main.RenderChargedPlasmaBolt;
import project.main.RenderChargedPowerBolt;
import project.main.RenderChargedWaveBolt;
import project.main.RenderDebugBolt;
import project.main.RenderDebugBolt2;
import project.main.RenderIceBolt;
import project.main.RenderMissile;
import project.main.RenderNovaBolt;
import project.main.RenderPhazonBeam;
import project.main.RenderPlasmaBolt;
import project.main.RenderPowerBolt;
import project.main.RenderPulse;
import project.main.RenderSpeedBooster;
import project.main.RenderWaveBolt;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.registry.EntityRegistry;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.MinecraftForgeClient;

public class ClientProxy extends CommonProxy {

public void registerRendering() {
	EntityRegistry.registerGlobalEntityID(EntityIceBolt.class, "IceBolt",
			EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(EntityIceBolt.class,
			new RenderIceBolt());
	EntityRegistry.registerGlobalEntityID(EntityPowerBolt.class,
			"PowerBolt", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(EntityPowerBolt.class,
			new RenderPowerBolt());
	EntityRegistry.registerGlobalEntityID(EntityWaveBolt.class, "WaveBolt",
			EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(EntityWaveBolt.class,
			new RenderWaveBolt());
	EntityRegistry.registerGlobalEntityID(EntityPlasmaBolt.class,
			"PlasmaBolt", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(
			EntityPlasmaBolt.class, new RenderPlasmaBolt());
	EntityRegistry.registerGlobalEntityID(EntityMissile.class, "Missile",
			EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(EntityMissile.class,
			new RenderMissile());
	EntityRegistry.registerGlobalEntityID(EntityChargedIceBolt.class,
			"ChargedIceBolt", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(
			EntityChargedIceBolt.class, new RenderChargedIceBolt());
	EntityRegistry.registerGlobalEntityID(EntityChargedPowerBolt.class,
			"ChargedPowerBolt", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(
			EntityChargedPowerBolt.class, new RenderChargedPowerBolt());
	EntityRegistry.registerGlobalEntityID(EntityChargedWaveBolt.class,
			"ChargedWaveBolt", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(
			EntityChargedWaveBolt.class, new RenderChargedWaveBolt());
	EntityRegistry.registerGlobalEntityID(EntityChargedPlasmaBolt.class,
			"ChargedPlasmaBolt", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(
			EntityChargedPlasmaBolt.class, new RenderChargedPlasmaBolt());
	EntityRegistry.registerGlobalEntityID(EntityPhazonBeam.class,
			"phazonbeam", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(
			EntityPhazonBeam.class, new RenderPhazonBeam());
	EntityRegistry.registerGlobalEntityID(EntityNovaBolt.class, "novabolt",
			EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(EntityNovaBolt.class,
			new RenderNovaBolt());
	EntityRegistry.registerGlobalEntityID(EntitySpeedBooster.class, "SpeedBooster",
			EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(EntitySpeedBooster.class,
			new RenderSpeedBooster());
	EntityRegistry.registerGlobalEntityID(EntityDebugBolt.class,
			"DebugBolt", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(
			EntityDebugBolt.class, new RenderDebugBolt());
	EntityRegistry.registerGlobalEntityID(EntityDebugBolt2.class,
			"DebugBolt2", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(
			EntityDebugBolt2.class, new RenderDebugBolt2());
	EntityRegistry.registerGlobalEntityID(EntityPulse.class,
			"Pulse", EntityRegistry.findGlobalUniqueEntityId());
	RenderingRegistry.registerEntityRenderingHandler(
			EntityPulse.class, new RenderPulse());
	MinecraftForgeClient.registerItemRenderer(Main.ItemPowerBeam.itemID, (IItemRenderer)new ItemRenderer());

}

public int addArmor(String armor) {
	return RenderingRegistry.addNewArmourRendererPrefix(armor);

}

public void addTabsToInventory(GuiContainer currentScreen) {

}








}

 

 

ModelPowerBeam:

 

package project.main.models;

 

import net.minecraft.client.model.ModelBase;

import net.minecraft.client.model.ModelRenderer;

import net.minecraft.entity.Entity;

 

public class ModelPowerBeam extends ModelBase

{

//fields

public  ModelRenderer Shape1;

public  ModelRenderer Shape2;

public  ModelRenderer Shape3;

public  ModelRenderer Shape4;

public  ModelRenderer Shape5;

public  ModelRenderer Shape7;

public  ModelRenderer Shape8;

public  ModelRenderer Shape6;

public  ModelRenderer Shape9;

public  ModelRenderer Shape10;

public  ModelRenderer Shape11;

public  ModelRenderer Shape12;

public  ModelRenderer Shape13;

public  ModelRenderer Shape14;

public  ModelRenderer Shape15;

public  ModelRenderer Shape16;

 

public ModelPowerBeam()

{

textureWidth = 64;

textureHeight = 32;

 

Shape1 = new ModelRenderer(this, 0, 4);

Shape1.addBox(0F, 0F, 0F, 18, 3, 1);

Shape1.setRotationPoint(3F, -1F, -3F);

Shape1.setTextureSize(64, 32);

Shape1.mirror = true;

setRotation(Shape1, 0F, 1.570796F, 0F);

Shape2 = new ModelRenderer(this, 0, 12);

Shape2.addBox(0F, 0F, 0F, 18, 3, 1);

Shape2.setRotationPoint(-3F, -1F, -3F);

Shape2.setTextureSize(64, 32);

Shape2.mirror = true;

setRotation(Shape2, 0F, 1.570796F, 0F);

Shape3 = new ModelRenderer(this, 0, 0);

Shape3.addBox(0F, -3F, -1F, 18, 1, 3);

Shape3.setRotationPoint(0F, 0F, -3F);

Shape3.setTextureSize(64, 32);

Shape3.mirror = true;

setRotation(Shape3, 0F, 1.570796F, 0F);

Shape4 = new ModelRenderer(this, 0, 8);

Shape4.addBox(0F, 0F, 0F, 18, 1, 3);

Shape4.setRotationPoint(-1F, 3F, -3F);

Shape4.setTextureSize(64, 32);

Shape4.mirror = true;

setRotation(Shape4, 0F, 1.570796F, 0F);

Shape5 = new ModelRenderer(this, 0, 18);

Shape5.addBox(0F, 0F, 0F, 18, 1, 1);

Shape5.setRotationPoint(2F, 2F, -3F);

Shape5.setTextureSize(64, 32);

Shape5.mirror = true;

setRotation(Shape5, 0F, 1.570796F, 0F);

Shape7 = new ModelRenderer(this, 0, 22);

Shape7.addBox(0F, 0F, 0F, 18, 1, 1);

Shape7.setRotationPoint(-2F, -2F, -3F);

Shape7.setTextureSize(64, 32);

Shape7.mirror = true;

setRotation(Shape7, 0F, 1.570796F, 0F);

Shape8 = new ModelRenderer(this, 0, 16);

Shape8.addBox(0F, 0F, 0F, 18, 1, 1);

Shape8.setRotationPoint(2F, -2F, -3F);

Shape8.setTextureSize(64, 32);

Shape8.mirror = true;

setRotation(Shape8, 0F, 1.570796F, 0F);

Shape6 = new ModelRenderer(this, 0, 20);

Shape6.addBox(0F, 0F, 0F, 18, 1, 1);

Shape6.setRotationPoint(-2F, 2F, -3F);

Shape6.setTextureSize(64, 32);

Shape6.mirror = true;

setRotation(Shape6, 0F, 1.570796F, 0F);

Shape9 = new ModelRenderer(this, 0, 24);

Shape9.addBox(0F, 0F, 0F, 3, 1, 6);

Shape9.setRotationPoint(-1F, -2F, -26F);

Shape9.setTextureSize(64, 32);

Shape9.mirror = true;

setRotation(Shape9, 0F, 0F, 0F);

Shape10 = new ModelRenderer(this, 38, 23);

Shape10.addBox(0F, 0F, 0F, 1, 3, 6);

Shape10.setRotationPoint(2F, -1F, -26F);

Shape10.setTextureSize(64, 32);

Shape10.mirror = true;

setRotation(Shape10, 0F, 0F, 0F);

Shape11 = new ModelRenderer(this, 38, 14);

Shape11.addBox(0F, 0F, 0F, 1, 3, 6);

Shape11.setRotationPoint(-2F, -1F, -26F);

Shape11.setTextureSize(64, 32);

Shape11.mirror = true;

setRotation(Shape11, 0F, 0F, 0F);

Shape12 = new ModelRenderer(this, 43, 1);

Shape12.addBox(0F, 0F, 0F, 3, 1, 6);

Shape12.setRotationPoint(-1F, 2F, -26F);

Shape12.setTextureSize(64, 32);

Shape12.mirror = true;

setRotation(Shape12, 0F, 0F, 0F);

Shape13 = new ModelRenderer(this, 0, -1);

Shape13.addBox(0F, 0F, 0F, 5, 3, 1);

Shape13.setRotationPoint(-2F, -1F, -4F);

Shape13.setTextureSize(64, 32);

Shape13.mirror = true;

setRotation(Shape13, 0F, 0F, 0F);

Shape14 = new ModelRenderer(this, 0, 0);

Shape14.addBox(0F, 0F, 0F, 3, 1, 1);

Shape14.setRotationPoint(-1F, -2F, -4F);

Shape14.setTextureSize(64, 32);

Shape14.mirror = true;

setRotation(Shape14, 0F, 0F, 0F);

Shape15 = new ModelRenderer(this, 0, 0);

Shape15.addBox(0F, 0F, 0F, 3, 1, 1);

Shape15.setRotationPoint(-1F, 2F, -4F);

Shape15.setTextureSize(64, 32);

Shape15.mirror = true;

setRotation(Shape15, 0F, 0F, 0F);

Shape16.mirror = true;

Shape16 = new ModelRenderer(this, 0, 4);

Shape16.addBox(0F, 0F, 0F, 3, 1, 9);

Shape16.setRotationPoint(-1F, -4F, -13F);

Shape16.setTextureSize(64, 32);

Shape16.mirror = true;

setRotation(Shape16, 0F, 0F, 0F);

Shape16.mirror = false;

}

 

public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)

{

super.render(entity, f, f1, f2, f3, f4, f5);

setRotationAngles(f, f1, f2, f3, f4, f5, entity);

Shape1.render(f5);

Shape2.render(f5);

Shape3.render(f5);

Shape4.render(f5);

Shape5.render(f5);

Shape7.render(f5);

Shape8.render(f5);

Shape6.render(f5);

Shape9.render(f5);

Shape10.render(f5);

Shape11.render(f5);

Shape12.render(f5);

Shape13.render(f5);

Shape14.render(f5);

Shape15.render(f5);

Shape16.render(f5);

}

 

private void setRotation(ModelRenderer model, float x, float y, float z)

{

model.rotateAngleX = x;

model.rotateAngleY = y;

model.rotateAngleZ = z;

}

 

public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)

{

super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);

}

 

}

 

And the only relevant thing in my main is that i'm registering my renderers through my clientproxy in my preinit

 

 

Anyone know what i'm doing wrong here?

  • Quote

Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more!

width=174 height=100http://i.imgur.com/ghgWmA3.jpg[/img]

Share this post


Link to post
Share on other sites

Kakarotvg    6

Kakarotvg

Kakarotvg    6

  • Creeper Killer
  • Kakarotvg
  • Members
  • 6
  • 124 posts
Posted September 22, 2013

try changing

 

protected ModelPowerBeam powerbeamModel;

to

private ModelPowerBeam powerbeamModel;

 

and try using the latest version of forge instead of the recommended version from here

http://www.files.minecraftforge.net

 

in the latest versions func_110577_a was replaced with bindTexture so try using that, as well as what I said above about the private, if it still doesn't work let me know.

  • Quote

if (You.likescoding == false){
      You.goaway;
}

Share this post


Link to post
Share on other sites

TheGreyGhost    819

TheGreyGhost

TheGreyGhost    819

  • Reality Controller
  • TheGreyGhost
  • Members
  • 819
  • 3280 posts
Posted September 22, 2013

Hi

 

The error appears to be occurring in your ModelPowerBeam constructor, so have you tried stripping the  constructor down to something very simple (or even empty) and then adding the statements back in, one by one?  Or setting a breakpoint in the constructor?  Perhaps you have initialised one of the shapes in the wrong order?

 

(BTW - in Java it would generally be considered best practice to call your variables shape1 not Shape1 etc).

 

-TGG

 

 

 

 

 

 

 

 

  • Quote

Share this post


Link to post
Share on other sites

GotoLink    381

GotoLink

GotoLink    381

  • World Shaper
  • GotoLink
  • Members
  • 381
  • 2012 posts
Posted September 22, 2013

EntityRegistry.registerGlobalEntityID(EntityIceBolt.class, "IceBolt",
			EntityRegistry.findGlobalUniqueEntityId());

Why are those registered on client side in registerRendering() ?

  • Quote

Share this post


Link to post
Share on other sites

chimera27    5

chimera27

chimera27    5

  • Creeper Killer
  • chimera27
  • Members
  • 5
  • 158 posts
Posted September 22, 2013

Changing it to private didn't change anything related to the error, and the model was made via techne, so the function names and such were generated by it, also I put the entity and renderer registries in my clientproxy because that's what I saw to do in the tutorial on making them... I'm gona try updating forge because that might help but i'm fairly certain that Minecraft.getMinecraft().renderEngine.func_110577_a(new ResourceLocation(

isn't even being called because it crashes first

 

 

 

Edit: Anyone know where a list of the new names for functions is for 1.6.4? 'Cause it's a bit hard to discern what things like func_110775_a were supposed to be doing......

 

Edit Edit: Nevermind, managed to discern them!

  • Quote

Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more!

width=174 height=100http://i.imgur.com/ghgWmA3.jpg[/img]

Share this post


Link to post
Share on other sites

chimera27    5

chimera27

chimera27    5

  • Creeper Killer
  • chimera27
  • Members
  • 5
  • 158 posts
Posted September 22, 2013

Just tried updating, didn't change anything -_- I honistly have no idea what's wrong, gona try // ing some of the lines in my modelpowerbeam class to see if it helps anything but i'm still fairly certain that's not it because it was generated by techne and all the methods it calls exist and are used right as far as I can tell...

  • Quote

Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more!

width=174 height=100http://i.imgur.com/ghgWmA3.jpg[/img]

Share this post


Link to post
Share on other sites

Dmitchell94    2

Dmitchell94

Dmitchell94    2

  • Tree Puncher
  • Dmitchell94
  • Members
  • 2
  • 32 posts
Posted September 22, 2013

I put the entity and renderer registries in my clientproxy because that's what I saw to do in the tutorial on making them...

 

Do you have a link to the tutorial because ive been trying to find a good one and have not been able to.

  • Quote

Share this post


Link to post
Share on other sites

GotoLink    381

GotoLink

GotoLink    381

  • World Shaper
  • GotoLink
  • Members
  • 381
  • 2012 posts
Posted September 22, 2013

Changing it to private didn't change anything related to the error, and the model was made via techne, so the function names and such were generated by it, also I put the entity and renderer registries in my clientproxy because that's what I saw to do in the tutorial on making them...

Follow the tutorials in forge wiki, not some random shi**y tutorial.

  • Quote

Share this post


Link to post
Share on other sites

Dmitchell94    2

Dmitchell94

Dmitchell94    2

  • Tree Puncher
  • Dmitchell94
  • Members
  • 2
  • 32 posts
Posted September 22, 2013

and youve found a rendering tut in the forge wiki that is detailed. the one i saw was fairly basic and not really to clear

 

  • Quote

Share this post


Link to post
Share on other sites

chimera27    5

chimera27

chimera27    5

  • Creeper Killer
  • chimera27
  • Members
  • 5
  • 158 posts
Posted September 22, 2013

Ok I found the source of the crash, Shape16.mirror(); was being called thrice, once before Shape16 was fully initialized, buggy techne is buggy I guess :/ Anyway, now there's a new issue, the model isn't rendering, it's just using the inventory sprite not the model...

  • Quote

Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more!

width=174 height=100http://i.imgur.com/ghgWmA3.jpg[/img]

Share this post


Link to post
Share on other sites

Mew    36

Mew

Mew    36

  • Dragon Slayer
  • Mew
  • Members
  • 36
  • 567 posts
Posted September 23, 2013

That will probably be because you are not in the view that you specified in your render code xD

 

if you told it to only render the model in third person, it will only render in third person. If you tell it to only render the model in first person, it will only render in first person.

  • Quote

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Share this post


Link to post
Share on other sites

chimera27    5

chimera27

chimera27    5

  • Creeper Killer
  • chimera27
  • Members
  • 5
  • 158 posts
Posted September 23, 2013

Herpdy Derp!! Thanks, probs never would have realized that... lol I feel like the kind of person that thinks they lost their sunglasses and then realizes they were wearing them the whole time right about now...

 

 

Also btw the tutorial that told me to register my entities in my clientproxy is a forge tutorial, its the making of a space marine mod or something like that, it was quite comprehensive....

 

Wait, wat. For whatever reason it's rendering facing the ground...... That's not how my techne model had it, i'm assuming rotation is something i'm supposed to specify myself somewhere isn't it.... anyone know what I would do that under? 8nj5ZBZ.png

  • Quote

Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more!

width=174 height=100http://i.imgur.com/ghgWmA3.jpg[/img]

Share this post


Link to post
Share on other sites

Mew    36

Mew

Mew    36

  • Dragon Slayer
  • Mew
  • Members
  • 36
  • 567 posts
Posted September 23, 2013

Herpdy Derp!! Thanks, probs never would have realized that... lol I feel like the kind of person that thinks they lost their sunglasses and then realizes they were wearing them the whole time right about now...

 

 

Also btw the tutorial that told me to register my entities in my clientproxy is a forge tutorial, its the making of a space marine mod or something like that, it was quite comprehensive....

 

Haha, thanks for the laugh mate! Sounds a bit like my Grandma... "Have you seen my glasses?", * I point to my eye *, * she puts her hand to her face and finds the glasses sitting on her nose * "Thank you dear".

  • Quote

I am Mew. The Legendary Psychic. I behave oddly and am always playing practical jokes.

 

I have also found that I really love making extremely long and extremely but sometimes not so descriptive variables. Sort of like what I just did there xD

Share this post


Link to post
Share on other sites

chimera27    5

chimera27

chimera27    5

  • Creeper Killer
  • chimera27
  • Members
  • 5
  • 158 posts
Posted September 23, 2013

Actually 2 more things are going wrong (could be one causing both)

First, it's being wielded like a sword, how would I go about changing the angle its wielded at? It's wielded right in 3rd person, but not first, even though the code is the same for both...

 

Second, the model pieces are segmented and spaced randomly as if they've been thrown around, here's a pic for refrence:

KstjY9f.png

It's the same in 3rd person as 1st

Here's how it's supposed to look:

KSisIsN.png

  • Quote

Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more!

width=174 height=100http://i.imgur.com/ghgWmA3.jpg[/img]

Share this post


Link to post
Share on other sites

Alix_The_Alicorn    14

Alix_The_Alicorn

Alix_The_Alicorn    14

  • Creeper Killer
  • Alix_The_Alicorn
  • Members
  • 14
  • 237 posts
Posted September 23, 2013

Just reading through this, and just incase the item not rendering in first person, the case you use is EQUIPPED_FIRST_PERSON in your item renderer class

  • Quote

Share this post


Link to post
Share on other sites

chimera27    5

chimera27

chimera27    5

  • Creeper Killer
  • chimera27
  • Members
  • 5
  • 158 posts
Posted September 23, 2013

I did that, my Itemrenderer is as follows (I should have posted this earlier):

 

package project.main.client;

import org.lwjgl.opengl.GL11;

import project.main.models.ModelPowerBeam;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.ForgeHooksClient;
import net.minecraftforge.client.IItemRenderer;

public class ItemRenderer implements IItemRenderer {

private ModelPowerBeam powerbeamModel;

public ItemRenderer() {
	powerbeamModel = new ModelPowerBeam();
}

@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
	switch (type) {
	case EQUIPPED:
		return true;
	case EQUIPPED_FIRST_PERSON:
		return true;
	default:
		return false;
	}
}

@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item,
		ItemRendererHelper helper) {
	return false;
}

@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
	switch (type) {
	case EQUIPPED: {
		GL11.glPushMatrix();

		Minecraft.getMinecraft().renderEngine
				.bindTexture(new ResourceLocation(
						"chimera27metroid:powerbeam.png"));
powerbeamModel.render((Entity)data[1], 0,0,0,0,0,0.0625F);
		GL11.glPopMatrix();
	}
	case EQUIPPED_FIRST_PERSON: {
		GL11.glPushMatrix();

		Minecraft.getMinecraft().renderEngine
				.bindTexture(new ResourceLocation(
						"chimera27metroid:powerbeam.png"));
powerbeamModel.render((Entity)data[1], 0,0,0,0,0,0.0625F);
		GL11.glPopMatrix();
	}
	case ENTITY: {
		GL11.glPushMatrix();

		Minecraft.getMinecraft().renderEngine
				.bindTexture(new ResourceLocation(
						"chimera27metroid/textures/models/powerbeam.png"));
powerbeamModel.render((Entity)data[1], 1,0,0,0,0,0.00F);
		GL11.glPopMatrix();
	}
	default:
		break;
	}
}

}

 

  • Quote

Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more!

width=174 height=100http://i.imgur.com/ghgWmA3.jpg[/img]

Share this post


Link to post
Share on other sites

TheGreyGhost    819

TheGreyGhost

TheGreyGhost    819

  • Reality Controller
  • TheGreyGhost
  • Members
  • 819
  • 3280 posts
Posted September 23, 2013

Hi

 

You might find this link useful, it shows the various coordinate transformations that Minecraft/Forge apply before calling your IItemRenderer, depending on the view.  You'll notice that the zpos ("3") face often points in different directions from what you might expect.

 

http://greyminecraftcoder.blogspot.com.au/2013/09/custom-item-rendering-using.html

 

There's also another property for Items I didn't mention..

 

public boolean Item.shouldRotateAroundWhenRendering()

    /**

    * Returns true if this item should be rotated by 180 degrees around the Y axis when being held in an entities

    * hands.

    */

 

-TGG

  • Quote

Share this post


Link to post
Share on other sites

chimera27    5

chimera27

chimera27    5

  • Creeper Killer
  • chimera27
  • Members
  • 5
  • 158 posts
Posted September 23, 2013

I probs should have said this earlier, but last jight after playing around with it I finally managed to got it to go where i wanted it, but it's only visible when i'm in 3rd person! Te EXACT same rendering code is being called for first and 3rd person, and i did make sure to tell it to render it in first person this time! I can't post the code rigt now because i'm at school, but if anyone knows a general reason this would be the case it would be much appreciated!

  • Quote

Creator of Metroid Cubed! Power Suits, Beams, Hypermode and more!

width=174 height=100http://i.imgur.com/ghgWmA3.jpg[/img]

Share this post


Link to post
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  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.

    • Insert image from URL
×
  • Desktop
  • Tablet
  • Phone
Sign in to follow this  
Followers 2
Go To Topic Listing



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • DrCowiber
      Failed To Start Minecraft Server

      By DrCowiber · Posted 13 minutes ago

      I dont think this has anything to do with the OS, but with maybe the way I installed java? I installed Ubuntu made for the raspberry pi 4 and the same message happened. im installing java with "sudo apt-get install default-jdk", So I tried again with "sudo apt-get install default-jre" and ended up reinstalling the jdk too, same thing happened.
    • CyberNation
      Forge 1.7.10 Server Failed to write Transciever Channels

      By CyberNation · Posted 25 minutes ago

      i made a custom 1.7.10 modpack for my friends and I to play on decided to move it over to my own server host and now im getting an error when starting ive spent several hours trying to look for a solution and cant seem to find one im not sure if im in the right place for this but i hope someone can help me     17:44:27 Can't revert to frozen GameData state without freezing first. Server thread/INFO 17:44:27 Applying holder lookups Holder lookups applied Server thread/WARN 17:44:27 Failed to write Transciever Channels on exit: java.util.concurrent.ExecutionException: java.lang.NullPointerException Server thread/INFO 17:44:27 The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED. Errors may have been discarded. The state engine was in incorrect state ERRORED and forced into state AVAILABLE. Errors may have been discarded.     full Crash Log Report: Paste Bin https://pastebin.com/cxgY3t6q
    • DrCowiber
      Failed To Start Minecraft Server

      By DrCowiber · Posted 46 minutes ago

      Im wondering if changing the launch options for the main server jar will fix that? I saw some threads where some peoples launch files had "-o" as a launch option, is there a way I can change the launch options for when the vanilla server is launched?
    • DrCowiber
      Failed To Start Minecraft Server

      By DrCowiber · Posted 56 minutes ago

      When I run my forge Server it goes fine, but when I try to host off my Raspberry Pi 4 Model B 8GB RAM, using the 32-bit raspbian and 64-bit raspbian, I get this error at the end of log.   jpotsimple.UnrecognizedOptionException: o is not a recognized option     The full log file: https://pastebin.com/n4GpC53Q   Edit: This also happens when running the vanilla jar in the folder. This didn't happen with a vanilla installed from minecraft.net, so Im thinking that the jar file has that extra '-o' on it somewhere that causes this. vanilla log file: https://pastebin.com/pSq76TYp
    • KBomb
      Forge 1.12.2 Server Crashing On Start-up

      By KBomb · Posted 1 hour ago

      I have been able to run the server in vanilla, but after adding the mods the server is crashing during the start-up. I will attach the crash report. I also have screenshots of what the server console was displaying if that may be necessary. crash-2021-02-24_18.58.56-server.txt
  • Topics

    • DrCowiber
      2
      Failed To Start Minecraft Server

      By DrCowiber
      Started 56 minutes ago

    • CyberNation
      0
      Forge 1.7.10 Server Failed to write Transciever Channels

      By CyberNation
      Started 25 minutes ago

    • KBomb
      0
      Forge 1.12.2 Server Crashing On Start-up

      By KBomb
      Started 1 hour ago

    • milkman69
      0
      My game keeps crashing and I haven't even added any mods on yet

      By milkman69
      Started 2 hours ago

    • Skyriis
      0
      [1.16.5] Adding a Button to KeyBindings

      By Skyriis
      Started 3 hours ago

  • Who's Online (See full list)

    • jbko6
    • CyberNation
    • Jeldrik
    • DrCowiber
    • William59
    • Taknax
    • mcnuggies
    • Draco18s
  • All Activity
  • Home
  • Mod Developer Central
  • Modder Support
  • [Unsolved] 3D Item Renderer Weirdness
  • Theme

Copyright © 2019 ForgeDevelopment LLC · Ads by Longitude Ads LLC Powered by Invision Community