Hello, Forge community! I am trying to make a custom creative tab with hidden items (like command blocks). When I using it on server I get "java.lang.AbstractMethodError: Missing implementation of resolved method 'abstract net.minecraft.world.item.ItemStack m_6976_()' of abstract class net.minecraft.world.item.CreativeModeTab." error. How can I fix this problem?
My code for creative tab:
public class OperatorCreativeTab {
public static CreativeModeTab OPERATOR_TAB;
public static void init() {
OPERATOR_TAB = new CreativeModeTab("operator_tab") {
@Override
@OnlyIn(Dist.CLIENT)
public void fillItemList(NonNullList<ItemStack> list) {
super.fillItemList(list);
list.add(Items.COMMAND_BLOCK.getDefaultInstance());
list.add(Items.CHAIN_COMMAND_BLOCK.getDefaultInstance());
list.add(Items.REPEATING_COMMAND_BLOCK.getDefaultInstance());
list.add(Items.COMMAND_BLOCK_MINECART.getDefaultInstance());
list.add(Items.JIGSAW.getDefaultInstance());
list.add(Items.STRUCTURE_BLOCK.getDefaultInstance());
list.add(Items.STRUCTURE_VOID.getDefaultInstance());
list.add(Items.BARRIER.getDefaultInstance());
list.add(Items.DEBUG_STICK.getDefaultInstance());
CompoundTag blockStateTag;
ItemStack lightBlockWithNbt;
for(int i = 15; i > -1; i--) {
blockStateTag = new CompoundTag();
blockStateTag.putInt("level", i);
lightBlockWithNbt = Items.LIGHT.getDefaultInstance();
lightBlockWithNbt.addTagElement("BlockStateTag", blockStateTag);
list.add(lightBlockWithNbt);
}
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack makeIcon() {
return Items.COMMAND_BLOCK.getDefaultInstance();
}
@OnlyIn(Dist.CLIENT)
@Override
public ItemStack getIconItem() {
return Items.COMMAND_BLOCK.getDefaultInstance();
}
};
}
}