Skip to content

Commit f4c5d8b

Browse files
committed
add Tag#registry
1 parent 63a2e0d commit f4c5d8b

File tree

1 file changed

+16
-1
lines changed
  • src/main/java/org/spongepowered/api/tag

1 file changed

+16
-1
lines changed

src/main/java/org/spongepowered/api/tag/Tag.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.spongepowered.api.Sponge;
3131
import org.spongepowered.api.block.BlockType;
3232
import org.spongepowered.api.registry.DefaultedRegistryType;
33+
import org.spongepowered.api.registry.RegistryType;
3334

3435
/**
3536
* A {@link ResourceKey resource keyed} collection of {@link Taggable} values
@@ -49,12 +50,26 @@
4950
*/
5051
public interface Tag<T> extends ResourceKeyed {
5152

53+
/**
54+
* Gets the {@link RegistryType location} defining the parent registry.
55+
*
56+
* @return The location
57+
*/
58+
RegistryType<T> registry();
59+
5260
interface Factory {
53-
<T> Tag<T> of(DefaultedRegistryType<T> registryType, ResourceKey key);
61+
default <T> Tag<T> of(DefaultedRegistryType<T> registryType, ResourceKey key) {
62+
return this.of((RegistryType<T>) registryType, key);
63+
}
64+
65+
<T> Tag<T> of(RegistryType<T> registryType, ResourceKey key);
5466
}
5567

5668
static <T> Tag<T> of(DefaultedRegistryType<T> registryType, ResourceKey key) {
5769
return Sponge.game().factoryProvider().provide(Tag.Factory.class).of(registryType, key);
5870
}
5971

72+
static <T> Tag<T> of(RegistryType<T> registryType, ResourceKey key) {
73+
return Sponge.game().factoryProvider().provide(Tag.Factory.class).of(registryType, key);
74+
}
6075
}

0 commit comments

Comments
 (0)