Files
JustASplash/src/main/java/me/sashegdev/justasplash/client/ConfigPackHandler.java
T

34 lines
1.8 KiB
Java

package me.sashegdev.justasplash.client;
import net.minecraft.network.chat.Component;
import net.minecraft.server.packs.PackLocationInfo;
import net.minecraft.server.packs.PackResources;
import net.minecraft.server.packs.PackSelectionConfig;
import net.minecraft.server.packs.PackType;
import net.minecraft.server.packs.repository.Pack;
import net.minecraft.server.packs.repository.PackCompatibility;
import net.minecraft.server.packs.repository.PackSource;
import net.minecraft.world.flag.FeatureFlagSet;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.neoforge.event.AddPackFindersEvent;
import java.util.Optional;
@EventBusSubscriber(value = Dist.CLIENT, modid = "justasplash", bus = EventBusSubscriber.Bus.MOD)
public class ConfigPackHandler {
@SubscribeEvent
public static void onAddPackFinders(AddPackFindersEvent e) {
if (e.getPackType() != PackType.CLIENT_RESOURCES) return;
PackLocationInfo info = new PackLocationInfo("justasplash_config", Component.literal("JustASplash Config Assets"), PackSource.BUILT_IN, Optional.empty());
PackSelectionConfig sel = new PackSelectionConfig(true, Pack.Position.TOP, false);
Pack.Metadata meta = new Pack.Metadata(Component.literal("JustASplash Config Assets"), PackCompatibility.COMPATIBLE, FeatureFlagSet.of(), java.util.List.of(), false);
Pack pack = new Pack(info, new Pack.ResourcesSupplier() {
@Override public PackResources openPrimary(PackLocationInfo loc) { return new ConfigPackResources(loc); }
@Override public PackResources openFull(PackLocationInfo loc, Pack.Metadata m) { return new ConfigPackResources(loc); }
}, meta, sel);
e.addRepositorySource(c -> c.accept(pack));
}
}