Jump to content

Recommended Posts

Posted

I'm in the middle of a big modding project, and my chemical extractor is having some weird issues.

There is no actual 'error' in the code, however it still doesnt work correctly.

 

Symptoms:

I put any item in the slot and it doubles

Left click to remove and the item disappears

right click divides stack in slot by 4 and the rest disappears

does not process the item at all.

 

I based the code of the vanilla furnace, but changed it to use an electrical supply which I am yet to implement. To 'charge' the block I change the value in the eclipse editor, but it still doesnt function.

Any help would be appreciated.

 

The files

https://gist.github.com/anonymous/7366482

Posted

I don't have that much time to go through whole code: Container is good that I can tell, as to TileEntity - at some point you are PROBABLY making ghost items - that means they have different properties (stacksize etc.) that are actually showed. Hint for you: Add println before and after getting ANY itemstacks - like:

ItemStack is1 = ExtractorRecipes.extracting()
.getFirstExtractResult(this.extractorItemStacks[0]);
ItemStack is2 = ExtractorRecipes.extracting()
.getSecondExtractResult(this.extractorItemStacks[0]);

or

extractorItemStacks[2].stackSize += is2.stackSize;

Also check if you are not stacking over Stacklimits (saw you did it in canExtract - but just make sure)

This post won't help you much but I can assure you that println will :)

 

Also (as a guy before me said) - GuiHandler should look like this, so make sure it does:

public class GuiHandler implements IGuiHandler
{
@Override
public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z)
{
	TileEntity TE = world.getBlockTileEntity(x, y, z);
	switch(id)
	{
		case 1: return new MyContainer(player.inventory, (MyTileEntity) TE);
	}
	return null;
}

@Override
public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z)
{
	TileEntity TE = world.getBlockTileEntity(x, y, z);
	switch(id)
	{
		case 1: return new MyGui(player.inventory, (MyTileEntity) TE);
	}
	return null;
}
}

1.7.10 is no longer supported by forge, you are on your own.

Posted

,,This post won't help you much but I can assure you that println will :)"

Probably when some method from TileEntity is calling for result (res) it gets wrong shit :D

Place println before/after every calling of getPowerRequirement and also inside it when there is try/finally part.

I can't help much when I don't see whole code :D

 

1.7.10 is no longer supported by forge, you are on your own.

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.