82 lines
3 KiB
Java
82 lines
3 KiB
Java
package ru.betterend.client;
|
|
|
|
import net.fabricmc.api.ClientModInitializer;
|
|
import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry;
|
|
import net.minecraft.ChatFormatting;
|
|
import net.minecraft.network.chat.Style;
|
|
import net.minecraft.network.chat.TextComponent;
|
|
import net.minecraft.network.chat.TranslatableComponent;
|
|
import net.minecraft.resources.ResourceLocation;
|
|
import net.minecraft.world.level.block.Block;
|
|
import ru.bclib.BCLib;
|
|
import ru.bclib.blocks.BaseChestBlock;
|
|
import ru.bclib.blocks.BaseSignBlock;
|
|
import ru.bclib.client.render.BaseChestBlockEntityRenderer;
|
|
import ru.bclib.client.render.BaseSignBlockEntityRenderer;
|
|
import ru.bclib.util.TranslationHelper;
|
|
import ru.betterend.BetterEnd;
|
|
import ru.betterend.events.ItemTooltipCallback;
|
|
import ru.betterend.interfaces.MultiModelItem;
|
|
import ru.betterend.item.CrystaliteArmor;
|
|
import ru.betterend.registry.EndBlockEntityRenders;
|
|
import ru.betterend.registry.EndBlocks;
|
|
import ru.betterend.registry.EndEntitiesRenders;
|
|
import ru.betterend.registry.EndModelProviders;
|
|
import ru.betterend.registry.EndParticles;
|
|
import ru.betterend.registry.EndScreens;
|
|
import ru.betterend.world.generator.GeneratorOptions;
|
|
|
|
import java.util.List;
|
|
|
|
public class BetterEndClient implements ClientModInitializer {
|
|
@Override
|
|
public void onInitializeClient() {
|
|
EndBlockEntityRenders.register();
|
|
EndScreens.register();
|
|
EndParticles.register();
|
|
EndEntitiesRenders.register();
|
|
EndModelProviders.register();
|
|
MultiModelItem.register();
|
|
ClientOptions.init();
|
|
registerTooltips();
|
|
|
|
if (BCLib.isDevEnvironment()) {
|
|
TranslationHelper.printMissingEnNames(BetterEnd.MOD_ID);
|
|
TranslationHelper.printMissingNames(BetterEnd.MOD_ID, "ru_ru");
|
|
}
|
|
|
|
ResourceLocation checkFlowerId = new ResourceLocation("item/chorus_flower");
|
|
ResourceLocation checkPlantId = new ResourceLocation("item/chorus_plant");
|
|
ResourceLocation toLoadFlowerId = new ResourceLocation("betterend", "item/custom_chorus_flower");
|
|
ResourceLocation toLoadPlantId = new ResourceLocation("betterend", "item/custom_chorus_plant");
|
|
ModelLoadingRegistry.INSTANCE.registerResourceProvider(manager -> (resourceId, context) -> {
|
|
if (GeneratorOptions.changeChorusPlant()) {
|
|
if (resourceId.equals(checkFlowerId)) {
|
|
return context.loadModel(toLoadFlowerId);
|
|
}
|
|
else if (resourceId.equals(checkPlantId)) {
|
|
return context.loadModel(toLoadPlantId);
|
|
}
|
|
}
|
|
return null;
|
|
});
|
|
}
|
|
|
|
public static void registerTooltips() {
|
|
ItemTooltipCallback.EVENT.register((player, stack, context, lines) -> {
|
|
if (stack.getItem() instanceof CrystaliteArmor) {
|
|
boolean hasSet = false;
|
|
if (player != null) {
|
|
hasSet = CrystaliteArmor.hasFullSet(player);
|
|
}
|
|
TranslatableComponent setDesc = new TranslatableComponent("tooltip.armor.crystalite_set");
|
|
setDesc.setStyle(Style.EMPTY.applyFormats(
|
|
hasSet ? ChatFormatting.BLUE : ChatFormatting.DARK_GRAY,
|
|
ChatFormatting.ITALIC
|
|
));
|
|
lines.add(TextComponent.EMPTY);
|
|
lines.add(setDesc);
|
|
}
|
|
});
|
|
}
|
|
}
|