i have a mod that has a tv, i want to mak a resource pack to add more channels  here isthe class file
package com.mrcrayfish.furniture.refurbished.block;

import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.mrcrayfish.furniture.refurbished.blockentity.TelevisionBlockEntity;
import com.mrcrayfish.furniture.refurbished.data.tag.BlockTagSupplier;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.TagKey;
import net.minecraft.util.RandomSource;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour.Properties;
import net.minecraft.world.level.block.state.StateDefinition.Builder;
import net.minecraft.world.level.block.state.properties.Property;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.VoxelShape;

public class TelevisionBlock extends FurnitureHorizontalEntityBlock implements BlockTagSupplier {
   public TelevisionBlock(Properties properties) {
      super(properties);
      this.m_49959_((BlockState)((BlockState)((BlockState)this.m_49965_().m_61090_()).m_61124_(DIRECTION, Direction.NORTH)).m_61124_(POWERED, false));
   }

   protected Map<BlockState, VoxelShape> generateShapes(ImmutableList<BlockState> states) {
      VoxelShape baseShape = Block.m_49796_(2.0D, 0.0D, 2.0D, 14.0D, 12.0D, 14.0D);
      return ImmutableMap.copyOf((Map)states.stream().collect(Collectors.toMap((state) -> {
         return state;
      }, (o) -> {
         return baseShape;
      })));
   }

   public InteractionResult m_6227_(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult result) {
      BlockEntity var8 = level.m_7702_(pos);
      if (var8 instanceof TelevisionBlockEntity) {
         TelevisionBlockEntity television = (TelevisionBlockEntity)var8;
         if (television.isNodePowered()) {
            if (!level.m_5776_()) {
               television.interact();
            }

            return InteractionResult.m_19078_(level.m_5776_());
         }
      }

      return InteractionResult.PASS;
   }

   public void m_213897_(BlockState state, ServerLevel level, BlockPos pos, RandomSource source) {
      BlockEntity var6 = level.m_7702_(pos);
      if (var6 instanceof TelevisionBlockEntity) {
         TelevisionBlockEntity television = (TelevisionBlockEntity)var6;
         television.selectRandomChannel();
      }

   }

   protected void m_7926_(Builder<Block, BlockState> builder) {
      super.m_7926_(builder);
      builder.m_61104_(new Property[]{POWERED});
   }

   @Nullable
   public BlockEntity m_142194_(BlockPos pos, BlockState state) {
      return new TelevisionBlockEntity(pos, state);
   }

   public static int light(BlockState state) {
      return (Boolean)state.m_61143_(POWERED) ? 8 : 0;
   }

   public List<TagKey<Block>> getTags() {
      return List.of(BlockTags.f_144282_);
   }
}
and i also have a tv_channels.json
{
    "sources": [
        {
            "type": "directory",
            "source": "tv_channels",
            "prefix": "tv_channels/"
        }
    ]
}