```
title = "Creative Tabs"
date = "2016-06-14 16:26:00 -0400"
```

In this tutorial, we are going to create a custom creative tab that players can use to access all of our items when in creative mode.

## Creative Tab
First off, let's create our creative tab class. Create a class called `TutorialTab` that extends `CreativeTabs`. It will need a couple things:

1. A no-args constructor that calls the super constructor with the correct label.
2. An overriden `getTabIconItem` which returns the item to render as the icon.

The `String` passed into the super constructor is the label. The label is used to determine the localization key for the tab. For the label, we are going to pass in `TutorialMod.modId` so Minecraft uses our mod's ID to determine the localization key.

The item stack we return from the `getTabIconItem` will be rendered on the tab in the creative inventory GUI. We'll use `ModItems.ingotCopper` as the icon so our creative tab has a nice distinctive icon.

```java
package net.shadowfacts.tutorial.client;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.shadowfacts.tutorial.TutorialMod;
import net.shadowfacts.tutorial.item.ModItems;

public class TutorialTab extends CreativeTabs {

	public TutorialTab() {
		super(TutorialMod.modId);
	}

	@Override
	public ItemStack getTabIconItem() {
		return new ItemStack(ModItems.ingotCopper);
	}

}
```

Let's add a field to our `TutorialMod` class that stores the instance of our creative tab.

```java
// ...
public static final TutorialTab creativeTab = new TutorialTab();
// ...
```

## Updating Everything Else
Now that we've got our creative tab all setup, let's change all of our items and blocks to use it.

Let's add a line to the end of our `BlockBase` and `ItemBase` constructors that calls `setCreativeTab` with our creative tab.

```java
public BlockBase(Material material, String name) {
	// ...
	setCreativeTab(TutorialMod.creativeTab);
}
```

```java
public ItemBase(String name) {
	// ...
	setCreativeTab(TutorialMod.creativeTab);
}
```

We'll also need to add this line to the `BlockCropCorn` and `ItemCornSeed` classes because they don't extend our base item/block classes.

```java
public BlockCropCorn() {
	// ...
	setCreativeTab(TutorialMod.creativeTab);
}
```

```java
public ItemCornSeed() {
	// ...
	setCreativeTab(TutorialMod.creativeTab);
}
```

Lastly, we'll need to update our `ModBlocks` and `ModItems` classes so we're no longer setting the creative tabs to other tabs.

Remove the `setCreativeTab` call from the end of the BlockOre constructor on the line where we register/create the copper ore block.

Remove the `setCreativeTab` calls from the copper ingot and corn items in `ModItems`.

## All Done!
Now when we start the game and open the creative inventory, we should be able to see our creative tab on the second page.

![our creative tab in action](https://i.imgur.com/JfEhwvu.png)