key(final ResourceKey location) {
+ return RegistryKey.of(RegistryTypes.VAULT_STATE, location).asDefaultedReference(Sponge::game);
+ }
-/**
- * An extension of {@link MapDecorationType} that represents a banner, and provides
- * the {@link org.spongepowered.api.data.type.DyeColor} of the banner it
- * represents.
- *
- * Not all {@link MapDecorationType MapDecorationTypes} are {@link MapDecorationBannerType}.
- */
-public interface MapDecorationBannerType extends MapDecorationType {
- /**
- * Gets the corresponding {@link DyeColor} that this banner decoration type is.
- *
- * @return The {@link DyeColor} that this banner decoration type is.
- */
- DyeColor bannerColor();
}
diff --git a/src/main/java/org/spongepowered/api/data/type/WallConnectionState.java b/src/main/java/org/spongepowered/api/data/type/WallConnectionState.java
index a8ed41917bb..2ea5feec8e5 100644
--- a/src/main/java/org/spongepowered/api/data/type/WallConnectionState.java
+++ b/src/main/java/org/spongepowered/api/data/type/WallConnectionState.java
@@ -31,6 +31,6 @@
* Represents the type of wall BlockStates
*/
@CatalogedBy(WallConnectionStates.class)
-public interface WallConnectionState extends DefaultedRegistryValue, Comparable {
+public interface WallConnectionState extends DefaultedRegistryValue, Comparable, StringRepresentable {
}
diff --git a/src/main/java/org/spongepowered/api/data/type/WireAttachmentType.java b/src/main/java/org/spongepowered/api/data/type/WireAttachmentType.java
index 3f18c8e87b8..dc35ec8fb77 100644
--- a/src/main/java/org/spongepowered/api/data/type/WireAttachmentType.java
+++ b/src/main/java/org/spongepowered/api/data/type/WireAttachmentType.java
@@ -28,6 +28,6 @@
import org.spongepowered.api.util.annotation.CatalogedBy;
@CatalogedBy(WireAttachmentTypes.class)
-public interface WireAttachmentType extends DefaultedRegistryValue, Comparable {
+public interface WireAttachmentType extends DefaultedRegistryValue, Comparable, StringRepresentable {
}
diff --git a/src/main/java/org/spongepowered/api/effect/Viewer.java b/src/main/java/org/spongepowered/api/effect/Viewer.java
index b79025d0912..d0e23ae2a98 100644
--- a/src/main/java/org/spongepowered/api/effect/Viewer.java
+++ b/src/main/java/org/spongepowered/api/effect/Viewer.java
@@ -161,4 +161,52 @@ default void resetBlockChange(final Vector3i position) {
*/
void resetBlockChange(int x, int y, int z);
+ /**
+ * Sends a client-only block breaking progress.
+ *
+ * @param position The position
+ * @param progress The breaking progress from 0 to 1
+ */
+ default void sendBlockProgress(final Vector3i position, final double progress) {
+ Objects.requireNonNull(position, "position");
+ this.sendBlockProgress(position.x(), position.y(), position.z(), progress);
+ }
+
+ /**
+ * Sends a client-only block breaking progress.
+ *
+ * @param x The x position
+ * @param y The y position
+ * @param z The z position
+ * @param progress The breaking progress from 0 to 1
+ */
+ void sendBlockProgress(int x, int y, int z, double progress);
+
+ /**
+ * Resets the client's view of the provided position to actual
+ * breaking progress.
+ *
+ * This is useful for resetting what the client sees
+ * after sending a {@link #sendBlockProgress block progress}.
+ *
+ * @param position The position
+ */
+ default void resetBlockProgress(final Vector3i position) {
+ Objects.requireNonNull(position, "position");
+ this.resetBlockProgress(position.x(), position.y(), position.z());
+ }
+
+ /**
+ * Resets the client's view of the provided position to actual
+ * breaking progress.
+ *
+ * This is useful for resetting what the client sees
+ * after sending a {@link #sendBlockProgress block progress}.
+ *
+ * @param x The x position
+ * @param y The y position
+ * @param z The z position
+ */
+ void resetBlockProgress(int x, int y, int z);
+
}
diff --git a/src/main/java/org/spongepowered/api/effect/particle/ParticleOptions.java b/src/main/java/org/spongepowered/api/effect/particle/ParticleOptions.java
index f7debab78e6..36f8859c20b 100644
--- a/src/main/java/org/spongepowered/api/effect/particle/ParticleOptions.java
+++ b/src/main/java/org/spongepowered/api/effect/particle/ParticleOptions.java
@@ -68,7 +68,6 @@ public final class ParticleOptions {
* {@link ParticleType}s this option is applicable to are:
*
*
- * - {@link ParticleTypes#AMBIENT_ENTITY_EFFECT}
* - {@link ParticleTypes#ENTITY_EFFECT}
* - {@link ParticleTypes#DUST}
*
diff --git a/src/main/java/org/spongepowered/api/effect/particle/ParticleTypes.java b/src/main/java/org/spongepowered/api/effect/particle/ParticleTypes.java
index 369074ea395..06fa3d1930c 100644
--- a/src/main/java/org/spongepowered/api/effect/particle/ParticleTypes.java
+++ b/src/main/java/org/spongepowered/api/effect/particle/ParticleTypes.java
@@ -40,8 +40,6 @@
@RegistryScopes(scopes = RegistryScope.GAME)
public final class ParticleTypes {
- public static final DefaultedRegistryReference AMBIENT_ENTITY_EFFECT = ParticleTypes.key(ResourceKey.minecraft("ambient_entity_effect"));
-
public static final DefaultedRegistryReference ANGRY_VILLAGER = ParticleTypes.key(ResourceKey.minecraft("angry_villager"));
public static final DefaultedRegistryReference ASH = ParticleTypes.key(ResourceKey.minecraft("ash"));
@@ -94,6 +92,8 @@ public final class ParticleTypes {
public static final DefaultedRegistryReference DUST_COLOR_TRANSITION = ParticleTypes.key(ResourceKey.minecraft("dust_color_transition"));
+ public static final DefaultedRegistryReference DUST_PILLAR = ParticleTypes.key(ResourceKey.minecraft("dust_pillar"));
+
public static final DefaultedRegistryReference DUST_PLUME = ParticleTypes.key(ResourceKey.minecraft("dust_plume"));
public static final DefaultedRegistryReference EFFECT = ParticleTypes.key(ResourceKey.minecraft("effect"));
@@ -148,18 +148,22 @@ public final class ParticleTypes {
public static final DefaultedRegistryReference GUST = ParticleTypes.key(ResourceKey.minecraft("gust"));
- public static final DefaultedRegistryReference GUST_DUST = ParticleTypes.key(ResourceKey.minecraft("gust_dust"));
+ public static final DefaultedRegistryReference GUST_EMITTER_LARGE = ParticleTypes.key(ResourceKey.minecraft("gust_emitter_large"));
- public static final DefaultedRegistryReference GUST_EMITTER = ParticleTypes.key(ResourceKey.minecraft("gust_emitter"));
+ public static final DefaultedRegistryReference GUST_EMITTER_SMALL = ParticleTypes.key(ResourceKey.minecraft("gust_emitter_small"));
public static final DefaultedRegistryReference HAPPY_VILLAGER = ParticleTypes.key(ResourceKey.minecraft("happy_villager"));
public static final DefaultedRegistryReference HEART = ParticleTypes.key(ResourceKey.minecraft("heart"));
+ public static final DefaultedRegistryReference INFESTED = ParticleTypes.key(ResourceKey.minecraft("infested"));
+
public static final DefaultedRegistryReference INSTANT_EFFECT = ParticleTypes.key(ResourceKey.minecraft("instant_effect"));
public static final DefaultedRegistryReference ITEM = ParticleTypes.key(ResourceKey.minecraft("item"));
+ public static final DefaultedRegistryReference ITEM_COBWEB = ParticleTypes.key(ResourceKey.minecraft("item_cobweb"));
+
public static final DefaultedRegistryReference ITEM_SLIME = ParticleTypes.key(ResourceKey.minecraft("item_slime"));
public static final DefaultedRegistryReference ITEM_SNOWBALL = ParticleTypes.key(ResourceKey.minecraft("item_snowball"));
@@ -180,10 +184,14 @@ public final class ParticleTypes {
public static final DefaultedRegistryReference NOTE = ParticleTypes.key(ResourceKey.minecraft("note"));
+ public static final DefaultedRegistryReference OMINOUS_SPAWNING = ParticleTypes.key(ResourceKey.minecraft("ominous_spawning"));
+
public static final DefaultedRegistryReference POOF = ParticleTypes.key(ResourceKey.minecraft("poof"));
public static final DefaultedRegistryReference PORTAL = ParticleTypes.key(ResourceKey.minecraft("portal"));
+ public static final DefaultedRegistryReference RAID_OMEN = ParticleTypes.key(ResourceKey.minecraft("raid_omen"));
+
public static final DefaultedRegistryReference RAIN = ParticleTypes.key(ResourceKey.minecraft("rain"));
public static final DefaultedRegistryReference REVERSE_PORTAL = ParticleTypes.key(ResourceKey.minecraft("reverse_portal"));
@@ -200,6 +208,8 @@ public final class ParticleTypes {
public static final DefaultedRegistryReference SMALL_FLAME = ParticleTypes.key(ResourceKey.minecraft("small_flame"));
+ public static final DefaultedRegistryReference SMALL_GUST = ParticleTypes.key(ResourceKey.minecraft("small_gust"));
+
public static final DefaultedRegistryReference SMOKE = ParticleTypes.key(ResourceKey.minecraft("smoke"));
public static final DefaultedRegistryReference SNEEZE = ParticleTypes.key(ResourceKey.minecraft("sneeze"));
@@ -224,10 +234,16 @@ public final class ParticleTypes {
public static final DefaultedRegistryReference TOTEM_OF_UNDYING = ParticleTypes.key(ResourceKey.minecraft("totem_of_undying"));
+ public static final DefaultedRegistryReference TRIAL_OMEN = ParticleTypes.key(ResourceKey.minecraft("trial_omen"));
+
public static final DefaultedRegistryReference TRIAL_SPAWNER_DETECTION = ParticleTypes.key(ResourceKey.minecraft("trial_spawner_detection"));
+ public static final DefaultedRegistryReference TRIAL_SPAWNER_DETECTION_OMINOUS = ParticleTypes.key(ResourceKey.minecraft("trial_spawner_detection_ominous"));
+
public static final DefaultedRegistryReference UNDERWATER = ParticleTypes.key(ResourceKey.minecraft("underwater"));
+ public static final DefaultedRegistryReference VAULT_CONNECTION = ParticleTypes.key(ResourceKey.minecraft("vault_connection"));
+
public static final DefaultedRegistryReference VIBRATION = ParticleTypes.key(ResourceKey.minecraft("vibration"));
public static final DefaultedRegistryReference WARPED_SPORE = ParticleTypes.key(ResourceKey.minecraft("warped_spore"));
diff --git a/src/main/java/org/spongepowered/api/effect/potion/PotionEffectTypes.java b/src/main/java/org/spongepowered/api/effect/potion/PotionEffectTypes.java
index d21bc70ae0d..a882041b5e5 100644
--- a/src/main/java/org/spongepowered/api/effect/potion/PotionEffectTypes.java
+++ b/src/main/java/org/spongepowered/api/effect/potion/PotionEffectTypes.java
@@ -64,6 +64,8 @@ public final class PotionEffectTypes {
public static final DefaultedRegistryReference HUNGER = PotionEffectTypes.key(ResourceKey.minecraft("hunger"));
+ public static final DefaultedRegistryReference INFESTED = PotionEffectTypes.key(ResourceKey.minecraft("infested"));
+
public static final DefaultedRegistryReference INSTANT_DAMAGE = PotionEffectTypes.key(ResourceKey.minecraft("instant_damage"));
public static final DefaultedRegistryReference INSTANT_HEALTH = PotionEffectTypes.key(ResourceKey.minecraft("instant_health"));
@@ -82,8 +84,12 @@ public final class PotionEffectTypes {
public static final DefaultedRegistryReference NIGHT_VISION = PotionEffectTypes.key(ResourceKey.minecraft("night_vision"));
+ public static final DefaultedRegistryReference OOZING = PotionEffectTypes.key(ResourceKey.minecraft("oozing"));
+
public static final DefaultedRegistryReference POISON = PotionEffectTypes.key(ResourceKey.minecraft("poison"));
+ public static final DefaultedRegistryReference RAID_OMEN = PotionEffectTypes.key(ResourceKey.minecraft("raid_omen"));
+
public static final DefaultedRegistryReference REGENERATION = PotionEffectTypes.key(ResourceKey.minecraft("regeneration"));
public static final DefaultedRegistryReference RESISTANCE = PotionEffectTypes.key(ResourceKey.minecraft("resistance"));
@@ -98,12 +104,18 @@ public final class PotionEffectTypes {
public static final DefaultedRegistryReference STRENGTH = PotionEffectTypes.key(ResourceKey.minecraft("strength"));
+ public static final DefaultedRegistryReference TRIAL_OMEN = PotionEffectTypes.key(ResourceKey.minecraft("trial_omen"));
+
public static final DefaultedRegistryReference UNLUCK = PotionEffectTypes.key(ResourceKey.minecraft("unluck"));
public static final DefaultedRegistryReference WATER_BREATHING = PotionEffectTypes.key(ResourceKey.minecraft("water_breathing"));
public static final DefaultedRegistryReference WEAKNESS = PotionEffectTypes.key(ResourceKey.minecraft("weakness"));
+ public static final DefaultedRegistryReference WEAVING = PotionEffectTypes.key(ResourceKey.minecraft("weaving"));
+
+ public static final DefaultedRegistryReference WIND_CHARGED = PotionEffectTypes.key(ResourceKey.minecraft("wind_charged"));
+
public static final DefaultedRegistryReference WITHER = PotionEffectTypes.key(ResourceKey.minecraft("wither"));
private PotionEffectTypes() {
diff --git a/src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java b/src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java
index 70a373aec43..7c21e16ec20 100644
--- a/src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java
+++ b/src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java
@@ -422,6 +422,16 @@ public final class SoundTypes {
public static final DefaultedRegistryReference BLOCK_CHORUS_FLOWER_GROW = SoundTypes.key(ResourceKey.minecraft("block.chorus_flower.grow"));
+ public static final DefaultedRegistryReference BLOCK_COBWEB_BREAK = SoundTypes.key(ResourceKey.minecraft("block.cobweb.break"));
+
+ public static final DefaultedRegistryReference BLOCK_COBWEB_FALL = SoundTypes.key(ResourceKey.minecraft("block.cobweb.fall"));
+
+ public static final DefaultedRegistryReference BLOCK_COBWEB_HIT = SoundTypes.key(ResourceKey.minecraft("block.cobweb.hit"));
+
+ public static final DefaultedRegistryReference BLOCK_COBWEB_PLACE = SoundTypes.key(ResourceKey.minecraft("block.cobweb.place"));
+
+ public static final DefaultedRegistryReference BLOCK_COBWEB_STEP = SoundTypes.key(ResourceKey.minecraft("block.cobweb.step"));
+
public static final DefaultedRegistryReference BLOCK_COMPARATOR_CLICK = SoundTypes.key(ResourceKey.minecraft("block.comparator.click"));
public static final DefaultedRegistryReference BLOCK_COMPOSTER_EMPTY = SoundTypes.key(ResourceKey.minecraft("block.composter.empty"));
@@ -692,6 +702,16 @@ public final class SoundTypes {
public static final DefaultedRegistryReference BLOCK_HANGING_SIGN_WAXED_INTERACT_FAIL = SoundTypes.key(ResourceKey.minecraft("block.hanging_sign.waxed_interact_fail"));
+ public static final DefaultedRegistryReference BLOCK_HEAVY_CORE_BREAK = SoundTypes.key(ResourceKey.minecraft("block.heavy_core.break"));
+
+ public static final DefaultedRegistryReference BLOCK_HEAVY_CORE_FALL = SoundTypes.key(ResourceKey.minecraft("block.heavy_core.fall"));
+
+ public static final DefaultedRegistryReference BLOCK_HEAVY_CORE_HIT = SoundTypes.key(ResourceKey.minecraft("block.heavy_core.hit"));
+
+ public static final DefaultedRegistryReference BLOCK_HEAVY_CORE_PLACE = SoundTypes.key(ResourceKey.minecraft("block.heavy_core.place"));
+
+ public static final DefaultedRegistryReference BLOCK_HEAVY_CORE_STEP = SoundTypes.key(ResourceKey.minecraft("block.heavy_core.step"));
+
public static final DefaultedRegistryReference BLOCK_HONEY_BLOCK_BREAK = SoundTypes.key(ResourceKey.minecraft("block.honey_block.break"));
public static final DefaultedRegistryReference BLOCK_HONEY_BLOCK_FALL = SoundTypes.key(ResourceKey.minecraft("block.honey_block.fall"));
@@ -1340,10 +1360,16 @@ public final class SoundTypes {
public static final DefaultedRegistryReference