34 lines
1.8 KiB
Java
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));
|
|
}
|
|
}
|