EnergonRelics/src/main/java/com/thebrokenrail/energonrelics/client/EnergonRelicsClient.java

44 lines
1.8 KiB
Java

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<T extends ConfigData> extends GsonConfigSerializer<T> {
public ReloadSerializer(Config definition, Class<T> 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);
}
}