Skip to content

Commit 82fe878

Browse files
committed
Split Registered.key into a subinterface
1 parent 4b0365a commit 82fe878

File tree

5 files changed

+12
-9
lines changed

5 files changed

+12
-9
lines changed

common/src/main/java/juuxel/adorn/lib/registry/Registered.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44

55
import java.util.function.Supplier;
66

7+
@FunctionalInterface
78
public interface Registered<T> extends Supplier<T> {
8-
RegistryKey<? super T> key();
9+
interface WithKey<R, T extends R> extends Registered<T> {
10+
RegistryKey<R> key();
11+
}
912
}

common/src/main/java/juuxel/adorn/lib/registry/RegisteredMap.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import java.util.function.Supplier;
1111
import java.util.stream.Stream;
1212

13-
public final class RegisteredMap<K, V> implements Supplier<Map<K, V>> {
13+
public final class RegisteredMap<K, V> implements Registered<Map<K, V>> {
1414
private final Map<K, Registered<? extends V>> map;
1515
private final Supplier<Map<K, V>> builtMap;
1616

common/src/main/java/juuxel/adorn/lib/registry/Registrar.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public interface Registrar<T> extends Iterable<T> {
1010
/**
1111
* Registers an object with the id. The object is created using the provider.
1212
*/
13-
<U extends T> Registered<U> register(String id, Supplier<? extends U> provider);
13+
<U extends T> Registered.WithKey<T, U> register(String id, Supplier<? extends U> provider);
1414

1515
@SuppressWarnings("unchecked")
1616
default <K, U extends T> RegisteredMap<K, U> registerBy(Collection<? extends K> keys, Function<K, Registered<? extends U>> factory) {

fabric/src/main/java/juuxel/adorn/platform/fabric/RegistrarImpl.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ public RegistrarImpl(Registry<T> registry) {
2020
}
2121

2222
@Override
23-
public <U extends T> Registered<U> register(String id, Supplier<? extends U> provider) {
23+
public <U extends T> Registered.WithKey<T, U> register(String id, Supplier<? extends U> provider) {
2424
var key = RegistryKey.of(registry.getKey(), AdornCommon.id(id));
2525
var registered = Registry.register(registry, key, provider.get());
2626
objects.add(registered);
27-
return new Registered<>() {
27+
return new Registered.WithKey<>() {
2828
@Override
2929
public U get() {
3030
return registered;
3131
}
3232

3333
@Override
34-
public RegistryKey<? super U> key() {
34+
public RegistryKey<T> key() {
3535
return key;
3636
}
3737
};

forge/src/main/java/juuxel/adorn/platform/forge/registrar/DeferredRegistrar.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ public void hook(IEventBus modBus) {
2929
}
3030

3131
@Override
32-
public <U extends T> Registered<U> register(String id, Supplier<? extends U> provider) {
32+
public <U extends T> Registered.WithKey<T, U> register(String id, Supplier<? extends U> provider) {
3333
var registryObject = register.register(id, provider);
3434
objects.add(registryObject);
35-
return new Registered<>() {
35+
return new Registered.WithKey<>() {
3636
@Override
37-
public RegistryKey<? super U> key() {
37+
public RegistryKey<T> key() {
3838
return ((IHolderExtension<T>) registryObject).getKey();
3939
}
4040

0 commit comments

Comments
 (0)