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

I had this thing some time ago. It's likely because of getting wrong side TileEntity. You have to show your IGuiHandler.

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.

  • Author

I have changed the GUI handler code and it works now. however, when I place an item into the input slot, the getPowerRequirement function in the recipes class (attached below) crashes with a null pointer exception on line 81. I tried adding a try-finally statement, but that didn't help at all. any suggestions?

 

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

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

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.