11package net.mcbrawls.packin.listener
22
3- import net.fabricmc.fabric.api.resource.SimpleResourceReloadListener
3+ import net.fabricmc.fabric.api.resource.v1.reloader.SimpleResourceReloader
44import net.mcbrawls.packin.PackinMod
55import net.mcbrawls.packin.resource.PackResource
6- import net.minecraft.resource.ResourceManager
6+ import net.minecraft.resource.ResourceReloader
77import net.minecraft.util.Identifier
88import org.slf4j.Logger
99import org.slf4j.LoggerFactory
10- import java.util.concurrent.CompletableFuture
11- import java.util.concurrent.Executor
1210
1311/* *
1412 * Loads Packin source files from Minecraft resources.
1513 */
16- object PackinResourceLoader : SimpleResourceReloadListener <List<SourcePackResource>> {
14+ object PackinResourceLoader : SimpleResourceReloader <List<SourcePackResource>>() {
1715 val LOGGER : Logger = LoggerFactory .getLogger(" PackinResourceLoader" )
1816
1917 /* *
@@ -27,32 +25,24 @@ object PackinResourceLoader : SimpleResourceReloadListener<List<SourcePackResour
2725 private val resources: MutableList <PackResource > = mutableListOf ()
2826 private val resourcesByPack: MutableMap <String , List <PackResource >> = mutableMapOf ()
2927
30- override fun load (
31- manager : ResourceManager ,
32- executor : Executor ,
33- ): CompletableFuture <List <SourcePackResource >> {
34- return CompletableFuture .supplyAsync {
35- val resources = manager.findAllResources(ROOT_PATH ) { true }
36- resources.flatMap { (rawId, resources) ->
37- resources.map { resource ->
38- val bytes = resource.inputStream.readBytes()
39- val id = rawId.withPath { it.removePrefix(" $ROOT_PATH /" ) }
40- SourcePackResource (resource.packId, PackResource (id, bytes))
41- }
28+ override fun prepare (store : ResourceReloader .Store ): List <SourcePackResource > {
29+ val manager = store.resourceManager
30+ val resources = manager.findAllResources(ROOT_PATH ) { true }
31+ return resources.flatMap { (rawId, resources) ->
32+ resources.map { resource ->
33+ val bytes = resource.inputStream.readBytes()
34+ val id = rawId.withPath { it.removePrefix(" $ROOT_PATH /" ) }
35+ SourcePackResource (resource.packId, PackResource (id, bytes))
4236 }
4337 }
4438 }
4539
46- override fun apply (
47- loadedResources : List <SourcePackResource >,
48- manager : ResourceManager ,
49- executor : Executor ,
50- ): CompletableFuture <Void > {
40+ override fun apply (prepared : List <SourcePackResource >, store : ResourceReloader .Store ) {
5141 sourceResources.clear()
52- sourceResources.addAll(loadedResources )
42+ sourceResources.addAll(prepared )
5343
5444 resources.clear()
55- resources.addAll(loadedResources .map(SourcePackResource ::resource))
45+ resources.addAll(prepared .map(SourcePackResource ::resource))
5646
5747 resourcesByPack.clear()
5848 resourcesByPack.putAll(
@@ -61,10 +51,8 @@ object PackinResourceLoader : SimpleResourceReloadListener<List<SourcePackResour
6151 .mapValues { (_, resources) -> resources.map(SourcePackResource ::resource) }
6252 )
6353
64- val resourceCount = loadedResources .size
54+ val resourceCount = prepared .size
6555 LOGGER .info(" Loaded $resourceCount Packin resources" )
66-
67- return CompletableFuture .completedFuture(null )
6856 }
6957
7058 /* *
@@ -94,8 +82,4 @@ object PackinResourceLoader : SimpleResourceReloadListener<List<SourcePackResour
9482
9583 return resources.filter { filter(it.path) }.toSet()
9684 }
97-
98- override fun getFabricId (): Identifier {
99- return LISTENER_ID
100- }
10185}
0 commit comments