Jump to content

Recommended Posts

Posted

Hi,

 

I need some help with my project.

I am trying to create custom furnace.

I have GUI working and now I am in process of coding container for my furnace.

And I bumped in to a problem.

 

In container for my furnace i have this code:

@Override
public boolean isItemValidForSlot(int i, ItemStack itemstack) {
if(i == FuelSlot){			
	return fuelRegistry.isFuel(itemstack);
}else{
	return false;
}
}

 

And this is my FuelRegistry class:

public class fuelRegistry {

private static String[] fuelRegister;

public fuelRegistry(){
		fuelRegister = new String[] {
				Items.coal.getUnlocalizedName(),
				Items.stick.getUnlocalizedName(),

				Blocks.planks.getUnlocalizedName(),
				Blocks.log.getUnlocalizedName(),
				Blocks.coal_block.getUnlocalizedName()
		};

}

public static boolean isFuel(ItemStack itemstack){
         return Arrays.asList(fuelRegister).contains(itemstack.getUnlocalizedName());
}

}

 

When I am trying to check if furnace can accept fuel this way, it crashes and I have no idea why.

I also tryed it with ItemStack array and foreach instead of contains.

 

Thank you for any help.

Filipsi

Posted

Where do you call "new fuelRegistry()"? If you don't, the fuelRegister array is still null, as you initialize it when you make a new instance of the fuelRegistry class.

 

PS, please use camel-case, it makes the code much more easier to read.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.