Jump to content

Null Pointer Exception on Custom Crafting Table


blfngl

Recommended Posts

So I've browsed the internet for about 3 hours looking for a fix, and spent another few working on it myself, but I'm stumped. I know (I think) my problem has something to do with how I've written the slots on the table, it's a 5x5, but I can't find the actual problem.

 

The NPE happens when, in game, you right click on the block.

 

Container

package blfngl.fallout.container;

import blfngl.fallout.Fallout;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.InventoryCraftResult;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.SlotCrafting;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;

public class ContainerPowerWelder extends Container
{

public InventoryCrafting craftMatrix;
public IInventory craftResult;
private World worldObj;
private int posX;
private int posY;
private int posZ;

public ContainerPowerWelder(InventoryPlayer inventoryplayer, World world, int i, int j, int k)
{
	craftMatrix = new InventoryCrafting(this, 5, 5);
	craftResult = new InventoryCraftResult();
	worldObj = world;
	posX = i;
	posY = j;
	posZ = k;
	this.addSlotToContainer(new SlotCrafting(inventoryplayer.player, craftMatrix, craftResult, 0, 131, 36));
	System.out.println("1");
	for(int l = 0; l < 5; l++)
	{
		for(int k1 = 0; k1 < 5; k1++)
		{
			this.addSlotToContainer(new Slot(craftMatrix, k1 + l * 5, 4 + k1 * 18, 3 + l * 18));
		}

	}
	System.out.println("2");
	for(int i1 = 0; i1 < 3; i1++)
	{
		for(int l1 = 0; l1 < 9; l1++)
		{
			this.addSlotToContainer(new Slot(inventoryplayer, l1 + i1 * 9 + 9, 8 + l1 * 18, 94 + i1 * 18));
		}

	}
	System.out.println("3");
	for(int j1 = 0; j1 < 9; j1++)
	{
		this.addSlotToContainer(new Slot(inventoryplayer, j1, 8 + j1 * 18, 148));
	}

	onCraftMatrixChanged(craftMatrix);
}

public void onCraftMatrixChanged(IInventory iinventory)
{
	craftResult.setInventorySlotContents(0, PowerWelderCraftingManager.getInstance().findMatchingRecipe(craftMatrix, worldObj));
}

public void onContainerClosed(EntityPlayer entityplayer)
{
	super.onContainerClosed(entityplayer);
	if(worldObj.isRemote)
	{
		return;
	}
	for(int i = 0; i < 25; i++)
	{
		ItemStack itemstack = craftMatrix.getStackInSlot(i);
		if(itemstack != null)
		{
			entityplayer.entityDropItem(itemstack, 1.0F);
		}
	}

}

public boolean canInteractWith(EntityPlayer entityplayer)
{
	if(worldObj.getBlock(posX, posY, posZ) != Fallout.powerArmorWelder)
	{
		return false;
	} else
	{
		return entityplayer.getDistanceSq((double)posX + 0.5D, (double)posY + 0.5D, (double)posZ + 0.5D) <= 64D;
	}
}

public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)
{
	ItemStack itemstack = null;
	Slot slot = (Slot)inventorySlots.get(par2);
	if(slot != null && slot.getHasStack())
	{
		ItemStack itemstack1 = slot.getStack();
		itemstack = itemstack1.copy();
		if(par2 == 0)
		{
			if(!mergeItemStack(itemstack1, 10, 46, true))
			{
				return null;
			}
		} else
			if(par2 >= 10 && par2 < 37)
			{
				if(!mergeItemStack(itemstack1, 37, 46, false))
				{
					return null;
				}
			} else
				if(par2 >= 37 && par2 < 46)
				{
					if(!mergeItemStack(itemstack1, 10, 37, false))
					{
						return null;
					}
				} else
					if(!mergeItemStack(itemstack1, 10, 46, false))
					{
						return null;
					}
		if(itemstack1.stackSize == 0)
		{
			slot.putStack(null);
		} else
		{
			slot.onSlotChanged();
		}
		if(itemstack1.stackSize != itemstack.stackSize)
		{
			slot.onPickupFromSlot(par1EntityPlayer, itemstack1);
		} else
		{
			return null;
		}
	}
	return itemstack;
}
}

 

 

