Skip to content

Commit e8c741f

Browse files
committed
update fabric api impl
1 parent 199feee commit e8c741f

3 files changed

Lines changed: 23 additions & 36 deletions

File tree

.github/workflows/build.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- name: checkout repository
2020
uses: actions/checkout@v4
2121
- name: validate gradle wrapper
22-
uses: gradle/wrapper-validation-action@v2
22+
uses: gradle/actions/wrapper-validation@v4
2323
- name: setup jdk ${{ matrix.java }}
2424
uses: actions/setup-java@v4
2525
with:
@@ -34,4 +34,5 @@ jobs:
3434
uses: actions/upload-artifact@v4
3535
with:
3636
name: Artifacts
37-
path: build/libs/
37+
path: build/libs/
38+
continue-on-error: true

src/main/kotlin/net/mcbrawls/packin/PackinMod.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package net.mcbrawls.packin
22

33
import com.google.gson.JsonObject
44
import net.fabricmc.api.ModInitializer
5-
import net.fabricmc.fabric.api.resource.ResourceManagerHelper
5+
import net.fabricmc.fabric.api.resource.v1.ResourceLoader
66
import net.mcbrawls.packin.listener.PackinResourceLoader
77
import net.minecraft.resource.ResourceType
88
import net.minecraft.util.Identifier
@@ -14,8 +14,10 @@ object PackinMod : ModInitializer {
1414
val LOGGER: Logger = LoggerFactory.getLogger(MOD_ID)
1515

1616
override fun onInitialize() {
17-
val dataHelper = ResourceManagerHelper.get(ResourceType.SERVER_DATA)
18-
dataHelper.registerReloadListener(PackinResourceLoader)
17+
LOGGER.info("Initializing Packin")
18+
19+
val dataHelper = ResourceLoader.get(ResourceType.SERVER_DATA)
20+
dataHelper.registerReloader(Identifier.of(MOD_ID, "reloader"), PackinResourceLoader)
1921
}
2022

2123
fun JsonObject.addProperty(property: String, value: Identifier) {
Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
package net.mcbrawls.packin.listener
22

3-
import net.fabricmc.fabric.api.resource.SimpleResourceReloadListener
3+
import net.fabricmc.fabric.api.resource.v1.reloader.SimpleResourceReloader
44
import net.mcbrawls.packin.PackinMod
55
import net.mcbrawls.packin.resource.PackResource
6-
import net.minecraft.resource.ResourceManager
6+
import net.minecraft.resource.ResourceReloader
77
import net.minecraft.util.Identifier
88
import org.slf4j.Logger
99
import 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

Comments
 (0)