package com.thebrokenrail.energonrelics.client; import com.thebrokenrail.energonrelics.EnergonRelics; import com.thebrokenrail.energonrelics.block.util.EnergyProviderBlock; import com.thebrokenrail.energonrelics.client.config.UserConfig; import me.sargunvohra.mcmods.autoconfig1u.AutoConfig; import me.sargunvohra.mcmods.autoconfig1u.ConfigData; import me.sargunvohra.mcmods.autoconfig1u.annotation.Config; import me.sargunvohra.mcmods.autoconfig1u.serializer.GsonConfigSerializer; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.RenderLayer; @Environment(EnvType.CLIENT) public class EnergonRelicsClient implements ClientModInitializer { @Environment(EnvType.CLIENT) private static class ReloadSerializer extends GsonConfigSerializer { public ReloadSerializer(Config definition, Class configClass) { super(definition, configClass); } @Override public void serialize(T config) throws SerializationException { super.serialize(config); MinecraftClient client = MinecraftClient.getInstance(); if (client.getResourceManager() != null) { client.reloadResources(); } } } @Override public void onInitializeClient() { EnergyProviderBlock.initRenderer(); BlockRenderLayerMap.INSTANCE.putBlock(EnergonRelics.THERMAL_GLASS_BLOCK, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(EnergonRelics.DEFENSIVE_LASER_BLOCK, RenderLayer.getCutout()); AutoConfig.register(UserConfig.class, ReloadSerializer::new); } }