package com.acethewildfire.acesbs.screen;

import com.acethewildfire.acesbs.AcesBS;
import com.acethewildfire.acesbs.screen.custom.EntropicEntanglerScreenHandler;
import com.acethewildfire.acesbs.screen.custom.EntropicEvisceratorScreenHandler;
import com.acethewildfire.acesbs.screen.custom.EntropicStabilizerScreenHandler;
import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.screen.ScreenHandlerType;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;

public class ModScreenHandlers {

    public static final ScreenHandlerType<EntropicStabilizerScreenHandler> ENTROPIC_STABILIZER_SCREEN_HANDLER =
            Registry.register(Registries.SCREEN_HANDLER, Identifier.of(AcesBS.MOD_ID, "entropic_stabilizer_screen_handler"),
                    new ExtendedScreenHandlerType<>(EntropicStabilizerScreenHandler::new, BlockPos.PACKET_CODEC));

    public static final ScreenHandlerType<EntropicEvisceratorScreenHandler> ENTROPIC_EVISCERATOR_SCREEN_HANDLER =
            Registry.register(Registries.SCREEN_HANDLER, Identifier.of(AcesBS.MOD_ID, "entropic_eviscerator_screen_handler"),
                    new ExtendedScreenHandlerType<>(EntropicEvisceratorScreenHandler::new, BlockPos.PACKET_CODEC));
    
    public static final ScreenHandlerType<EntropicEntanglerScreenHandler> ENTROPIC_ENTANGLER_SCREEN_HANDLER =
        Registry.register(Registries.SCREEN_HANDLER, Identifier.of(AcesBS.MOD_ID, "entropic_entangler_screen_handler"),
                    new ExtendedScreenHandlerType<>(EntropicEntanglerScreenHandler::new, BlockPos.PACKET_CODEC));


    public static void registerScreenHandlers() {
        AcesBS.LOGGER.info("Registering Screen Handlers for " + AcesBS.MOD_ID);
    }
}
