Jump to content

Recommended Posts

Posted

Anyone know what the error is? Because I have no actual errors showing but it crashes when I try to load the game up?

 

 

  Reveal hidden contents

 

Posted

Anyone know what the error is? Because I have no actual errors showing but it crashes when I try to load the game up?

 

 

  Reveal hidden contents

 

Posted

java.lang.NullPointerException

  at net.minecraft.client.resources.model.ModelBakery.registerItemVariants(ModelBakery.java:759) ~[forgeSrc-1.8.9-11.15.1.1722.jar:?]

  at com.MonstrousApple.mod.proxy.ClientProxy.registerModelBakery(ClientProxy.java:58) ~[bin/:?]

 

You have a NPE created when your registerModelBakery passes something (likely a null object) to ModelBakery.registerItemVariants

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

java.lang.NullPointerException

  at net.minecraft.client.resources.model.ModelBakery.registerItemVariants(ModelBakery.java:759) ~[forgeSrc-1.8.9-11.15.1.1722.jar:?]

  at com.MonstrousApple.mod.proxy.ClientProxy.registerModelBakery(ClientProxy.java:58) ~[bin/:?]

 

You have a NPE created when your registerModelBakery passes something (likely a null object) to ModelBakery.registerItemVariants

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

I was passing it to MAMetaBlocks, is there something wrong I did in there?

 

Client Proxy:

package com.MonstrousApple.mod.proxy;

import com.MonstrousApple.mod.blocks.MABlocks;
import com.MonstrousApple.mod.blocks.MAMetaBlocks;
import com.MonstrousApple.mod.items.MAItems;
import com.MonstrousApple.mod.metadataitems.MAMetadataItems;
import com.MonstrousApple.mod.render.MABlockRender;
import com.MonstrousApple.mod.render.MAGemRender;
import com.MonstrousApple.mod.render.MAGemstoneRender;
import com.MonstrousApple.mod.render.MAItemRender;
import com.MonstrousApple.mod.render.MAMetadataItemRender;
import com.MonstrousApple.mod.render.MAOreRender;
import com.MonstrousApple.mod.render.MASoulRender;

import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class ClientProxy extends CommonProxy {

public void preInit(FMLPreInitializationEvent preEvent) {

	super.preInit(preEvent);

	}


public void init(FMLInitializationEvent event) {

	super.init(event);

	MABlockRender.registerBlockRender();
	MAItemRender.registerItemRender();
	MAOreRender.registerOreRender();	
	MAGemRender.registerGemRender();
	MASoulRender.registerSoulRender();
	MAGemstoneRender.registerGemstoneRender();
	MAMetadataItemRender.registerMetadataItemRender();
}

@Override
public void registerModelBakery() {
	//Gears
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:WoodGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:StoneGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:IronGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:GoldGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:DiamondGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:CopperGear"));


	//Block Breakers
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:wood_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:stone_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:iron_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:gold_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:diamond_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:copper_block_breaker"));

}

public void postInit(FMLPostInitializationEvent postEvent) {

	super.postInit(postEvent);

}

}

 

 

MAMetaBlocks:

package com.MonstrousApple.mod.blocks;

import com.MonstrousApple.mod.MAGlobal;
import com.MonstrousApple.mod.handler.EnumHandler;

import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class MAMetaBlocks {

public static Block block_breaker;

public static void init() {
	block_breaker = new BlockBlockBreaker("block_breaker");
}

public static void register() {

	GameRegistry.registerBlock(block_breaker, ItemBlockMeta.class, "block_breaker");
}

public static void registerRenders() {

	for(int i = 0; i < EnumHandler.BlockBreakerTypes.values().length; i++) {
		registerRender(block_breaker, i, EnumHandler.BlockBreakerTypes.values()[i].getName() + "_block_breaker");
	}
}

public static void registerBlock(Block block) {
	GameRegistry.registerBlock(block, block.getUnlocalizedName().substring(5));
	System.out.println("Registered Block: " + block.getUnlocalizedName().substring(5));
}

public static void registerRender(Block block, int meta, String fileName) {
	Item item = Item.getItemFromBlock(block);
	Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, meta,
			new ModelResourceLocation(MAGlobal.MOD_ID + ":" + fileName, "inventory"));
}

}

Posted

I was passing it to MAMetaBlocks, is there something wrong I did in there?

 

Client Proxy:

package com.MonstrousApple.mod.proxy;

