Skip to content

Commit cd45248

Browse files
committed
Clean up, leftovers, javadocs
1 parent fd97b08 commit cd45248

File tree

26 files changed

+431
-34
lines changed

26 files changed

+431
-34
lines changed

src/main/java/org/spongepowered/api/advancement/Advancement.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@
4242
*/
4343
public interface Advancement extends DefaultedRegistryValue, ComponentLike, DataPackSerializable {
4444

45+
/**
46+
* Creates a new {@link Builder} to create an {@link Advancement}.
47+
*
48+
* @return The new builder
49+
*/
4550
static Advancement.Builder builder() {
4651
return Sponge.game().builderProvider().provide(Advancement.Builder.class);
4752
}

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

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,44 @@
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;
3031
import org.spongepowered.api.util.CopyableBuilder;
3132
import org.spongepowered.api.util.annotation.CatalogedBy;
3233

3334
/**
3435
* A type of chat
3536
*/
3637
@CatalogedBy(ChatTypes.class)
37-
public interface ChatType extends net.kyori.adventure.chat.ChatType, DataPackSerializable {
38+
public interface ChatType extends DefaultedRegistryValue, net.kyori.adventure.chat.ChatType, DataPackSerializable {
3839

40+
/**
41+
* Creates a new {@link Builder} to create a {@link ChatType}.
42+
*
43+
* @return The new builder
44+
*/
3945
static Builder builder() {
4046
return Sponge.game().builderProvider().provide(Builder.class);
4147
}
4248

49+
/**
50+
* Gets the translation key that would be used
51+
* to display the chat message.
52+
*
53+
* @return The translation key
54+
*/
4355
String translationKey();
4456

57+
/**
58+
* Gets the style that would be used to
59+
* display the chat message.
60+
*
61+
* @return The style
62+
*/
4563
Style style();
4664

65+
/**
66+
* A builder to create {@link ChatType}s.
67+
*/
4768
interface Builder extends org.spongepowered.api.util.Builder<ChatType, Builder>, CopyableBuilder<ChatType, Builder> {
4869

4970
/**

src/main/java/org/spongepowered/api/command/Command.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ interface Raw extends Command {
208208
* <p>Defaults to a command with an optional string argument string that
209209
* is greedy.</p>
210210
*
211+
* @param registryHolder The owning {@link RegistryHolder registry holder}.
211212
* @return The tree.
212213
*/
213214
default CommandTreeNode.Root commandTree(RegistryHolder registryHolder) {

src/main/java/org/spongepowered/api/command/parameter/managed/ValueParameter.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,23 @@ default List<CommandCompletion> complete(final CommandContext context, final Str
120120

121121
}
122122

123+
/**
124+
* A {@link ValueParameter} that relies on registry data
125+
* and is unable to parse its results until it has been
126+
* bound.
127+
*
128+
* @param <T> The type of object that is returned from the
129+
* {@link ValueParser} upon successful parsing.
130+
*/
123131
interface Bindable<T> extends ValueParameter<T> {
124132

133+
/**
134+
* Creates a new {@link ValueParameter} that is bound to
135+
* a specific {@link RegistryHolder registry holder}.
136+
*
137+
* @param registryHolder The owning {@link RegistryHolder registry holder}.
138+
* @return The bound {@link ValueParameter}.
139+
*/
125140
ValueParameter<T> bind(RegistryHolder registryHolder);
126141
}
127142
}

src/main/java/org/spongepowered/api/command/registrar/CommandRegistrarType.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public interface CommandRegistrarType<T> extends DefaultedRegistryValue {
5151
*
5252
* @param manager The {@link CommandManager} that has requested the creation
5353
* of the {@link CommandRegistrar} associated with this type
54+
* @param registryHolder The owning {@link RegistryHolder registry holder}.
5455
* @return the newly created registrar
5556
*/
5657
CommandRegistrar<T> create(final CommandManager.Mutable manager, RegistryHolder registryHolder);

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import org.spongepowered.api.ResourceKey;
2828
import org.spongepowered.api.Sponge;
29+
import org.spongepowered.api.datapack.DataPackSerializable;
2930
import org.spongepowered.api.entity.hanging.Painting;
3031
import org.spongepowered.api.registry.DefaultedRegistryValue;
3132
import org.spongepowered.api.util.Builder;
@@ -36,7 +37,7 @@
3637
* Represents a piece of art to be displayed by {@link Painting}s.
3738
*/
3839
@CatalogedBy(ArtTypes.class)
39-
public interface ArtType extends DefaultedRegistryValue {
40+
public interface ArtType extends DefaultedRegistryValue, DataPackSerializable {
4041

4142
static Builder builder() {
4243
return Sponge.game().builderProvider().provide(Builder.class);

src/main/java/org/spongepowered/api/datapack/DataPackSerializable.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,17 @@
2828

2929
import java.util.Optional;
3030

31+
/**
32+
* Represents a type that can be serialized into a {@link DataContainer}
33+
* and is a valid data pack entry.
34+
*/
3135
public interface DataPackSerializable {
3236

37+
/**
38+
* Creates a serialized representation of this type
39+
* if possible. Not all types have serializable representation.
40+
*
41+
* @return The serialized data container.
42+
*/
3343
Optional<DataContainer> toDataPack();
3444
}

src/main/java/org/spongepowered/api/event/advancement/AdvancementTreeEvent.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ public interface AdvancementTreeEvent extends Event {
4848
*/
4949
interface GenerateLayout extends AdvancementTreeEvent {
5050

51+
/**
52+
* Gets the owning {@link RegistryHolder registry holder}.
53+
*
54+
* @return The registry holder.
55+
*/
5156
RegistryHolder registryHolder();
5257
}
5358
}

src/main/java/org/spongepowered/api/event/cause/entity/damage/DamageType.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@
4444
@CatalogedBy(DamageTypes.class)
4545
public interface DamageType extends DefaultedRegistryValue, Nameable, Taggable<DamageType>, DataPackSerializable {
4646

47+
/**
48+
* Creates a new {@link Builder} to create a {@link DamageType}.
49+
*
50+
* @return The new builder
51+
*/
4752
static Builder builder() {
4853
return Sponge.game().builderProvider().provide(Builder.class);
4954
}
@@ -83,6 +88,9 @@ static Builder builder() {
8388
*/
8489
DamageEffect effect();
8590

91+
/**
92+
* A builder to create {@link DamageType}s.
93+
*/
8694
interface Builder extends org.spongepowered.api.util.Builder<DamageType, Builder>, CopyableBuilder<DamageType, Builder> {
8795

8896
/**

src/main/java/org/spongepowered/api/event/lifecycle/RegisterRegistryValueEvent.java

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.spongepowered.api.Engine;
2828
import org.spongepowered.api.ResourceKey;
2929
import org.spongepowered.api.event.GenericEvent;
30+
import org.spongepowered.api.registry.Registry;
3031
import org.spongepowered.api.registry.RegistryHolder;
3132
import org.spongepowered.api.registry.RegistryRegistrationSet;
3233
import org.spongepowered.api.registry.RegistryType;
@@ -35,19 +36,79 @@
3536
import java.util.function.BiConsumer;
3637
import java.util.function.Consumer;
3738

39+
/**
40+
* Lifecycle event for registering entries to a {@link Registry}.
41+
*
42+
* <p>This event may be called multiple times for the same layer
43+
* as the registry is being appended and as dependencies become
44+
* available. Plugins should only execute code inside the consumers.</p>
45+
*
46+
* <p><strong>Note:</strong> Layers might be reloadable!</p>
47+
*/
3848
@NoFactoryMethod
3949
public interface RegisterRegistryValueEvent extends LifecycleEvent {
4050

51+
/**
52+
* <p>Register new entries against a specific {@link Registry}.</p>
53+
*
54+
* <p>The consumer will be called if it matches the current set of
55+
* registries being created.</p>
56+
*
57+
* @param registryType The registry type to append.
58+
* @param consumer The consumer to be called if found.
59+
*/
4160
default <T> void registry(RegistryType<T> registryType, Consumer<RegistryStep<T>> consumer) {
4261
this.registry(registryType, (h, r) -> consumer.accept(r));
4362
}
4463

64+
/**
65+
* <p>Register new entries against a specific {@link Registry}.</p>
66+
*
67+
* <p>The consumer will be called if it matches the current set of
68+
* registries being created.</p>
69+
*
70+
* @param registryType The registry type to append.
71+
* @param consumer The consumer to be called if found.
72+
*/
4573
<T> void registry(RegistryType<T> registryType, BiConsumer<RegistryHolder, RegistryStep<T>> consumer);
4674

75+
/**
76+
* <p>Register new entries against a specific {@link Registry}.</p>
77+
*
78+
* <p>The consumer will be called if it matches the current set of
79+
* registries being created.</p>
80+
*
81+
* @param registryType The registry type to append.
82+
* @param consumer The consumer to be called if found.
83+
* @param dependencies The list of registries to create before
84+
* invoking the consumer.
85+
*/
4786
<T> void registry(RegistryType<T> registryType, BiConsumer<RegistryHolder, RegistryStep<T>> consumer, final RegistryType<?>... dependencies);
4887

88+
/**
89+
* <p>Register new entries against a specific {@link Registry}.</p>
90+
*
91+
* <p>The {@link RegistryRegistrationSet registration set} will be
92+
* appended if it matches the current set of registries being created.</p>
93+
*
94+
* @param registrationSet The registration set.
95+
*/
4996
default <T> void register(RegistryRegistrationSet<T> registrationSet) {
50-
this.registry(registrationSet.registryType(), r -> registrationSet.values().forEach((k, v) -> r.register(k, v.get())));
97+
this.registry(registrationSet.registryType(), (h, r) -> registrationSet.values().forEach((k, v) -> r.register(k, v.apply(h))));
98+
}
99+
100+
/**
101+
* <p>Register new entries against a specific {@link Registry}.</p>
102+
*
103+
* <p>The {@link RegistryRegistrationSet registration set} will be
104+
* appended if it matches the current set of registries being created.</p>
105+
*
106+
* @param registrationSet The registration set.
107+
* @param dependencies The list of registries to create before
108+
* appending the registration set.
109+
*/
110+
default <T> void register(RegistryRegistrationSet<T> registrationSet, final RegistryType<?>... dependencies) {
111+
this.registry(registrationSet.registryType(), (h, r) -> registrationSet.values().forEach((k, v) -> r.register(k, v.apply(h))), dependencies);
51112
}
52113

53114
interface RegistryStep<T> {

0 commit comments

Comments
 (0)