Skip to content

Commit 89d0f9c

Browse files
committed
make vanilla registry values Taggable
1 parent 1c1c560 commit 89d0f9c

File tree

33 files changed

+285
-76
lines changed

33 files changed

+285
-76
lines changed

src/main/java/org/spongepowered/api/advancement/criteria/trigger/Trigger.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@
3434
import org.spongepowered.api.entity.living.player.server.ServerPlayer;
3535
import org.spongepowered.api.event.Cause;
3636
import org.spongepowered.api.event.advancement.CriterionEvent;
37-
import org.spongepowered.api.registry.DefaultedRegistryValue;
37+
import org.spongepowered.api.registry.DefaultedRegistryType;
38+
import org.spongepowered.api.registry.RegistryTypes;
3839
import org.spongepowered.api.scoreboard.criteria.Criterion;
40+
import org.spongepowered.api.tag.DefaultedTaggable;
3941
import org.spongepowered.api.util.CopyableBuilder;
4042
import org.spongepowered.api.util.annotation.CatalogedBy;
4143
import org.spongepowered.configurate.ConfigurationOptions;
@@ -53,7 +55,7 @@
5355
*/
5456
@SuppressWarnings("unchecked")
5557
@CatalogedBy(Triggers.class)
56-
public interface Trigger<C extends FilteredTriggerConfiguration> extends DefaultedRegistryValue {
58+
public interface Trigger<C extends FilteredTriggerConfiguration> extends DefaultedTaggable<Trigger<?>> {
5759

5860
/**
5961
* Creates a new {@link Builder} which can be used to create
@@ -96,6 +98,11 @@ static Builder<?> builder() {
9698
*/
9799
void trigger(ServerPlayer player);
98100

101+
@Override
102+
default DefaultedRegistryType<Trigger<?>> registryType() {
103+
return RegistryTypes.TRIGGER;
104+
}
105+
99106
/**
100107
* A builder to create {@link Trigger}s.
101108
*

src/main/java/org/spongepowered/api/adventure/ChatType.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,17 @@
2727
import net.kyori.adventure.text.format.Style;
2828
import org.spongepowered.api.Sponge;
2929
import org.spongepowered.api.datapack.DataPackSerializable;
30-
import org.spongepowered.api.registry.DefaultedRegistryValue;
30+
import org.spongepowered.api.registry.DefaultedRegistryType;
31+
import org.spongepowered.api.registry.RegistryTypes;
32+
import org.spongepowered.api.tag.DefaultedTaggable;
3133
import org.spongepowered.api.util.CopyableBuilder;
3234
import org.spongepowered.api.util.annotation.CatalogedBy;
3335

3436
/**
3537
* A type of chat
3638
*/
3739
@CatalogedBy(ChatTypes.class)
38-
public interface ChatType extends DefaultedRegistryValue, net.kyori.adventure.chat.ChatType, DataPackSerializable {
40+
public interface ChatType extends DefaultedTaggable<ChatType>, net.kyori.adventure.chat.ChatType, DataPackSerializable {
3941

4042
/**
4143
* Creates a new {@link Builder} to create a {@link ChatType}.
@@ -46,6 +48,11 @@ static Builder builder() {
4648
return Sponge.game().builderProvider().provide(Builder.class);
4749
}
4850

51+
@Override
52+
default DefaultedRegistryType<ChatType> registryType() {
53+
return RegistryTypes.CHAT_TYPE;
54+
}
55+
4956
/**
5057
* Gets the translation key that would be used
5158
* to display the chat message.

src/main/java/org/spongepowered/api/block/entity/BlockEntityType.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,16 @@
2525
package org.spongepowered.api.block.entity;
2626

2727
import org.spongepowered.api.block.BlockState;
28-
import org.spongepowered.api.registry.DefaultedRegistryValue;
28+
import org.spongepowered.api.registry.DefaultedRegistryType;
29+
import org.spongepowered.api.registry.RegistryTypes;
30+
import org.spongepowered.api.tag.DefaultedTaggable;
2931
import org.spongepowered.api.util.annotation.CatalogedBy;
3032

3133
/**
3234
* Describes a type of block entity.
3335
*/
3436
@CatalogedBy(BlockEntityTypes.class)
35-
public interface BlockEntityType extends DefaultedRegistryValue {
37+
public interface BlockEntityType extends DefaultedTaggable<BlockEntityType> {
3638

3739
/**
3840
* Determines if the provided block is considered valid by the {@link BlockEntity}.
@@ -46,4 +48,9 @@ public interface BlockEntityType extends DefaultedRegistryValue {
4648
* @return True if valid, false if not
4749
*/
4850
boolean isValidBlock(BlockState block);
51+
52+
@Override
53+
default DefaultedRegistryType<BlockEntityType> registryType() {
54+
return RegistryTypes.BLOCK_ENTITY_TYPE;
55+
}
4956
}

src/main/java/org/spongepowered/api/data/type/ArtType.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,27 @@
2828
import org.spongepowered.api.Sponge;
2929
import org.spongepowered.api.datapack.DataPackSerializable;
3030
import org.spongepowered.api.entity.hanging.Painting;
31-
import org.spongepowered.api.registry.DefaultedRegistryValue;
32-
import org.spongepowered.api.util.Builder;
31+
import org.spongepowered.api.registry.DefaultedRegistryType;
32+
import org.spongepowered.api.registry.RegistryTypes;
33+
import org.spongepowered.api.tag.DefaultedTaggable;
3334
import org.spongepowered.api.util.CopyableBuilder;
3435
import org.spongepowered.api.util.annotation.CatalogedBy;
3536

3637
/**
3738
* Represents a piece of art to be displayed by {@link Painting}s.
3839
*/
3940
@CatalogedBy(ArtTypes.class)
40-
public interface ArtType extends DefaultedRegistryValue, DataPackSerializable {
41+
public interface ArtType extends DefaultedTaggable<ArtType>, DataPackSerializable {
4142

4243
static Builder builder() {
4344
return Sponge.game().builderProvider().provide(Builder.class);
4445
}
4546

47+
@Override
48+
default DefaultedRegistryType<ArtType> registryType() {
49+
return RegistryTypes.ART_TYPE;
50+
}
51+
4652
/**
4753
* Gets the height in blocks this art piece spans.
4854
*

src/main/java/org/spongepowered/api/data/type/BannerPatternShape.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,19 @@
2424
*/
2525
package org.spongepowered.api.data.type;
2626

27-
import org.spongepowered.api.registry.DefaultedRegistryValue;
27+
import org.spongepowered.api.registry.DefaultedRegistryType;
28+
import org.spongepowered.api.registry.RegistryTypes;
29+
import org.spongepowered.api.tag.DefaultedTaggable;
2830
import org.spongepowered.api.util.annotation.CatalogedBy;
2931

3032
/**
3133
* A pattern shape which may be applied to a banner.
3234
*/
3335
@CatalogedBy(BannerPatternShapes.class)
34-
public interface BannerPatternShape extends DefaultedRegistryValue {
36+
public interface BannerPatternShape extends DefaultedTaggable<BannerPatternShape> {
3537

38+
@Override
39+
default DefaultedRegistryType<BannerPatternShape> registryType() {
40+
return RegistryTypes.BANNER_PATTERN_SHAPE;
41+
}
3642
}

src/main/java/org/spongepowered/api/data/type/CatType.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,19 @@
2424
*/
2525
package org.spongepowered.api.data.type;
2626

27-
import org.spongepowered.api.registry.DefaultedRegistryValue;
27+
import org.spongepowered.api.registry.DefaultedRegistryType;
28+
import org.spongepowered.api.registry.RegistryTypes;
29+
import org.spongepowered.api.tag.DefaultedTaggable;
2830
import org.spongepowered.api.util.annotation.CatalogedBy;
2931

3032
/**
3133
* Represents the type of cat a cat is.
3234
*/
3335
@CatalogedBy(CatTypes.class)
34-
public interface CatType extends DefaultedRegistryValue {
36+
public interface CatType extends DefaultedTaggable<CatType> {
3537

38+
@Override
39+
default DefaultedRegistryType<CatType> registryType() {
40+
return RegistryTypes.CAT_TYPE;
41+
}
3642
}

src/main/java/org/spongepowered/api/data/type/ProfessionType.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,20 @@
2525
package org.spongepowered.api.data.type;
2626

2727
import org.spongepowered.api.entity.living.trader.Villager;
28-
import org.spongepowered.api.registry.DefaultedRegistryValue;
28+
import org.spongepowered.api.registry.DefaultedRegistryType;
29+
import org.spongepowered.api.registry.RegistryTypes;
30+
import org.spongepowered.api.tag.DefaultedTaggable;
2931
import org.spongepowered.api.util.annotation.CatalogedBy;
3032

3133
/**
3234
* Represents a {@link Villager} profession. A profession defines the genre of
3335
* trade offers a trader may offer to a player.
3436
*/
3537
@CatalogedBy(ProfessionTypes.class)
36-
public interface ProfessionType extends DefaultedRegistryValue {
38+
public interface ProfessionType extends DefaultedTaggable<ProfessionType> {
3739

40+
@Override
41+
default DefaultedRegistryType<ProfessionType> registryType() {
42+
return RegistryTypes.PROFESSION_TYPE;
43+
}
3844
}

src/main/java/org/spongepowered/api/data/type/VillagerType.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,16 @@
2424
*/
2525
package org.spongepowered.api.data.type;
2626

27-
import org.spongepowered.api.registry.DefaultedRegistryValue;
27+
import org.spongepowered.api.registry.DefaultedRegistryType;
28+
import org.spongepowered.api.registry.RegistryTypes;
29+
import org.spongepowered.api.tag.DefaultedTaggable;
2830
import org.spongepowered.api.util.annotation.CatalogedBy;
2931

3032
@CatalogedBy(VillagerTypes.class)
31-
public interface VillagerType extends DefaultedRegistryValue {
33+
public interface VillagerType extends DefaultedTaggable<VillagerType> {
3234

35+
@Override
36+
default DefaultedRegistryType<VillagerType> registryType() {
37+
return RegistryTypes.VILLAGER_TYPE;
38+
}
3339
}

src/main/java/org/spongepowered/api/data/type/WolfVariant.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,16 @@
2424
*/
2525
package org.spongepowered.api.data.type;
2626

27-
import org.spongepowered.api.registry.DefaultedRegistryValue;
27+
import org.spongepowered.api.registry.DefaultedRegistryType;
28+
import org.spongepowered.api.registry.RegistryTypes;
29+
import org.spongepowered.api.tag.DefaultedTaggable;
2830
import org.spongepowered.api.util.annotation.CatalogedBy;
2931

3032
@CatalogedBy(WolfVariants.class)
31-
public interface WolfVariant extends DefaultedRegistryValue {
33+
public interface WolfVariant extends DefaultedTaggable<WolfVariant> {
3234

35+
@Override
36+
default DefaultedRegistryType<WolfVariant> registryType() {
37+
return RegistryTypes.WOLF_VARIANT;
38+
}
3339
}

src/main/java/org/spongepowered/api/effect/particle/ParticleType.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424
*/
2525
package org.spongepowered.api.effect.particle;
2626

27-
import org.spongepowered.api.registry.DefaultedRegistryValue;
27+
import org.spongepowered.api.registry.DefaultedRegistryType;
28+
import org.spongepowered.api.registry.RegistryTypes;
29+
import org.spongepowered.api.tag.DefaultedTaggable;
2830
import org.spongepowered.api.util.annotation.CatalogedBy;
2931

3032
import java.util.Map;
@@ -35,7 +37,7 @@
3537
* Represents a particle that can be sent on a Minecraft client.
3638
*/
3739
@CatalogedBy(ParticleTypes.class)
38-
public interface ParticleType extends DefaultedRegistryValue {
40+
public interface ParticleType extends DefaultedTaggable<ParticleType> {
3941

4042
/**
4143
* Gets the default value for the specified {@link ParticleOption}, it may
@@ -71,4 +73,8 @@ default <V> Optional<V> defaultOption(Supplier<? extends ParticleOption<V>> opti
7173
*/
7274
Map<ParticleOption<?>, Object> defaultOptions();
7375

76+
@Override
77+
default DefaultedRegistryType<ParticleType> registryType() {
78+
return RegistryTypes.PARTICLE_TYPE;
79+
}
7480
}

0 commit comments

Comments
 (0)