Block

package blfngl.fallout.block;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import blfngl.fallout.Fallout;

public class BlockPowerWelder extends Block
{
public BlockPowerWelder()
{
	super(Material.ground);
	this.setCreativeTab(CreativeTabs.tabBlock);
}

@Override
public boolean onBlockActivated(World var1, int var2, int var3, int var4, EntityPlayer player, int var6, float var7, float var8, float var9)
{
	TileEntity tileEntity = var1.getTileEntity(var2, var3, var4);

	if (player.isSneaking()) // || tileEntity == null)
	{
		return false;
	}
	else
	{		
		player.openGui(Fallout.fallout, 0, var1, var2, var3, var4);
		return false;
	}		
}
}

 

 

This line causes the issues:

player.openGui(Fallout.fallout, 0, var1, var2, var3, var4);

 

Error report

---- Minecraft Crash Report ----
// Hi. I'm Minecraft, and I'm a crashaholic.

Time: 7/3/14 1:25 AM
Description: Unexpected error

java.lang.NullPointerException: Unexpected error
at cpw.mods.fml.common.network.NetworkRegistry.getLocalGuiContainer(NetworkRegistry.java:263)
at cpw.mods.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:93)
at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2515)
at blfngl.fallout.block.BlockPowerWelder.onBlockActivated(BlockPowerWelder.java:30)
at net.minecraft.client.multiplayer.PlayerControllerMP.onPlayerRightClick(PlayerControllerMP.java:380)
at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1499)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:2012)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:997)
at net.minecraft.client.Minecraft.run(Minecraft.java:912)
at net.minecraft.client.main.Main.main(Main.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
at cpw.mods.fml.common.network.NetworkRegistry.getLocalGuiContainer(NetworkRegistry.java:263)
at cpw.mods.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:93)
at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2515)
at blfngl.fallout.block.BlockPowerWelder.onBlockActivated(BlockPowerWelder.java:30)
at net.minecraft.client.multiplayer.PlayerControllerMP.onPlayerRightClick(PlayerControllerMP.java:380)
at net.minecraft.client.Minecraft.func_147121_ag(Minecraft.java:1499)

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityClientPlayerMP['Player988'/366, l='MpServer', x=204.50, y=74.62, z=193.50]]
Chunk stats: MultiplayerChunkCache: 225, 225
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options: 
Level spawn location: World: (208,64,192), Chunk: (at 0,4,0 in 13,12; contains blocks 208,0,192 to 223,255,207), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
Level time: 217753 game time, 38699 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: true), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 118 total; [EntityCreeper['Creeper'/273, l='MpServer', x=286.16, y=64.00, z=237.00], EntityCreeper['Creeper'/272, l='MpServer', x=275.75, y=35.00, z=224.94], EntityWitch['Witch'/258, l='MpServer', x=279.50, y=70.00, z=167.50], EntityChicken['Chicken'/256, l='MpServer', x=269.76, y=66.02, z=127.40], EntityBat['Bat'/257, l='MpServer', x=281.56, y=37.23, z=158.45], EntityCreeper['Creeper'/262, l='MpServer', x=278.72, y=22.00, z=207.72], EntityCreeper['Creeper'/263, l='MpServer', x=280.58, y=22.00, z=211.72], EntityZombie['Zombie'/260, l='MpServer', x=284.88, y=31.00, z=197.53], EntityChicken['Chicken'/261, l='MpServer', x=283.47, y=64.00, z=204.53], EntityCreeper['Creeper'/266, l='MpServer', x=282.00, y=22.00, z=210.63], EntityBat['Bat'/267, l='MpServer', x=281.63, y=22.73, z=211.60], EntityCreeper['Creeper'/264, l='MpServer', x=281.00, y=22.00, z=210.94], EntityCreeper['Creeper'/265, l='MpServer', x=281.50, y=22.00, z=214.50], EntityBat['Bat'/270, l='MpServer', x=274.44, y=38.70, z=216.30], EntitySkeleton['Skeleton'/271, l='MpServer', x=276.31, y=36.00, z=229.47], EntityBat['Bat'/268, l='MpServer', x=275.50, y=22.82, z=206.72], EntityZombie['Zombie'/269, l='MpServer', x=279.44, y=35.00, z=220.00], EntityCreeper['Creeper'/76, l='MpServer', x=125.56, y=56.00, z=155.00], EntityCreeper['Creeper'/78, l='MpServer', x=126.50, y=47.00, z=238.50], EntityCreeper['Creeper'/80, l='MpServer', x=126.41, y=23.00, z=244.22], EntityZombie['Zombie'/93, l='MpServer', x=136.69, y=57.00, z=157.50], EntityZombie['Zombie'/92, l='MpServer', x=135.63, y=57.00, z=157.50], EntityChicken['Chicken'/95, l='MpServer', x=131.63, y=56.00, z=152.56], EntityZombie['Zombie'/94, l='MpServer', x=135.38, y=63.00, z=146.50], EntitySquid['Squid'/88, l='MpServer', x=141.40, y=59.26, z=137.19], EntityZombie['Zombie'/102, l='MpServer', x=142.56, y=28.00, z=192.78], EntitySkeleton['Skeleton'/103, l='MpServer', x=141.55, y=38.00, z=252.70], EntityZombie['Zombie'/100, l='MpServer', x=142.34, y=29.00, z=187.94], EntityBat['Bat'/101, l='MpServer', x=133.00, y=28.58, z=205.38], EntityZombie['Zombie'/98, l='MpServer', x=137.16, y=45.00, z=167.44], EntityCreeper['Creeper'/99, l='MpServer', x=138.97, y=22.00, z=179.50], EntitySkeleton['Skeleton'/96, l='MpServer', x=132.44, y=18.00, z=160.06], EntityZombie['Zombie'/97, l='MpServer', x=136.31, y=45.00, z=167.66], EntityChicken['Chicken'/104, l='MpServer', x=133.59, y=64.00, z=250.59], EntityChicken['Chicken'/105, l='MpServer', x=136.63, y=64.00, z=267.59], EntitySquid['Squid'/119, l='MpServer', x=148.33, y=59.00, z=140.04], EntitySquid['Squid'/118, l='MpServer', x=149.18, y=59.38, z=141.63], EntitySquid['Squid'/117, l='MpServer', x=149.32, y=59.00, z=142.74], EntitySquid['Squid'/116, l='MpServer', x=147.53, y=59.32, z=142.13], EntitySquid['Squid'/127, l='MpServer', x=156.89, y=59.13, z=146.50], EntityItem['item.item.dyePowder.black'/126, l='MpServer', x=158.13, y=48.13, z=155.88], EntityItem['item.item.dyePowder.black'/125, l='MpServer', x=152.33, y=29.13, z=147.86], EntityItem['item.item.dyePowder.black'/124, l='MpServer', x=154.91, y=34.13, z=148.13], EntityClientPlayerMP['Player988'/366, l='MpServer', x=204.50, y=74.62, z=193.50], EntityCreeper['Creeper'/123, l='MpServer', x=149.50, y=20.00, z=153.50], EntityCreeper['Creeper'/122, l='MpServer', x=152.50, y=18.00, z=151.41], EntitySkeleton['Skeleton'/121, l='MpServer', x=147.94, y=18.00, z=145.53], EntityZombie['Zombie'/120, l='MpServer', x=157.41, y=14.00, z=155.75], EntitySquid['Squid'/141, l='MpServer', x=159.07, y=57.00, z=139.50], EntityChicken['Chicken'/143, l='MpServer', x=172.82, y=62.27, z=144.53], EntityBat['Bat'/142, l='MpServer', x=157.46, y=16.89, z=150.35], EntityBat['Bat'/129, l='MpServer', x=147.63, y=38.10, z=172.38], EntitySquid['Squid'/128, l='MpServer', x=154.50, y=59.42, z=145.50], EntitySkeleton['Skeleton'/131, l='MpServer', x=150.91, y=13.00, z=179.50], EntitySkeleton['Skeleton'/130, l='MpServer', x=158.59, y=69.00, z=175.94], EntityZombie['Zombie'/133, l='MpServer', x=158.38, y=72.00, z=192.53], EntityZombie['Zombie'/132, l='MpServer', x=147.50, y=26.00, z=186.94], EntityChicken['Chicken'/135, l='MpServer', x=155.41, y=63.00, z=255.47], EntityChicken['Chicken'/134, l='MpServer', x=149.56, y=63.00, z=250.47], EntityChicken['Chicken'/152, l='MpServer', x=178.67, y=72.00, z=172.33], EntityChicken['Chicken'/153, l='MpServer', x=178.44, y=71.00, z=227.47], EntitySkeleton['Skeleton'/154, l='MpServer', x=184.50, y=98.00, z=244.88], EntitySkeleton['Skeleton'/155, l='MpServer', x=183.63, y=98.00, z=247.03], EntityCreeper['Creeper'/156, l='MpServer', x=176.56, y=52.00, z=258.75], EntityCreeper['Creeper'/157, l='MpServer', x=176.34, y=52.00, z=261.09], EntityItem['item.item.dyePowder.black'/144, l='MpServer', x=165.88, y=48.13, z=154.88], EntityZombie['Zombie'/145, l='MpServer', x=165.56, y=23.00, z=252.00], EntityChicken['Chicken'/146, l='MpServer', x=164.47, y=71.00, z=249.66], EntityChicken['Chicken'/151, l='MpServer', x=176.41, y=67.00, z=136.66], EntityChicken['Chicken'/165, l='MpServer', x=202.20, y=78.00, z=266.21], EntityChicken['Chicken'/182, l='MpServer', x=213.59, y=73.00, z=205.41], EntitySkeleton['Skeleton'/181, l='MpServer', x=212.98, y=19.00, z=117.44], EntityChicken['Chicken'/204, l='MpServer', x=225.53, y=72.00, z=257.44], EntityCreeper['Creeper'/201, l='MpServer', x=228.53, y=33.00, z=262.56], EntityBat['Bat'/200, l='MpServer', x=239.38, y=38.10, z=268.34], EntityCreeper['Creeper'/203, l='MpServer', x=227.50, y=41.00, z=262.75], EntityCreeper['Creeper'/202, l='MpServer', x=226.84, y=41.00, z=264.09], EntityBat['Bat'/197, l='MpServer', x=227.65, y=33.92, z=231.66], EntityBat['Bat'/196, l='MpServer', x=228.75, y=35.10, z=222.75], EntityChicken['Chicken'/199, l='MpServer', x=233.44, y=75.00, z=251.44], EntityMinecartChest['entity.MinecartChest.name'/198, l='MpServer', x=236.50, y=41.50, z=255.50], EntityBat['Bat'/193, l='MpServer', x=225.25, y=11.33, z=170.33], EntitySkeleton['Skeleton'/195, l='MpServer', x=234.31, y=20.00, z=216.53], EntitySkeleton['Skeleton'/194, l='MpServer', x=235.69, y=24.00, z=163.75], EntityZombie['Zombie'/223, l='MpServer', x=257.50, y=13.00, z=120.34], EntityChicken['Chicken'/216, l='MpServer', x=254.47, y=65.00, z=195.53], EntityMinecartChest['entity.MinecartChest.name'/217, l='MpServer', x=255.50, y=36.50, z=237.50], EntityChicken['Chicken'/218, l='MpServer', x=245.53, y=70.00, z=224.59], EntityChicken['Chicken'/219, l='MpServer', x=241.60, y=78.00, z=224.47], EntityZombie['Zombie'/212, l='MpServer', x=251.75, y=11.00, z=139.53], EntityZombie['Zombie'/213, l='MpServer', x=247.47, y=33.00, z=131.03], EntityBat['Bat'/214, l='MpServer', x=256.26, y=12.54, z=142.38], EntityCreeper['Creeper'/215, l='MpServer', x=249.64, y=60.00, z=205.78], EntityZombie['Zombie'/211, l='MpServer', x=247.41, y=12.00, z=118.56], EntityZombie['Zombie'/239, l='MpServer', x=267.63, y=38.00, z=214.47], EntityZombie['Zombie'/238, l='MpServer', x=271.72, y=49.00, z=194.44], EntityBat['Bat'/237, l='MpServer', x=276.76, y=23.04, z=207.66], EntitySkeleton['Skeleton'/236, l='MpServer', x=264.88, y=18.00, z=192.47], EntityCreeper['Creeper'/235, l='MpServer', x=268.53, y=22.00, z=207.03], EntityChicken['Chicken'/234, l='MpServer', x=264.81, y=62.62, z=188.56], EntityChicken['Chicken'/233, l='MpServer', x=258.44, y=71.00, z=147.56], EntityChicken['Chicken'/232, l='MpServer', x=261.59, y=71.00, z=146.53], EntityChicken['Chicken'/231, l='MpServer', x=258.41, y=70.00, z=124.68], EntitySkeleton['Skeleton'/230, l='MpServer', x=269.50, y=34.00, z=128.88], EntitySkeleton['Skeleton'/229, l='MpServer', x=275.13, y=33.00, z=128.53], EntityZombie['Zombie'/228, l='MpServer', x=261.34, y=19.00, z=131.03], EntitySkeleton['Skeleton'/227, l='MpServer', x=271.50, y=30.00, z=133.84], EntityBat['Bat'/226, l='MpServer', x=271.29, y=12.20, z=124.44], EntityChicken['Chicken'/225, l='MpServer', x=270.53, y=65.00, z=126.81], EntityZombie['Zombie'/224, l='MpServer', x=271.38, y=30.00, z=117.06], EntityChicken['Chicken'/255, l='MpServer', x=277.06, y=64.41, z=133.22], EntityBat['Bat'/252, l='MpServer', x=274.75, y=5.10, z=133.22], EntityZombie['Zombie'/253, l='MpServer', x=282.94, y=19.00, z=142.50], EntityChicken['Chicken'/251, l='MpServer', x=277.44, y=64.00, z=120.47], EntityZombie['Zombie'/249, l='MpServer', x=275.30, y=3.00, z=127.70], EntitySkeleton['Skeleton'/242, l='MpServer', x=257.50, y=46.00, z=241.69], EntitySkeleton['Skeleton'/240, l='MpServer', x=262.94, y=56.00, z=213.53], EntityChicken['Chicken'/241, l='MpServer', x=267.72, y=67.00, z=232.22]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:412)
at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2524)
at net.minecraft.client.Minecraft.run(Minecraft.java:941)
at net.minecraft.client.main.Main.main(Main.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

-- System Details --
Details:
Minecraft Version: 1.7.2
Operating System: Windows 7 (amd64) version 6.1
Java Version: 1.7.0_60, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 862782072 bytes (822 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 9779 (547624 bytes; 0 MB) allocated, 2 (112 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
FML: MCP v9.03 FML v7.2.211.1121 Minecraft Forge 10.12.2.1121 5 mods loaded, 5 mods active
mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML{7.2.211.1121} [Forge Mod Loader] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge{10.12.2.1121} [Minecraft Forge] (forgeSrc-1.7.2-10.12.2.1121.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
PlayerAPI{1.4} [Player API] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
fallout{v0.3} [The Fallout Mod] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Launched Version: 1.6
LWJGL: 2.9.0
OpenGL: AMD Radeon(TM) HD 6480G GL version 4.1.10600 Compatibility Profile Context, ATI Technologies Inc.
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: []
Current Language: English (US)
Profiler Position: N/A (disabled)
Vec3 Pool Size: 3319 (185864 bytes; 0 MB) allocated, 16 (896 bytes; 0 MB) used
Anisotropic Filtering: Off (1)

 

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.