diff --git a/gradle.properties b/gradle.properties
index bf4d9f5bc6..5b6a538ff3 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,5 +1,5 @@
group=org.spongepowered
-version=15.0.0-SNAPSHOT
+version=16.0.0-SNAPSHOT
organization=SpongePowered
projectUrl=https://www.spongepowered.org
projectDescription=A plugin API for Minecraft: Java Edition
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 87468bf7bf..a873c91414 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -928,6 +928,9 @@
+
+
+
diff --git a/src/main/java/org/spongepowered/api/advancement/criteria/trigger/Triggers.java b/src/main/java/org/spongepowered/api/advancement/criteria/trigger/Triggers.java
index 5ab296e371..893202b41f 100644
--- a/src/main/java/org/spongepowered/api/advancement/criteria/trigger/Triggers.java
+++ b/src/main/java/org/spongepowered/api/advancement/criteria/trigger/Triggers.java
@@ -116,6 +116,8 @@ public final class Triggers {
public static final DefaultedRegistryReference> PLAYER_KILLED_ENTITY = Triggers.key(ResourceKey.minecraft("player_killed_entity"));
+ public static final DefaultedRegistryReference> PLAYER_SHEARED_EQUIPMENT = Triggers.key(ResourceKey.minecraft("player_sheared_equipment"));
+
public static final DefaultedRegistryReference> RECIPE_CRAFTED = Triggers.key(ResourceKey.minecraft("recipe_crafted"));
public static final DefaultedRegistryReference> RECIPE_UNLOCKED = Triggers.key(ResourceKey.minecraft("recipe_unlocked"));
diff --git a/src/main/java/org/spongepowered/api/block/BlockTypes.java b/src/main/java/org/spongepowered/api/block/BlockTypes.java
index 60c26f0052..4b74d7886b 100644
--- a/src/main/java/org/spongepowered/api/block/BlockTypes.java
+++ b/src/main/java/org/spongepowered/api/block/BlockTypes.java
@@ -740,6 +740,8 @@ public final class BlockTypes {
public static final DefaultedRegistryReference DRAGON_WALL_HEAD = BlockTypes.key(ResourceKey.minecraft("dragon_wall_head"));
+ public static final DefaultedRegistryReference DRIED_GHAST = BlockTypes.key(ResourceKey.minecraft("dried_ghast"));
+
public static final DefaultedRegistryReference DRIED_KELP_BLOCK = BlockTypes.key(ResourceKey.minecraft("dried_kelp_block"));
public static final DefaultedRegistryReference DRIPSTONE_BLOCK = BlockTypes.key(ResourceKey.minecraft("dripstone_block"));
diff --git a/src/main/java/org/spongepowered/api/data/BlockStateKeys.java b/src/main/java/org/spongepowered/api/data/BlockStateKeys.java
index 962179fa4a..8795f231b7 100644
--- a/src/main/java/org/spongepowered/api/data/BlockStateKeys.java
+++ b/src/main/java/org/spongepowered/api/data/BlockStateKeys.java
@@ -134,6 +134,8 @@ public final class BlockStateKeys {
public static final Key> DRAG = BlockStateKeys.key(ResourceKey.minecraft("property/drag"), Boolean.class);
+ public static final Key> DRIED_GHAST_HYDRATION_LEVELS = BlockStateKeys.key(ResourceKey.minecraft("property/hydration"), Integer.class);
+
public static final Key> DRIPSTONE_THICKNESS = BlockStateKeys.key(ResourceKey.minecraft("property/thickness"), DripstoneSegment.class);
public static final Key> DUSTED = BlockStateKeys.key(ResourceKey.minecraft("property/dusted"), Integer.class);
diff --git a/src/main/java/org/spongepowered/api/data/type/CatTypes.java b/src/main/java/org/spongepowered/api/data/type/CatTypes.java
index ce521f2437..65a9e8ffdd 100644
--- a/src/main/java/org/spongepowered/api/data/type/CatTypes.java
+++ b/src/main/java/org/spongepowered/api/data/type/CatTypes.java
@@ -70,6 +70,6 @@ public static Registry registry() {
}
private static DefaultedRegistryReference key(final ResourceKey location) {
- return RegistryKey.of(RegistryTypes.CAT_TYPE, location).asDefaultedReference(Sponge::server);
+ return RegistryKey.of(RegistryTypes.CAT_TYPE, location).asScopedReference();
}
}
diff --git a/src/main/java/org/spongepowered/api/data/type/ChickenVariants.java b/src/main/java/org/spongepowered/api/data/type/ChickenVariants.java
index 6dfb850ff4..cf512eda97 100644
--- a/src/main/java/org/spongepowered/api/data/type/ChickenVariants.java
+++ b/src/main/java/org/spongepowered/api/data/type/ChickenVariants.java
@@ -51,6 +51,6 @@ public static Registry registry() {
}
private static DefaultedRegistryReference key(final ResourceKey location) {
- return RegistryKey.of(RegistryTypes.CHICKEN_VARIANT, location).asDefaultedReference(Sponge::server);
+ return RegistryKey.of(RegistryTypes.CHICKEN_VARIANT, location).asScopedReference();
}
}
diff --git a/src/main/java/org/spongepowered/api/data/type/CowVariants.java b/src/main/java/org/spongepowered/api/data/type/CowVariants.java
index e5409fcc9f..e48c3ec5de 100644
--- a/src/main/java/org/spongepowered/api/data/type/CowVariants.java
+++ b/src/main/java/org/spongepowered/api/data/type/CowVariants.java
@@ -54,6 +54,6 @@ public static Registry registry() {
}
private static DefaultedRegistryReference key(final ResourceKey location) {
- return RegistryKey.of(RegistryTypes.COW_VARIANT, location).asDefaultedReference(Sponge::server);
+ return RegistryKey.of(RegistryTypes.COW_VARIANT, location).asScopedReference();
}
}
diff --git a/src/main/java/org/spongepowered/api/data/type/FrogTypes.java b/src/main/java/org/spongepowered/api/data/type/FrogTypes.java
index bea643eb3d..9819d8c4d0 100644
--- a/src/main/java/org/spongepowered/api/data/type/FrogTypes.java
+++ b/src/main/java/org/spongepowered/api/data/type/FrogTypes.java
@@ -54,6 +54,6 @@ public static Registry registry() {
}
private static DefaultedRegistryReference key(final ResourceKey location) {
- return RegistryKey.of(RegistryTypes.FROG_TYPE, location).asDefaultedReference(Sponge::server);
+ return RegistryKey.of(RegistryTypes.FROG_TYPE, location).asScopedReference();
}
}
diff --git a/src/main/java/org/spongepowered/api/data/type/PigTypes.java b/src/main/java/org/spongepowered/api/data/type/PigTypes.java
index 5712660a4a..4d3b41c9ea 100644
--- a/src/main/java/org/spongepowered/api/data/type/PigTypes.java
+++ b/src/main/java/org/spongepowered/api/data/type/PigTypes.java
@@ -54,6 +54,6 @@ public static Registry registry() {
}
private static DefaultedRegistryReference key(final ResourceKey location) {
- return RegistryKey.of(RegistryTypes.PIG_TYPE, location).asDefaultedReference(Sponge::server);
+ return RegistryKey.of(RegistryTypes.PIG_TYPE, location).asScopedReference();
}
}
diff --git a/src/main/java/org/spongepowered/api/data/type/WolfSoundVariants.java b/src/main/java/org/spongepowered/api/data/type/WolfSoundVariants.java
index 22e6ccf331..c01464b067 100644
--- a/src/main/java/org/spongepowered/api/data/type/WolfSoundVariants.java
+++ b/src/main/java/org/spongepowered/api/data/type/WolfSoundVariants.java
@@ -59,6 +59,6 @@ public static Registry registry() {
}
private static DefaultedRegistryReference key(final ResourceKey location) {
- return RegistryKey.of(RegistryTypes.WOLF_SOUND_VARIANT, location).asDefaultedReference(Sponge::server);
+ return RegistryKey.of(RegistryTypes.WOLF_SOUND_VARIANT, location).asScopedReference();
}
}
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 cc1872a110..bfbdba93a6 100644
--- a/src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java
+++ b/src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java
@@ -584,6 +584,22 @@ public final class SoundTypes {
public static final DefaultedRegistryReference BLOCK_DISPENSER_LAUNCH = SoundTypes.key(ResourceKey.minecraft("block.dispenser.launch"));
+ public static final DefaultedRegistryReference BLOCK_DRIED_GHAST_AMBIENT = SoundTypes.key(ResourceKey.minecraft("block.dried_ghast.ambient"));
+
+ public static final DefaultedRegistryReference BLOCK_DRIED_GHAST_AMBIENT_WATER = SoundTypes.key(ResourceKey.minecraft("block.dried_ghast.ambient_water"));
+
+ public static final DefaultedRegistryReference BLOCK_DRIED_GHAST_BREAK = SoundTypes.key(ResourceKey.minecraft("block.dried_ghast.break"));
+
+ public static final DefaultedRegistryReference BLOCK_DRIED_GHAST_FALL = SoundTypes.key(ResourceKey.minecraft("block.dried_ghast.fall"));
+
+ public static final DefaultedRegistryReference BLOCK_DRIED_GHAST_PLACE = SoundTypes.key(ResourceKey.minecraft("block.dried_ghast.place"));
+
+ public static final DefaultedRegistryReference BLOCK_DRIED_GHAST_PLACE_IN_WATER = SoundTypes.key(ResourceKey.minecraft("block.dried_ghast.place_in_water"));
+
+ public static final DefaultedRegistryReference BLOCK_DRIED_GHAST_STEP = SoundTypes.key(ResourceKey.minecraft("block.dried_ghast.step"));
+
+ public static final DefaultedRegistryReference BLOCK_DRIED_GHAST_TRANSITION = SoundTypes.key(ResourceKey.minecraft("block.dried_ghast.transition"));
+
public static final DefaultedRegistryReference BLOCK_DRIPSTONE_BLOCK_BREAK = SoundTypes.key(ResourceKey.minecraft("block.dripstone_block.break"));
public static final DefaultedRegistryReference BLOCK_DRIPSTONE_BLOCK_FALL = SoundTypes.key(ResourceKey.minecraft("block.dripstone_block.fall"));
@@ -594,6 +610,8 @@ public final class SoundTypes {
public static final DefaultedRegistryReference BLOCK_DRIPSTONE_BLOCK_STEP = SoundTypes.key(ResourceKey.minecraft("block.dripstone_block.step"));
+ public static final DefaultedRegistryReference BLOCK_DRY_GRASS_AMBIENT = SoundTypes.key(ResourceKey.minecraft("block.dry_grass.ambient"));
+
public static final DefaultedRegistryReference BLOCK_ENCHANTMENT_TABLE_USE = SoundTypes.key(ResourceKey.minecraft("block.enchantment_table.use"));
public static final DefaultedRegistryReference BLOCK_ENDER_CHEST_CLOSE = SoundTypes.key(ResourceKey.minecraft("block.ender_chest.close"));
@@ -1208,8 +1226,6 @@ public final class SoundTypes {
public static final DefaultedRegistryReference BLOCK_SAND_STEP = SoundTypes.key(ResourceKey.minecraft("block.sand.step"));
- public static final DefaultedRegistryReference BLOCK_SAND_WIND = SoundTypes.key(ResourceKey.minecraft("block.sand.wind"));
-
public static final DefaultedRegistryReference BLOCK_SCAFFOLDING_BREAK = SoundTypes.key(ResourceKey.minecraft("block.scaffolding.break"));
public static final DefaultedRegistryReference BLOCK_SCAFFOLDING_FALL = SoundTypes.key(ResourceKey.minecraft("block.scaffolding.fall"));
@@ -2080,6 +2096,14 @@ public final class SoundTypes {
public static final DefaultedRegistryReference ENTITY_GENERIC_SWIM = SoundTypes.key(ResourceKey.minecraft("entity.generic.swim"));
+ public static final DefaultedRegistryReference ENTITY_GHASTLING_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.ghastling.ambient"));
+
+ public static final DefaultedRegistryReference ENTITY_GHASTLING_DEATH = SoundTypes.key(ResourceKey.minecraft("entity.ghastling.death"));
+
+ public static final DefaultedRegistryReference ENTITY_GHASTLING_HURT = SoundTypes.key(ResourceKey.minecraft("entity.ghastling.hurt"));
+
+ public static final DefaultedRegistryReference ENTITY_GHASTLING_SPAWN = SoundTypes.key(ResourceKey.minecraft("entity.ghastling.spawn"));
+
public static final DefaultedRegistryReference ENTITY_GHAST_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.ghast.ambient"));
public static final DefaultedRegistryReference ENTITY_GHAST_DEATH = SoundTypes.key(ResourceKey.minecraft("entity.ghast.death"));
@@ -2162,6 +2186,22 @@ public final class SoundTypes {
public static final DefaultedRegistryReference ENTITY_GUARDIAN_HURT_LAND = SoundTypes.key(ResourceKey.minecraft("entity.guardian.hurt_land"));
+ public static final DefaultedRegistryReference ENTITY_HAPPY_GHAST_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.happy_ghast.ambient"));
+
+ public static final DefaultedRegistryReference ENTITY_HAPPY_GHAST_DEATH = SoundTypes.key(ResourceKey.minecraft("entity.happy_ghast.death"));
+
+ public static final DefaultedRegistryReference ENTITY_HAPPY_GHAST_EQUIP = SoundTypes.key(ResourceKey.minecraft("entity.happy_ghast.equip"));
+
+ public static final DefaultedRegistryReference ENTITY_HAPPY_GHAST_HARNESS_GOGGLES_DOWN = SoundTypes.key(ResourceKey.minecraft("entity.happy_ghast.harness_goggles_down"));
+
+ public static final DefaultedRegistryReference ENTITY_HAPPY_GHAST_HARNESS_GOGGLES_UP = SoundTypes.key(ResourceKey.minecraft("entity.happy_ghast.harness_goggles_up"));
+
+ public static final DefaultedRegistryReference ENTITY_HAPPY_GHAST_HURT = SoundTypes.key(ResourceKey.minecraft("entity.happy_ghast.hurt"));
+
+ public static final DefaultedRegistryReference ENTITY_HAPPY_GHAST_RIDING = SoundTypes.key(ResourceKey.minecraft("entity.happy_ghast.riding"));
+
+ public static final DefaultedRegistryReference ENTITY_HAPPY_GHAST_UNEQUIP = SoundTypes.key(ResourceKey.minecraft("entity.happy_ghast.unequip"));
+
public static final DefaultedRegistryReference ENTITY_HOGLIN_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.hoglin.ambient"));
public static final DefaultedRegistryReference ENTITY_HOGLIN_ANGRY = SoundTypes.key(ResourceKey.minecraft("entity.hoglin.angry"));
@@ -2266,10 +2306,6 @@ public final class SoundTypes {
public static final DefaultedRegistryReference ENTITY_ITEM_PICKUP = SoundTypes.key(ResourceKey.minecraft("entity.item.pickup"));
- public static final DefaultedRegistryReference ENTITY_LEASH_KNOT_BREAK = SoundTypes.key(ResourceKey.minecraft("entity.leash_knot.break"));
-
- public static final DefaultedRegistryReference ENTITY_LEASH_KNOT_PLACE = SoundTypes.key(ResourceKey.minecraft("entity.leash_knot.place"));
-
public static final DefaultedRegistryReference ENTITY_LIGHTNING_BOLT_IMPACT = SoundTypes.key(ResourceKey.minecraft("entity.lightning_bolt.impact"));
public static final DefaultedRegistryReference ENTITY_LIGHTNING_BOLT_THUNDER = SoundTypes.key(ResourceKey.minecraft("entity.lightning_bolt.thunder"));
@@ -2570,8 +2606,6 @@ public final class SoundTypes {
public static final DefaultedRegistryReference ENTITY_POLAR_BEAR_WARNING = SoundTypes.key(ResourceKey.minecraft("entity.polar_bear.warning"));
- public static final DefaultedRegistryReference ENTITY_PUFFER_FISH_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.puffer_fish.ambient"));
-
public static final DefaultedRegistryReference ENTITY_PUFFER_FISH_BLOW_OUT = SoundTypes.key(ResourceKey.minecraft("entity.puffer_fish.blow_out"));
public static final DefaultedRegistryReference ENTITY_PUFFER_FISH_BLOW_UP = SoundTypes.key(ResourceKey.minecraft("entity.puffer_fish.blow_up"));
@@ -3268,8 +3302,18 @@ public final class SoundTypes {
public static final DefaultedRegistryReference ITEM_HONEY_BOTTLE_DRINK = SoundTypes.key(ResourceKey.minecraft("item.honey_bottle.drink"));
+ public static final DefaultedRegistryReference ITEM_HORSE_ARMOR_UNEQUIP = SoundTypes.key(ResourceKey.minecraft("item.horse_armor.unequip"));
+
public static final DefaultedRegistryReference ITEM_INK_SAC_USE = SoundTypes.key(ResourceKey.minecraft("item.ink_sac.use"));
+ public static final DefaultedRegistryReference ITEM_LEAD_BREAK = SoundTypes.key(ResourceKey.minecraft("item.lead.break"));
+
+ public static final DefaultedRegistryReference ITEM_LEAD_TIED = SoundTypes.key(ResourceKey.minecraft("item.lead.tied"));
+
+ public static final DefaultedRegistryReference ITEM_LEAD_UNTIED = SoundTypes.key(ResourceKey.minecraft("item.lead.untied"));
+
+ public static final DefaultedRegistryReference ITEM_LLAMA_CARPET_UNEQUIP = SoundTypes.key(ResourceKey.minecraft("item.llama_carpet.unequip"));
+
public static final DefaultedRegistryReference ITEM_LODESTONE_COMPASS_LOCK = SoundTypes.key(ResourceKey.minecraft("item.lodestone_compass.lock"));
public static final DefaultedRegistryReference ITEM_MACE_SMASH_AIR = SoundTypes.key(ResourceKey.minecraft("item.mace.smash_air"));
@@ -3282,6 +3326,10 @@ public final class SoundTypes {
public static final DefaultedRegistryReference ITEM_OMINOUS_BOTTLE_DISPOSE = SoundTypes.key(ResourceKey.minecraft("item.ominous_bottle.dispose"));
+ public static final DefaultedRegistryReference ITEM_SADDLE_UNEQUIP = SoundTypes.key(ResourceKey.minecraft("item.saddle.unequip"));
+
+ public static final DefaultedRegistryReference ITEM_SHEARS_SNIP = SoundTypes.key(ResourceKey.minecraft("item.shears.snip"));
+
public static final DefaultedRegistryReference ITEM_SHIELD_BLOCK = SoundTypes.key(ResourceKey.minecraft("item.shield.block"));
public static final DefaultedRegistryReference ITEM_SHIELD_BREAK = SoundTypes.key(ResourceKey.minecraft("item.shield.break"));
@@ -3356,6 +3404,8 @@ public final class SoundTypes {
public static final DefaultedRegistryReference MUSIC_DISC_STRAD = SoundTypes.key(ResourceKey.minecraft("music_disc.strad"));
+ public static final DefaultedRegistryReference MUSIC_DISC_TEARS = SoundTypes.key(ResourceKey.minecraft("music_disc.tears"));
+
public static final DefaultedRegistryReference MUSIC_DISC_WAIT = SoundTypes.key(ResourceKey.minecraft("music_disc.wait"));
public static final DefaultedRegistryReference MUSIC_DISC_WARD = SoundTypes.key(ResourceKey.minecraft("music_disc.ward"));
diff --git a/src/main/java/org/spongepowered/api/effect/sound/music/MusicDiscs.java b/src/main/java/org/spongepowered/api/effect/sound/music/MusicDiscs.java
index 4c20a109fb..bdd4473a8b 100644
--- a/src/main/java/org/spongepowered/api/effect/sound/music/MusicDiscs.java
+++ b/src/main/java/org/spongepowered/api/effect/sound/music/MusicDiscs.java
@@ -72,6 +72,8 @@ public final class MusicDiscs {
public static final DefaultedRegistryReference STRAD = MusicDiscs.key(ResourceKey.minecraft("strad"));
+ public static final DefaultedRegistryReference TEARS = MusicDiscs.key(ResourceKey.minecraft("tears"));
+
public static final DefaultedRegistryReference THIRTEEN = MusicDiscs.key(ResourceKey.minecraft("13"));
public static final DefaultedRegistryReference WAIT = MusicDiscs.key(ResourceKey.minecraft("wait"));
diff --git a/src/main/java/org/spongepowered/api/entity/EntityTypes.java b/src/main/java/org/spongepowered/api/entity/EntityTypes.java
index 98493c7bd6..5cd693e52e 100644
--- a/src/main/java/org/spongepowered/api/entity/EntityTypes.java
+++ b/src/main/java/org/spongepowered/api/entity/EntityTypes.java
@@ -46,6 +46,7 @@
import org.spongepowered.api.entity.living.animal.Chicken;
import org.spongepowered.api.entity.living.animal.Fox;
import org.spongepowered.api.entity.living.animal.Goat;
+import org.spongepowered.api.entity.living.animal.HappyGhast;
import org.spongepowered.api.entity.living.animal.Hoglin;
import org.spongepowered.api.entity.living.animal.Ocelot;
import org.spongepowered.api.entity.living.animal.Panda;
@@ -290,6 +291,8 @@ public final class EntityTypes {
public static final DefaultedRegistryReference> GUARDIAN = EntityTypes.key(ResourceKey.minecraft("guardian"));
+ public static final DefaultedRegistryReference> HAPPY_GHAST = EntityTypes.key(ResourceKey.minecraft("happy_ghast"));
+
public static final DefaultedRegistryReference> HOGLIN = EntityTypes.key(ResourceKey.minecraft("hoglin"));
public static final DefaultedRegistryReference> HOPPER_MINECART = EntityTypes.key(ResourceKey.minecraft("hopper_minecart"));
diff --git a/src/main/java/org/spongepowered/api/entity/attribute/type/AttributeTypes.java b/src/main/java/org/spongepowered/api/entity/attribute/type/AttributeTypes.java
index 182ac2f1ec..ec1034f990 100644
--- a/src/main/java/org/spongepowered/api/entity/attribute/type/AttributeTypes.java
+++ b/src/main/java/org/spongepowered/api/entity/attribute/type/AttributeTypes.java
@@ -56,6 +56,8 @@ public final class AttributeTypes {
public static final DefaultedRegistryReference BURNING_TIME = AttributeTypes.key(ResourceKey.minecraft("burning_time"));
+ public static final DefaultedRegistryReference CAMERA_DISTANCE = AttributeTypes.key(ResourceKey.minecraft("camera_distance"));
+
public static final DefaultedRegistryReference ENTITY_INTERACTION_RANGE = AttributeTypes.key(ResourceKey.minecraft("entity_interaction_range"));
public static final DefaultedRegistryReference EXPLOSION_KNOCKBACK_RESISTANCE = AttributeTypes.key(ResourceKey.minecraft("explosion_knockback_resistance"));
@@ -104,6 +106,10 @@ public final class AttributeTypes {
public static final DefaultedRegistryReference WATER_MOVEMENT_EFFICIENCY = AttributeTypes.key(ResourceKey.minecraft("water_movement_efficiency"));
+ public static final DefaultedRegistryReference WAYPOINT_RECEIVE_RANGE = AttributeTypes.key(ResourceKey.minecraft("waypoint_receive_range"));
+
+ public static final DefaultedRegistryReference WAYPOINT_TRANSMIT_RANGE = AttributeTypes.key(ResourceKey.minecraft("waypoint_transmit_range"));
+
private AttributeTypes() {
}
diff --git a/src/main/java/org/spongepowered/api/entity/living/animal/HappyGhast.java b/src/main/java/org/spongepowered/api/entity/living/animal/HappyGhast.java
new file mode 100644
index 0000000000..a425258ab8
--- /dev/null
+++ b/src/main/java/org/spongepowered/api/entity/living/animal/HappyGhast.java
@@ -0,0 +1,36 @@
+/*
+ * This file is part of SpongeAPI, licensed under the MIT License (MIT).
+ *
+ * Copyright (c) SpongePowered
+ * Copyright (c) contributors
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+package org.spongepowered.api.entity.living.animal;
+
+import org.spongepowered.api.util.annotation.Experimental;
+
+/**
+ * A Happy Ghast that is passive and normally does not attack players.
+ *
+ * @see Minecraft Wiki
+ */
+@Experimental("summer_drop")
+public interface HappyGhast extends Animal {
+}
diff --git a/src/main/java/org/spongepowered/api/item/ItemTypes.java b/src/main/java/org/spongepowered/api/item/ItemTypes.java
index 8908b8a29b..81a5aa8947 100644
--- a/src/main/java/org/spongepowered/api/item/ItemTypes.java
+++ b/src/main/java/org/spongepowered/api/item/ItemTypes.java
@@ -254,6 +254,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference BLACK_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("black_glazed_terracotta"));
+ public static final DefaultedRegistryReference BLACK_HARNESS = ItemTypes.key(ResourceKey.minecraft("black_harness"));
+
public static final DefaultedRegistryReference BLACK_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("black_shulker_box"));
public static final DefaultedRegistryReference BLACK_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("black_stained_glass"));
@@ -294,6 +296,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference BLUE_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("blue_glazed_terracotta"));
+ public static final DefaultedRegistryReference BLUE_HARNESS = ItemTypes.key(ResourceKey.minecraft("blue_harness"));
+
public static final DefaultedRegistryReference BLUE_ICE = ItemTypes.key(ResourceKey.minecraft("blue_ice"));
public static final DefaultedRegistryReference BLUE_ORCHID = ItemTypes.key(ResourceKey.minecraft("blue_orchid"));
@@ -374,6 +378,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference BROWN_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("brown_glazed_terracotta"));
+ public static final DefaultedRegistryReference BROWN_HARNESS = ItemTypes.key(ResourceKey.minecraft("brown_harness"));
+
public static final DefaultedRegistryReference BROWN_MUSHROOM = ItemTypes.key(ResourceKey.minecraft("brown_mushroom"));
public static final DefaultedRegistryReference BROWN_MUSHROOM_BLOCK = ItemTypes.key(ResourceKey.minecraft("brown_mushroom_block"));
@@ -706,6 +712,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference CYAN_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("cyan_glazed_terracotta"));
+ public static final DefaultedRegistryReference CYAN_HARNESS = ItemTypes.key(ResourceKey.minecraft("cyan_harness"));
+
public static final DefaultedRegistryReference CYAN_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("cyan_shulker_box"));
public static final DefaultedRegistryReference CYAN_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("cyan_stained_glass"));
@@ -888,6 +896,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference DRAGON_HEAD = ItemTypes.key(ResourceKey.minecraft("dragon_head"));
+ public static final DefaultedRegistryReference DRIED_GHAST = ItemTypes.key(ResourceKey.minecraft("dried_ghast"));
+
public static final DefaultedRegistryReference DRIED_KELP = ItemTypes.key(ResourceKey.minecraft("dried_kelp"));
public static final DefaultedRegistryReference DRIED_KELP_BLOCK = ItemTypes.key(ResourceKey.minecraft("dried_kelp_block"));
@@ -1130,6 +1140,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference GRAY_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("gray_glazed_terracotta"));
+ public static final DefaultedRegistryReference GRAY_HARNESS = ItemTypes.key(ResourceKey.minecraft("gray_harness"));
+
public static final DefaultedRegistryReference GRAY_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("gray_shulker_box"));
public static final DefaultedRegistryReference GRAY_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("gray_stained_glass"));
@@ -1158,6 +1170,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference GREEN_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("green_glazed_terracotta"));
+ public static final DefaultedRegistryReference GREEN_HARNESS = ItemTypes.key(ResourceKey.minecraft("green_harness"));
+
public static final DefaultedRegistryReference GREEN_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("green_shulker_box"));
public static final DefaultedRegistryReference GREEN_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("green_stained_glass"));
@@ -1180,6 +1194,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference HANGING_ROOTS = ItemTypes.key(ResourceKey.minecraft("hanging_roots"));
+ public static final DefaultedRegistryReference HAPPY_GHAST_SPAWN_EGG = ItemTypes.key(ResourceKey.minecraft("happy_ghast_spawn_egg"));
+
public static final DefaultedRegistryReference HAY_BLOCK = ItemTypes.key(ResourceKey.minecraft("hay_block"));
public static final DefaultedRegistryReference HEARTBREAK_POTTERY_SHERD = ItemTypes.key(ResourceKey.minecraft("heartbreak_pottery_sherd"));
@@ -1378,6 +1394,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference LIGHT_BLUE_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("light_blue_glazed_terracotta"));
+ public static final DefaultedRegistryReference LIGHT_BLUE_HARNESS = ItemTypes.key(ResourceKey.minecraft("light_blue_harness"));
+
public static final DefaultedRegistryReference LIGHT_BLUE_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("light_blue_shulker_box"));
public static final DefaultedRegistryReference LIGHT_BLUE_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("light_blue_stained_glass"));
@@ -1406,6 +1424,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference LIGHT_GRAY_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("light_gray_glazed_terracotta"));
+ public static final DefaultedRegistryReference LIGHT_GRAY_HARNESS = ItemTypes.key(ResourceKey.minecraft("light_gray_harness"));
+
public static final DefaultedRegistryReference LIGHT_GRAY_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("light_gray_shulker_box"));
public static final DefaultedRegistryReference LIGHT_GRAY_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("light_gray_stained_glass"));
@@ -1442,6 +1462,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference LIME_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("lime_glazed_terracotta"));
+ public static final DefaultedRegistryReference LIME_HARNESS = ItemTypes.key(ResourceKey.minecraft("lime_harness"));
+
public static final DefaultedRegistryReference LIME_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("lime_shulker_box"));
public static final DefaultedRegistryReference LIME_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("lime_stained_glass"));
@@ -1480,6 +1502,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference MAGENTA_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("magenta_glazed_terracotta"));
+ public static final DefaultedRegistryReference MAGENTA_HARNESS = ItemTypes.key(ResourceKey.minecraft("magenta_harness"));
+
public static final DefaultedRegistryReference MAGENTA_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("magenta_shulker_box"));
public static final DefaultedRegistryReference MAGENTA_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("magenta_stained_glass"));
@@ -1626,6 +1650,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference MUSIC_DISC_STRAD = ItemTypes.key(ResourceKey.minecraft("music_disc_strad"));
+ public static final DefaultedRegistryReference MUSIC_DISC_TEARS = ItemTypes.key(ResourceKey.minecraft("music_disc_tears"));
+
public static final DefaultedRegistryReference MUSIC_DISC_WAIT = ItemTypes.key(ResourceKey.minecraft("music_disc_wait"));
public static final DefaultedRegistryReference MUSIC_DISC_WARD = ItemTypes.key(ResourceKey.minecraft("music_disc_ward"));
@@ -1758,6 +1784,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference ORANGE_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("orange_glazed_terracotta"));
+ public static final DefaultedRegistryReference ORANGE_HARNESS = ItemTypes.key(ResourceKey.minecraft("orange_harness"));
+
public static final DefaultedRegistryReference ORANGE_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("orange_shulker_box"));
public static final DefaultedRegistryReference ORANGE_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("orange_stained_glass"));
@@ -1882,6 +1910,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference PINK_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("pink_glazed_terracotta"));
+ public static final DefaultedRegistryReference PINK_HARNESS = ItemTypes.key(ResourceKey.minecraft("pink_harness"));
+
public static final DefaultedRegistryReference PINK_PETALS = ItemTypes.key(ResourceKey.minecraft("pink_petals"));
public static final DefaultedRegistryReference PINK_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("pink_shulker_box"));
@@ -2034,6 +2064,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference PURPLE_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("purple_glazed_terracotta"));
+ public static final DefaultedRegistryReference PURPLE_HARNESS = ItemTypes.key(ResourceKey.minecraft("purple_harness"));
+
public static final DefaultedRegistryReference PURPLE_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("purple_shulker_box"));
public static final DefaultedRegistryReference PURPLE_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("purple_stained_glass"));
@@ -2122,6 +2154,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference RED_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("red_glazed_terracotta"));
+ public static final DefaultedRegistryReference RED_HARNESS = ItemTypes.key(ResourceKey.minecraft("red_harness"));
+
public static final DefaultedRegistryReference RED_MUSHROOM = ItemTypes.key(ResourceKey.minecraft("red_mushroom"));
public static final DefaultedRegistryReference RED_MUSHROOM_BLOCK = ItemTypes.key(ResourceKey.minecraft("red_mushroom_block"));
@@ -2746,6 +2780,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference WHITE_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("white_glazed_terracotta"));
+ public static final DefaultedRegistryReference WHITE_HARNESS = ItemTypes.key(ResourceKey.minecraft("white_harness"));
+
public static final DefaultedRegistryReference WHITE_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("white_shulker_box"));
public static final DefaultedRegistryReference WHITE_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("white_stained_glass"));
@@ -2810,6 +2846,8 @@ public final class ItemTypes {
public static final DefaultedRegistryReference YELLOW_GLAZED_TERRACOTTA = ItemTypes.key(ResourceKey.minecraft("yellow_glazed_terracotta"));
+ public static final DefaultedRegistryReference YELLOW_HARNESS = ItemTypes.key(ResourceKey.minecraft("yellow_harness"));
+
public static final DefaultedRegistryReference YELLOW_SHULKER_BOX = ItemTypes.key(ResourceKey.minecraft("yellow_shulker_box"));
public static final DefaultedRegistryReference YELLOW_STAINED_GLASS = ItemTypes.key(ResourceKey.minecraft("yellow_stained_glass"));
diff --git a/src/main/java/org/spongepowered/api/state/IntegerStateProperties.java b/src/main/java/org/spongepowered/api/state/IntegerStateProperties.java
index 726a10583c..4ecc6fc9d3 100644
--- a/src/main/java/org/spongepowered/api/state/IntegerStateProperties.java
+++ b/src/main/java/org/spongepowered/api/state/IntegerStateProperties.java
@@ -81,6 +81,10 @@ public static IntegerStateProperty property_DISTANCE() {
return IntegerStateProperty.of("DISTANCE");
}
+ public static IntegerStateProperty property_DRIED_GHAST_HYDRATION_LEVELS() {
+ return IntegerStateProperty.of("DRIED_GHAST_HYDRATION_LEVELS");
+ }
+
public static IntegerStateProperty property_DUSTED() {
return IntegerStateProperty.of("DUSTED");
}
diff --git a/src/main/java/org/spongepowered/api/statistic/Statistics.java b/src/main/java/org/spongepowered/api/statistic/Statistics.java
index 228d0426ab..003d4f8d24 100644
--- a/src/main/java/org/spongepowered/api/statistic/Statistics.java
+++ b/src/main/java/org/spongepowered/api/statistic/Statistics.java
@@ -88,6 +88,8 @@ public final class Statistics {
public static final DefaultedRegistryReference FLY_ONE_CM = Statistics.key(ResourceKey.minecraft("fly_one_cm"));
+ public static final DefaultedRegistryReference HAPPY_GHAST_ONE_CM = Statistics.key(ResourceKey.minecraft("happy_ghast_one_cm"));
+
public static final DefaultedRegistryReference HORSE_ONE_CM = Statistics.key(ResourceKey.minecraft("horse_one_cm"));
public static final DefaultedRegistryReference INSPECT_DISPENSER = Statistics.key(ResourceKey.minecraft("inspect_dispenser"));
diff --git a/src/main/java/org/spongepowered/api/tag/BlockTypeTags.java b/src/main/java/org/spongepowered/api/tag/BlockTypeTags.java
index e2f0c26bc1..b1d80fcbae 100644
--- a/src/main/java/org/spongepowered/api/tag/BlockTypeTags.java
+++ b/src/main/java/org/spongepowered/api/tag/BlockTypeTags.java
@@ -195,6 +195,8 @@ public final class BlockTypeTags {
public static final Tag GUARDED_BY_PIGLINS = BlockTypeTags.key(ResourceKey.minecraft("guarded_by_piglins"));
+ public static final Tag HAPPY_GHAST_AVOIDS = BlockTypeTags.key(ResourceKey.minecraft("happy_ghast_avoids"));
+
public static final Tag HOGLIN_REPELLENTS = BlockTypeTags.key(ResourceKey.minecraft("hoglin_repellents"));
public static final Tag ICE = BlockTypeTags.key(ResourceKey.minecraft("ice"));
@@ -289,8 +291,6 @@ public final class BlockTypeTags {
public static final Tag PLANKS = BlockTypeTags.key(ResourceKey.minecraft("planks"));
- public static final Tag PLAYS_AMBIENT_DESERT_BLOCK_SOUNDS = BlockTypeTags.key(ResourceKey.minecraft("plays_ambient_desert_block_sounds"));
-
public static final Tag POLAR_BEARS_SPAWNABLE_ON_ALTERNATE = BlockTypeTags.key(ResourceKey.minecraft("polar_bears_spawnable_on_alternate"));
public static final Tag PORTALS = BlockTypeTags.key(ResourceKey.minecraft("portals"));
@@ -373,6 +373,12 @@ public final class BlockTypeTags {
public static final Tag TRAPDOORS = BlockTypeTags.key(ResourceKey.minecraft("trapdoors"));
+ public static final Tag TRIGGERS_AMBIENT_DESERT_DRY_VEGETATION_BLOCK_SOUNDS = BlockTypeTags.key(ResourceKey.minecraft("triggers_ambient_desert_dry_vegetation_block_sounds"));
+
+ public static final Tag TRIGGERS_AMBIENT_DESERT_SAND_BLOCK_SOUNDS = BlockTypeTags.key(ResourceKey.minecraft("triggers_ambient_desert_sand_block_sounds"));
+
+ public static final Tag TRIGGERS_AMBIENT_DRIED_GHAST_BLOCK_SOUNDS = BlockTypeTags.key(ResourceKey.minecraft("triggers_ambient_dried_ghast_block_sounds"));
+
public static final Tag UNDERWATER_BONEMEALS = BlockTypeTags.key(ResourceKey.minecraft("underwater_bonemeals"));
public static final Tag UNSTABLE_BOTTOM_CENTER = BlockTypeTags.key(ResourceKey.minecraft("unstable_bottom_center"));
diff --git a/src/main/java/org/spongepowered/api/tag/EntityTypeTags.java b/src/main/java/org/spongepowered/api/tag/EntityTypeTags.java
index ee2893a9b2..bd259c088f 100644
--- a/src/main/java/org/spongepowered/api/tag/EntityTypeTags.java
+++ b/src/main/java/org/spongepowered/api/tag/EntityTypeTags.java
@@ -53,6 +53,8 @@ public final class EntityTypeTags {
public static final Tag> CAN_BREATHE_UNDER_WATER = EntityTypeTags.key(ResourceKey.minecraft("can_breathe_under_water"));
+ public static final Tag> CAN_EQUIP_HARNESS = EntityTypeTags.key(ResourceKey.minecraft("can_equip_harness"));
+
public static final Tag> CAN_EQUIP_SADDLE = EntityTypeTags.key(ResourceKey.minecraft("can_equip_saddle"));
public static final Tag> CAN_TURN_IN_BOATS = EntityTypeTags.key(ResourceKey.minecraft("can_turn_in_boats"));
@@ -65,6 +67,8 @@ public final class EntityTypeTags {
public static final Tag> FALL_DAMAGE_IMMUNE = EntityTypeTags.key(ResourceKey.minecraft("fall_damage_immune"));
+ public static final Tag> FOLLOWABLE_FRIENDLY_MOBS = EntityTypeTags.key(ResourceKey.minecraft("followable_friendly_mobs"));
+
public static final Tag> FREEZE_HURTS_EXTRA_TYPES = EntityTypeTags.key(ResourceKey.minecraft("freeze_hurts_extra_types"));
public static final Tag> FREEZE_IMMUNE_ENTITY_TYPES = EntityTypeTags.key(ResourceKey.minecraft("freeze_immune_entity_types"));
diff --git a/src/main/java/org/spongepowered/api/tag/ItemTypeTags.java b/src/main/java/org/spongepowered/api/tag/ItemTypeTags.java
index 69148331d2..11ed1cbe71 100644
--- a/src/main/java/org/spongepowered/api/tag/ItemTypeTags.java
+++ b/src/main/java/org/spongepowered/api/tag/ItemTypeTags.java
@@ -201,6 +201,12 @@ public final class ItemTypeTags {
public static final Tag HANGING_SIGNS = ItemTypeTags.key(ResourceKey.minecraft("hanging_signs"));
+ public static final Tag HAPPY_GHAST_FOOD = ItemTypeTags.key(ResourceKey.minecraft("happy_ghast_food"));
+
+ public static final Tag HAPPY_GHAST_TEMPT_ITEMS = ItemTypeTags.key(ResourceKey.minecraft("happy_ghast_tempt_items"));
+
+ public static final Tag HARNESSES = ItemTypeTags.key(ResourceKey.minecraft("harnesses"));
+
public static final Tag HEAD_ARMOR = ItemTypeTags.key(ResourceKey.minecraft("head_armor"));
public static final Tag HOES = ItemTypeTags.key(ResourceKey.minecraft("hoes"));
diff --git a/src/main/java/org/spongepowered/api/world/gamerule/GameRules.java b/src/main/java/org/spongepowered/api/world/gamerule/GameRules.java
index 53c243e622..3a41dda626 100644
--- a/src/main/java/org/spongepowered/api/world/gamerule/GameRules.java
+++ b/src/main/java/org/spongepowered/api/world/gamerule/GameRules.java
@@ -102,6 +102,8 @@ public final class GameRules {
public static final DefaultedRegistryReference> LAVA_SOURCE_CONVERSION = GameRules.key(ResourceKey.sponge("lava_source_conversion"));
+ public static final DefaultedRegistryReference> LOCATOR_BAR = GameRules.key(ResourceKey.sponge("locator_bar"));
+
public static final DefaultedRegistryReference> LOG_ADMIN_COMMANDS = GameRules.key(ResourceKey.sponge("log_admin_commands"));
public static final DefaultedRegistryReference> MAX_COMMAND_CHAIN_LENGTH = GameRules.key(ResourceKey.sponge("max_command_chain_length"));