import com.MonstrousApple.mod.blocks.MABlocks;
import com.MonstrousApple.mod.blocks.MAMetaBlocks;
import com.MonstrousApple.mod.items.MAItems;
import com.MonstrousApple.mod.metadataitems.MAMetadataItems;
import com.MonstrousApple.mod.render.MABlockRender;
import com.MonstrousApple.mod.render.MAGemRender;
import com.MonstrousApple.mod.render.MAGemstoneRender;
import com.MonstrousApple.mod.render.MAItemRender;
import com.MonstrousApple.mod.render.MAMetadataItemRender;
import com.MonstrousApple.mod.render.MAOreRender;
import com.MonstrousApple.mod.render.MASoulRender;

import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;

public class ClientProxy extends CommonProxy {

public void preInit(FMLPreInitializationEvent preEvent) {

	super.preInit(preEvent);

	}


public void init(FMLInitializationEvent event) {

	super.init(event);

	MABlockRender.registerBlockRender();
	MAItemRender.registerItemRender();
	MAOreRender.registerOreRender();	
	MAGemRender.registerGemRender();
	MASoulRender.registerSoulRender();
	MAGemstoneRender.registerGemstoneRender();
	MAMetadataItemRender.registerMetadataItemRender();
}

@Override
public void registerModelBakery() {
	//Gears
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:WoodGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:StoneGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:IronGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:GoldGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:DiamondGear"));
	ModelBakery.registerItemVariants(MAMetadataItems.Gear, new ResourceLocation("ma:CopperGear"));


	//Block Breakers
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:wood_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:stone_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:iron_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:gold_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:diamond_block_breaker"));
	ModelBakery.registerItemVariants(Item.getItemFromBlock(MAMetaBlocks.block_breaker), new ResourceLocation ("ma:copper_block_breaker"));

}

public void postInit(FMLPostInitializationEvent postEvent) {

	super.postInit(postEvent);

}

}

 

 

MAMetaBlocks:

package com.MonstrousApple.mod.blocks;

import com.MonstrousApple.mod.MAGlobal;
import com.MonstrousApple.mod.handler.EnumHandler;

import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class MAMetaBlocks {

public static Block block_breaker;

public static void init() {
	block_breaker = new BlockBlockBreaker("block_breaker");
}

public static void register() {

	GameRegistry.registerBlock(block_breaker, ItemBlockMeta.class, "block_breaker");
}

public static void registerRenders() {

	for(int i = 0; i < EnumHandler.BlockBreakerTypes.values().length; i++) {
		registerRender(block_breaker, i, EnumHandler.BlockBreakerTypes.values()[i].getName() + "_block_breaker");
	}
}

public static void registerBlock(Block block) {
	GameRegistry.registerBlock(block, block.getUnlocalizedName().substring(5));
	System.out.println("Registered Block: " + block.getUnlocalizedName().substring(5));
}

public static void registerRender(Block block, int meta, String fileName) {
	Item item = Item.getItemFromBlock(block);
	Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, meta,
			new ModelResourceLocation(MAGlobal.MOD_ID + ":" + fileName, "inventory"));
}

}

Posted

Okay I got that error sorted, but now my textures don't load, can anyone tell why from this?:

 

 

  Reveal hidden contents

 

Posted

Okay I got that error sorted, but now my textures don't load, can anyone tell why from this?:

 

 

  Reveal hidden contents

 

Posted

Well I managed to get the textures working... well sort of, they load in creative tabs and in my hand, but when I place down the stone, iron, gold, diamond or copper blocks they still have the wood blocks texture? If you have a look at the above code you'll understand what I mean

Posted

Well I managed to get the textures working... well sort of, they load in creative tabs and in my hand, but when I place down the stone, iron, gold, diamond or copper blocks they still have the wood blocks texture? If you have a look at the above code you'll understand what I mean

Posted

I only have one block state but in models blocks I have them all, do I need to make the block states for the rest too? I also have this as the one block state:

 

{
    "variants": {
        "type=wood": { "model": "ma:wood_block_breaker" },
        "type=stone": { "model": "ma:stone_block_breaker" },
        "type=iron": { "model": "ma:iron_block_breaker" },
        "type=gold": { "model": "ma:gold_block_breaker" },
        "type=diamond": { "model": "ma:diamond_block_breaker" },
        "type=copper": { "model": "ma:copper_block_breaker" }
    }
}

Posted

I only have one block state but in models blocks I have them all, do I need to make the block states for the rest too? I also have this as the one block state:

 

{
    "variants": {
        "type=wood": { "model": "ma:wood_block_breaker" },
        "type=stone": { "model": "ma:stone_block_breaker" },
        "type=iron": { "model": "ma:iron_block_breaker" },
        "type=gold": { "model": "ma:gold_block_breaker" },
        "type=diamond": { "model": "ma:diamond_block_breaker" },
        "type=copper": { "model": "ma:copper_block_breaker" }
    }
}

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.