Skip to content

Commit b695c8e

Browse files
committed
MCRegistryAccessHandler: Add getId function
1 parent 97b19b0 commit b695c8e

File tree

5 files changed

+21
-1
lines changed

5 files changed

+21
-1
lines changed

bukkit/version/base/src/main/kotlin/io/github/rothes/esu/bukkit/util/version/adapter/nms/MCRegistryAccessHandler.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ interface MCRegistryAccessHandler {
1414
fun <T> getNullable(registry: Registry<T>, resource: ResourceLocation): T?
1515

1616
fun <T: Any> getResourceKey(registry: Registry<T>, item: T): ResourceKey<T>
17+
fun <T> getId(registry: Registry<T>, item: T): Int
1718

1819
fun <T> entrySet(registry: Registry<T>): Set<Map.Entry<ResourceKey<T>, T>>
1920
fun <T> keySet(registry: Registry<T>): Set<ResourceLocation>

bukkit/version/v1_17_1/src/main/kotlin/io/github/rothes/esu/bukkit/util/version/adapter/nms/v1_17_1/MCRegistryAccessHandlerImpl.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.rothes.esu.bukkit.util.version.adapter.nms.v1_17_1
22

33
import io.github.rothes.esu.bukkit.util.version.adapter.nms.MCRegistryAccessHandler
4+
import net.minecraft.core.MappedRegistry
45
import net.minecraft.core.Registry
56
import net.minecraft.core.RegistryAccess
67
import net.minecraft.resources.ResourceKey
@@ -25,6 +26,11 @@ object MCRegistryAccessHandlerImpl: MCRegistryAccessHandler {
2526
return registry.getResourceKey(item).orElseThrow()
2627
}
2728

29+
override fun <T> getId(registry: Registry<T>, item: T): Int {
30+
registry as MappedRegistry<T>
31+
return registry.getId(item)
32+
}
33+
2834
override fun <T> entrySet(registry: Registry<T>): Set<Map.Entry<ResourceKey<T>, T>> = registry.entrySet()
2935
override fun <T> keySet(registry: Registry<T>): Set<ResourceLocation> = registry.keySet()
3036
override fun <T> values(registry: Registry<T>): Set<T> = registry.toSet()

bukkit/version/v1_18_2/src/main/kotlin/io/github/rothes/esu/bukkit/util/version/adapter/nms/v1_18_2/MCRegistryAccessHandlerImpl.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import net.minecraft.server.MinecraftServer
1010
object MCRegistryAccessHandlerImpl: MCRegistryAccessHandler {
1111

1212
override fun getServerRegistryAccess(): RegistryAccess {
13-
return MinecraftServer.getServer().registryAccess() // Change: return value is RegistryAccess.Frozen
13+
return MinecraftServer.getServer().registryAccess() // Change: return type is RegistryAccess.Frozen
1414
}
1515

1616
override fun <T> getRegistryOrThrow(registryAccess: RegistryAccess, registryKey: ResourceKey<out Registry<T>>): Registry<T> {
@@ -25,6 +25,11 @@ object MCRegistryAccessHandlerImpl: MCRegistryAccessHandler {
2525
return registry.getResourceKey(item).orElseThrow()
2626
}
2727

28+
override fun <T> getId(registry: Registry<T>, item: T): Int {
29+
// Change: No need to cast, IdMap interface
30+
return registry.getId(item)
31+
}
32+
2833
override fun <T> entrySet(registry: Registry<T>): Set<Map.Entry<ResourceKey<T>, T>> = registry.entrySet()
2934
override fun <T> keySet(registry: Registry<T>): Set<ResourceLocation> = registry.keySet()
3035
override fun <T> values(registry: Registry<T>): Set<T> = registry.toSet()

bukkit/version/v1_19_3/src/main/kotlin/io/github/rothes/esu/bukkit/util/version/adapter/nms/v1_19_3/MCRegistryAccessHandlerImpl.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ object MCRegistryAccessHandlerImpl: MCRegistryAccessHandler {
2727
return registry.getResourceKey(item).orElseThrow()
2828
}
2929

30+
override fun <T> getId(registry: Registry<T>, item: T): Int {
31+
return registry.getId(item)
32+
}
33+
3034
override fun <T> entrySet(registry: Registry<T>): Set<Map.Entry<ResourceKey<T>, T>> = registry.entrySet()
3135
override fun <T> keySet(registry: Registry<T>): Set<ResourceLocation> = registry.keySet()
3236
override fun <T> values(registry: Registry<T>): Set<T> = registry.toSet()

bukkit/version/v1_21_3/src/main/kotlin/io/github/rothes/esu/bukkit/util/version/adapter/nms/v1_21_3/MCRegistryAccessHandlerImpl.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ object MCRegistryAccessHandlerImpl: MCRegistryAccessHandler {
2525
return registry.getResourceKey(item).orElseThrow()
2626
}
2727

28+
override fun <T> getId(registry: Registry<T>, item: T): Int {
29+
return registry.getId(item)
30+
}
31+
2832
override fun <T> entrySet(registry: Registry<T>): Set<Map.Entry<ResourceKey<T>, T>> = registry.entrySet()
2933
override fun <T> keySet(registry: Registry<T>): Set<ResourceLocation> = registry.keySet()
3034
override fun <T> values(registry: Registry<T>): Set<T> = registry.toSet()

0 commit comments

Comments
 (0)