diff --git a/gradle.properties b/gradle.properties index 8efe0fa31c..3a648afca7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ group=org.spongepowered -version=17.0.0-SNAPSHOT +version=18.0.0-SNAPSHOT organization=SpongePowered projectUrl=https://www.spongepowered.org projectDescription=A plugin API for Minecraft: Java Edition diff --git a/src/main/java/org/spongepowered/api/data/Keys.java b/src/main/java/org/spongepowered/api/data/Keys.java index a2773d6f27..83bd99e135 100644 --- a/src/main/java/org/spongepowered/api/data/Keys.java +++ b/src/main/java/org/spongepowered/api/data/Keys.java @@ -407,7 +407,7 @@ public final class Keys { * fade over time and the entity will become peaceful again once its anger * reaches its minimum.

*/ - public static final Key> ANGER_LEVEL = Keys.key(ResourceKey.sponge("anger_level"), Integer.class); + public static final Key> ANGER_LEVEL = Keys.key(ResourceKey.sponge("anger_level"), Long.class); /** * The set of {@link PotionEffect}s applied on use of an {@link ItemStack}. diff --git a/src/main/java/org/spongepowered/api/data/type/ItemActionType.java b/src/main/java/org/spongepowered/api/data/type/ItemActionType.java index 16d0bfcae8..a0c5d4c8dc 100644 --- a/src/main/java/org/spongepowered/api/data/type/ItemActionType.java +++ b/src/main/java/org/spongepowered/api/data/type/ItemActionType.java @@ -31,5 +31,5 @@ * Represents a possible type of {@link ItemAction}. */ @CatalogedBy(ItemActionTypes.class) -public interface ItemActionType extends DefaultedRegistryValue { +public interface ItemActionType extends DefaultedRegistryValue { } 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 23c84a4daa..765c2fcee1 100644 --- a/src/main/java/org/spongepowered/api/effect/potion/PotionEffectTypes.java +++ b/src/main/java/org/spongepowered/api/effect/potion/PotionEffectTypes.java @@ -46,6 +46,8 @@ public final class PotionEffectTypes { public static final DefaultedRegistryReference BLINDNESS = PotionEffectTypes.key(ResourceKey.minecraft("blindness")); + public static final DefaultedRegistryReference BREATH_OF_THE_NAUTILUS = PotionEffectTypes.key(ResourceKey.minecraft("breath_of_the_nautilus")); + public static final DefaultedRegistryReference CONDUIT_POWER = PotionEffectTypes.key(ResourceKey.minecraft("conduit_power")); public static final DefaultedRegistryReference DARKNESS = PotionEffectTypes.key(ResourceKey.minecraft("darkness")); 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 6c694bac1e..ebb908fe8e 100644 --- a/src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java +++ b/src/main/java/org/spongepowered/api/effect/sound/SoundTypes.java @@ -1756,6 +1756,16 @@ public final class SoundTypes { public static final DefaultedRegistryReference ENTITY_AXOLOTL_SWIM = SoundTypes.key(ResourceKey.minecraft("entity.axolotl.swim")); + public static final DefaultedRegistryReference ENTITY_BABY_NAUTILUS_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.baby_nautilus.ambient")); + + public static final DefaultedRegistryReference ENTITY_BABY_NAUTILUS_DEATH = SoundTypes.key(ResourceKey.minecraft("entity.baby_nautilus.death")); + + public static final DefaultedRegistryReference ENTITY_BABY_NAUTILUS_EAT = SoundTypes.key(ResourceKey.minecraft("entity.baby_nautilus.eat")); + + public static final DefaultedRegistryReference ENTITY_BABY_NAUTILUS_HURT = SoundTypes.key(ResourceKey.minecraft("entity.baby_nautilus.hurt")); + + public static final DefaultedRegistryReference ENTITY_BABY_NAUTILUS_SWIM = SoundTypes.key(ResourceKey.minecraft("entity.baby_nautilus.swim")); + public static final DefaultedRegistryReference ENTITY_BAT_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.bat.ambient")); public static final DefaultedRegistryReference ENTITY_BAT_DEATH = SoundTypes.key(ResourceKey.minecraft("entity.bat.death")); @@ -2456,6 +2466,20 @@ public final class SoundTypes { public static final DefaultedRegistryReference ENTITY_MULE_JUMP = SoundTypes.key(ResourceKey.minecraft("entity.mule.jump")); + public static final DefaultedRegistryReference ENTITY_NAUTILUS_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.nautilus.ambient")); + + public static final DefaultedRegistryReference ENTITY_NAUTILUS_DASH = SoundTypes.key(ResourceKey.minecraft("entity.nautilus.dash")); + + public static final DefaultedRegistryReference ENTITY_NAUTILUS_DASH_READY = SoundTypes.key(ResourceKey.minecraft("entity.nautilus.dash_ready")); + + public static final DefaultedRegistryReference ENTITY_NAUTILUS_DEATH = SoundTypes.key(ResourceKey.minecraft("entity.nautilus.death")); + + public static final DefaultedRegistryReference ENTITY_NAUTILUS_EAT = SoundTypes.key(ResourceKey.minecraft("entity.nautilus.eat")); + + public static final DefaultedRegistryReference ENTITY_NAUTILUS_HURT = SoundTypes.key(ResourceKey.minecraft("entity.nautilus.hurt")); + + public static final DefaultedRegistryReference ENTITY_NAUTILUS_SWIM = SoundTypes.key(ResourceKey.minecraft("entity.nautilus.swim")); + public static final DefaultedRegistryReference ENTITY_OCELOT_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.ocelot.ambient")); public static final DefaultedRegistryReference ENTITY_OCELOT_DEATH = SoundTypes.key(ResourceKey.minecraft("entity.ocelot.death")); @@ -3210,6 +3234,8 @@ public final class SoundTypes { public static final DefaultedRegistryReference ENTITY_ZOMBIE_HORSE_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.zombie_horse.ambient")); + public static final DefaultedRegistryReference ENTITY_ZOMBIE_HORSE_ANGRY = SoundTypes.key(ResourceKey.minecraft("entity.zombie_horse.angry")); + public static final DefaultedRegistryReference ENTITY_ZOMBIE_HORSE_DEATH = SoundTypes.key(ResourceKey.minecraft("entity.zombie_horse.death")); public static final DefaultedRegistryReference ENTITY_ZOMBIE_HORSE_HURT = SoundTypes.key(ResourceKey.minecraft("entity.zombie_horse.hurt")); @@ -3218,6 +3244,20 @@ public final class SoundTypes { public static final DefaultedRegistryReference ENTITY_ZOMBIE_INFECT = SoundTypes.key(ResourceKey.minecraft("entity.zombie.infect")); + public static final DefaultedRegistryReference ENTITY_ZOMBIE_NAUTILUS_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.zombie_nautilus.ambient")); + + public static final DefaultedRegistryReference ENTITY_ZOMBIE_NAUTILUS_DASH = SoundTypes.key(ResourceKey.minecraft("entity.zombie_nautilus.dash")); + + public static final DefaultedRegistryReference ENTITY_ZOMBIE_NAUTILUS_DASH_READY = SoundTypes.key(ResourceKey.minecraft("entity.zombie_nautilus.dash_ready")); + + public static final DefaultedRegistryReference ENTITY_ZOMBIE_NAUTILUS_DEATH = SoundTypes.key(ResourceKey.minecraft("entity.zombie_nautilus.death")); + + public static final DefaultedRegistryReference ENTITY_ZOMBIE_NAUTILUS_EAT = SoundTypes.key(ResourceKey.minecraft("entity.zombie_nautilus.eat")); + + public static final DefaultedRegistryReference ENTITY_ZOMBIE_NAUTILUS_HURT = SoundTypes.key(ResourceKey.minecraft("entity.zombie_nautilus.hurt")); + + public static final DefaultedRegistryReference ENTITY_ZOMBIE_NAUTILUS_SWIM = SoundTypes.key(ResourceKey.minecraft("entity.zombie_nautilus.swim")); + public static final DefaultedRegistryReference ENTITY_ZOMBIE_STEP = SoundTypes.key(ResourceKey.minecraft("entity.zombie.step")); public static final DefaultedRegistryReference ENTITY_ZOMBIE_VILLAGER_AMBIENT = SoundTypes.key(ResourceKey.minecraft("entity.zombie_villager.ambient")); @@ -3266,12 +3306,16 @@ public final class SoundTypes { public static final DefaultedRegistryReference ITEM_ARMOR_EQUIP_LEATHER = SoundTypes.key(ResourceKey.minecraft("item.armor.equip_leather")); + public static final DefaultedRegistryReference ITEM_ARMOR_EQUIP_NAUTILUS = SoundTypes.key(ResourceKey.minecraft("item.armor.equip_nautilus")); + public static final DefaultedRegistryReference ITEM_ARMOR_EQUIP_NETHERITE = SoundTypes.key(ResourceKey.minecraft("item.armor.equip_netherite")); public static final DefaultedRegistryReference ITEM_ARMOR_EQUIP_TURTLE = SoundTypes.key(ResourceKey.minecraft("item.armor.equip_turtle")); public static final DefaultedRegistryReference ITEM_ARMOR_EQUIP_WOLF = SoundTypes.key(ResourceKey.minecraft("item.armor.equip_wolf")); + public static final DefaultedRegistryReference ITEM_ARMOR_UNEQUIP_NAUTILUS = SoundTypes.key(ResourceKey.minecraft("item.armor.unequip_nautilus")); + public static final DefaultedRegistryReference ITEM_ARMOR_UNEQUIP_WOLF = SoundTypes.key(ResourceKey.minecraft("item.armor.unequip_wolf")); public static final DefaultedRegistryReference ITEM_AXE_SCRAPE = SoundTypes.key(ResourceKey.minecraft("item.axe.scrape")); @@ -3420,6 +3464,24 @@ public final class SoundTypes { public static final DefaultedRegistryReference ITEM_SHOVEL_FLATTEN = SoundTypes.key(ResourceKey.minecraft("item.shovel.flatten")); + public static final DefaultedRegistryReference ITEM_SPEAR_ATTACK = SoundTypes.key(ResourceKey.minecraft("item.spear.attack")); + + public static final DefaultedRegistryReference ITEM_SPEAR_HIT = SoundTypes.key(ResourceKey.minecraft("item.spear.hit")); + + public static final DefaultedRegistryReference ITEM_SPEAR_LUNGE_1 = SoundTypes.key(ResourceKey.minecraft("item.spear.lunge_1")); + + public static final DefaultedRegistryReference ITEM_SPEAR_LUNGE_2 = SoundTypes.key(ResourceKey.minecraft("item.spear.lunge_2")); + + public static final DefaultedRegistryReference ITEM_SPEAR_LUNGE_3 = SoundTypes.key(ResourceKey.minecraft("item.spear.lunge_3")); + + public static final DefaultedRegistryReference ITEM_SPEAR_USE = SoundTypes.key(ResourceKey.minecraft("item.spear.use")); + + public static final DefaultedRegistryReference ITEM_SPEAR_WOOD_ATTACK = SoundTypes.key(ResourceKey.minecraft("item.spear_wood.attack")); + + public static final DefaultedRegistryReference ITEM_SPEAR_WOOD_HIT = SoundTypes.key(ResourceKey.minecraft("item.spear_wood.hit")); + + public static final DefaultedRegistryReference ITEM_SPEAR_WOOD_USE = SoundTypes.key(ResourceKey.minecraft("item.spear_wood.use")); + public static final DefaultedRegistryReference ITEM_SPYGLASS_STOP_USING = SoundTypes.key(ResourceKey.minecraft("item.spyglass.stop_using")); public static final DefaultedRegistryReference ITEM_SPYGLASS_USE = SoundTypes.key(ResourceKey.minecraft("item.spyglass.use")); diff --git a/src/main/java/org/spongepowered/api/entity/Angerable.java b/src/main/java/org/spongepowered/api/entity/Angerable.java index a6f9d97528..e8f4015343 100644 --- a/src/main/java/org/spongepowered/api/entity/Angerable.java +++ b/src/main/java/org/spongepowered/api/entity/Angerable.java @@ -43,7 +43,7 @@ default Value.Mutable angry() { * * @return The anger level, decays over time */ - default Value.Mutable angerLevel() { + default Value.Mutable angerLevel() { return this.requireValue(Keys.ANGER_LEVEL).asMutable(); } } diff --git a/src/main/java/org/spongepowered/api/entity/EntityTypes.java b/src/main/java/org/spongepowered/api/entity/EntityTypes.java index 6c629b4776..a5bbdced7b 100644 --- a/src/main/java/org/spongepowered/api/entity/EntityTypes.java +++ b/src/main/java/org/spongepowered/api/entity/EntityTypes.java @@ -48,6 +48,7 @@ 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.Nautilus; import org.spongepowered.api.entity.living.animal.Ocelot; import org.spongepowered.api.entity.living.animal.Panda; import org.spongepowered.api.entity.living.animal.Parrot; @@ -59,6 +60,7 @@ import org.spongepowered.api.entity.living.animal.Strider; import org.spongepowered.api.entity.living.animal.Turtle; import org.spongepowered.api.entity.living.animal.Wolf; +import org.spongepowered.api.entity.living.animal.ZombieNautilus; import org.spongepowered.api.entity.living.animal.cow.Cow; import org.spongepowered.api.entity.living.animal.cow.Mooshroom; import org.spongepowered.api.entity.living.animal.frog.Frog; @@ -348,6 +350,8 @@ public final class EntityTypes { public static final DefaultedRegistryReference> MULE = EntityTypes.key(ResourceKey.minecraft("mule")); + public static final DefaultedRegistryReference> NAUTILUS = EntityTypes.key(ResourceKey.minecraft("nautilus")); + public static final DefaultedRegistryReference> OAK_BOAT = EntityTypes.key(ResourceKey.minecraft("oak_boat")); public static final DefaultedRegistryReference> OAK_CHEST_BOAT = EntityTypes.key(ResourceKey.minecraft("oak_chest_boat")); @@ -472,6 +476,8 @@ public final class EntityTypes { public static final DefaultedRegistryReference> ZOMBIE_HORSE = EntityTypes.key(ResourceKey.minecraft("zombie_horse")); + public static final DefaultedRegistryReference> ZOMBIE_NAUTILUS = EntityTypes.key(ResourceKey.minecraft("zombie_nautilus")); + public static final DefaultedRegistryReference> ZOMBIE_VILLAGER = EntityTypes.key(ResourceKey.minecraft("zombie_villager")); public static final DefaultedRegistryReference> ZOMBIFIED_PIGLIN = EntityTypes.key(ResourceKey.minecraft("zombified_piglin")); diff --git a/src/main/java/org/spongepowered/api/entity/living/animal/Nautilus.java b/src/main/java/org/spongepowered/api/entity/living/animal/Nautilus.java new file mode 100644 index 0000000000..1a7274c7bd --- /dev/null +++ b/src/main/java/org/spongepowered/api/entity/living/animal/Nautilus.java @@ -0,0 +1,33 @@ +/* + * 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; + +/** + * A friendly {@link NautilusLike} entity. + *

+ * See Minecraft Wiki + */ +public interface Nautilus extends NautilusLike { +} diff --git a/src/main/java/org/spongepowered/api/entity/living/animal/NautilusLike.java b/src/main/java/org/spongepowered/api/entity/living/animal/NautilusLike.java new file mode 100644 index 0000000000..a2f209d172 --- /dev/null +++ b/src/main/java/org/spongepowered/api/entity/living/animal/NautilusLike.java @@ -0,0 +1,33 @@ +/* + * 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; + +/** + * Represents a Nautilus-like entity, all of which can be mounted. + *

+ * See Minecraft Wiki + */ +public interface NautilusLike extends TameableAnimal { +} diff --git a/src/main/java/org/spongepowered/api/entity/living/animal/ZombieNautilus.java b/src/main/java/org/spongepowered/api/entity/living/animal/ZombieNautilus.java new file mode 100644 index 0000000000..a37d6f2413 --- /dev/null +++ b/src/main/java/org/spongepowered/api/entity/living/animal/ZombieNautilus.java @@ -0,0 +1,34 @@ +/* + * 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; + +/** + * Represents a Zombie Nautilus. + *

+ * See Minecraft Wiki + */ +public interface ZombieNautilus extends NautilusLike { + +} diff --git a/src/main/java/org/spongepowered/api/event/cause/entity/damage/DamageTypes.java b/src/main/java/org/spongepowered/api/event/cause/entity/damage/DamageTypes.java index f22ac3dfa4..b2bf79e759 100644 --- a/src/main/java/org/spongepowered/api/event/cause/entity/damage/DamageTypes.java +++ b/src/main/java/org/spongepowered/api/event/cause/entity/damage/DamageTypes.java @@ -114,6 +114,8 @@ public final class DamageTypes { public static final DefaultedRegistryReference SONIC_BOOM = DamageTypes.key(ResourceKey.minecraft("sonic_boom")); + public static final DefaultedRegistryReference SPEAR = DamageTypes.key(ResourceKey.minecraft("spear")); + public static final DefaultedRegistryReference SPIT = DamageTypes.key(ResourceKey.minecraft("spit")); public static final DefaultedRegistryReference STALAGMITE = DamageTypes.key(ResourceKey.minecraft("stalagmite")); diff --git a/src/main/java/org/spongepowered/api/item/ItemTypes.java b/src/main/java/org/spongepowered/api/item/ItemTypes.java index 621aa7c678..907fca8411 100644 --- a/src/main/java/org/spongepowered/api/item/ItemTypes.java +++ b/src/main/java/org/spongepowered/api/item/ItemTypes.java @@ -644,6 +644,8 @@ public final class ItemTypes { public static final DefaultedRegistryReference COPPER_LEGGINGS = ItemTypes.key(ResourceKey.minecraft("copper_leggings")); + public static final DefaultedRegistryReference COPPER_NAUTILUS_ARMOR = ItemTypes.key(ResourceKey.minecraft("copper_nautilus_armor")); + public static final DefaultedRegistryReference COPPER_NUGGET = ItemTypes.key(ResourceKey.minecraft("copper_nugget")); public static final DefaultedRegistryReference COPPER_ORE = ItemTypes.key(ResourceKey.minecraft("copper_ore")); @@ -652,6 +654,8 @@ public final class ItemTypes { public static final DefaultedRegistryReference COPPER_SHOVEL = ItemTypes.key(ResourceKey.minecraft("copper_shovel")); + public static final DefaultedRegistryReference COPPER_SPEAR = ItemTypes.key(ResourceKey.minecraft("copper_spear")); + public static final DefaultedRegistryReference COPPER_SWORD = ItemTypes.key(ResourceKey.minecraft("copper_sword")); public static final DefaultedRegistryReference COPPER_TORCH = ItemTypes.key(ResourceKey.minecraft("copper_torch")); @@ -908,12 +912,16 @@ public final class ItemTypes { public static final DefaultedRegistryReference DIAMOND_LEGGINGS = ItemTypes.key(ResourceKey.minecraft("diamond_leggings")); + public static final DefaultedRegistryReference DIAMOND_NAUTILUS_ARMOR = ItemTypes.key(ResourceKey.minecraft("diamond_nautilus_armor")); + public static final DefaultedRegistryReference DIAMOND_ORE = ItemTypes.key(ResourceKey.minecraft("diamond_ore")); public static final DefaultedRegistryReference DIAMOND_PICKAXE = ItemTypes.key(ResourceKey.minecraft("diamond_pickaxe")); public static final DefaultedRegistryReference DIAMOND_SHOVEL = ItemTypes.key(ResourceKey.minecraft("diamond_shovel")); + public static final DefaultedRegistryReference DIAMOND_SPEAR = ItemTypes.key(ResourceKey.minecraft("diamond_spear")); + public static final DefaultedRegistryReference DIAMOND_SWORD = ItemTypes.key(ResourceKey.minecraft("diamond_sword")); public static final DefaultedRegistryReference DIORITE = ItemTypes.key(ResourceKey.minecraft("diorite")); @@ -1154,10 +1162,14 @@ public final class ItemTypes { public static final DefaultedRegistryReference GOLDEN_LEGGINGS = ItemTypes.key(ResourceKey.minecraft("golden_leggings")); + public static final DefaultedRegistryReference GOLDEN_NAUTILUS_ARMOR = ItemTypes.key(ResourceKey.minecraft("golden_nautilus_armor")); + public static final DefaultedRegistryReference GOLDEN_PICKAXE = ItemTypes.key(ResourceKey.minecraft("golden_pickaxe")); public static final DefaultedRegistryReference GOLDEN_SHOVEL = ItemTypes.key(ResourceKey.minecraft("golden_shovel")); + public static final DefaultedRegistryReference GOLDEN_SPEAR = ItemTypes.key(ResourceKey.minecraft("golden_spear")); + public static final DefaultedRegistryReference GOLDEN_SWORD = ItemTypes.key(ResourceKey.minecraft("golden_sword")); public static final DefaultedRegistryReference GOLD_BLOCK = ItemTypes.key(ResourceKey.minecraft("gold_block")); @@ -1338,6 +1350,8 @@ public final class ItemTypes { public static final DefaultedRegistryReference IRON_LEGGINGS = ItemTypes.key(ResourceKey.minecraft("iron_leggings")); + public static final DefaultedRegistryReference IRON_NAUTILUS_ARMOR = ItemTypes.key(ResourceKey.minecraft("iron_nautilus_armor")); + public static final DefaultedRegistryReference IRON_NUGGET = ItemTypes.key(ResourceKey.minecraft("iron_nugget")); public static final DefaultedRegistryReference IRON_ORE = ItemTypes.key(ResourceKey.minecraft("iron_ore")); @@ -1346,6 +1360,8 @@ public final class ItemTypes { public static final DefaultedRegistryReference IRON_SHOVEL = ItemTypes.key(ResourceKey.minecraft("iron_shovel")); + public static final DefaultedRegistryReference IRON_SPEAR = ItemTypes.key(ResourceKey.minecraft("iron_spear")); + public static final DefaultedRegistryReference IRON_SWORD = ItemTypes.key(ResourceKey.minecraft("iron_sword")); public static final DefaultedRegistryReference IRON_TRAPDOOR = ItemTypes.key(ResourceKey.minecraft("iron_trapdoor")); @@ -1730,6 +1746,8 @@ public final class ItemTypes { public static final DefaultedRegistryReference NAUTILUS_SHELL = ItemTypes.key(ResourceKey.minecraft("nautilus_shell")); + public static final DefaultedRegistryReference NAUTILUS_SPAWN_EGG = ItemTypes.key(ResourceKey.minecraft("nautilus_spawn_egg")); + public static final DefaultedRegistryReference NETHERITE_AXE = ItemTypes.key(ResourceKey.minecraft("netherite_axe")); public static final DefaultedRegistryReference NETHERITE_BLOCK = ItemTypes.key(ResourceKey.minecraft("netherite_block")); @@ -1746,12 +1764,16 @@ public final class ItemTypes { public static final DefaultedRegistryReference NETHERITE_LEGGINGS = ItemTypes.key(ResourceKey.minecraft("netherite_leggings")); + public static final DefaultedRegistryReference NETHERITE_NAUTILUS_ARMOR = ItemTypes.key(ResourceKey.minecraft("netherite_nautilus_armor")); + public static final DefaultedRegistryReference NETHERITE_PICKAXE = ItemTypes.key(ResourceKey.minecraft("netherite_pickaxe")); public static final DefaultedRegistryReference NETHERITE_SCRAP = ItemTypes.key(ResourceKey.minecraft("netherite_scrap")); public static final DefaultedRegistryReference NETHERITE_SHOVEL = ItemTypes.key(ResourceKey.minecraft("netherite_shovel")); + public static final DefaultedRegistryReference NETHERITE_SPEAR = ItemTypes.key(ResourceKey.minecraft("netherite_spear")); + public static final DefaultedRegistryReference NETHERITE_SWORD = ItemTypes.key(ResourceKey.minecraft("netherite_sword")); public static final DefaultedRegistryReference NETHERITE_UPGRADE_SMITHING_TEMPLATE = ItemTypes.key(ResourceKey.minecraft("netherite_upgrade_smithing_template")); @@ -2530,6 +2552,8 @@ public final class ItemTypes { public static final DefaultedRegistryReference STONE_SLAB = ItemTypes.key(ResourceKey.minecraft("stone_slab")); + public static final DefaultedRegistryReference STONE_SPEAR = ItemTypes.key(ResourceKey.minecraft("stone_spear")); + public static final DefaultedRegistryReference STONE_STAIRS = ItemTypes.key(ResourceKey.minecraft("stone_stairs")); public static final DefaultedRegistryReference STONE_SWORD = ItemTypes.key(ResourceKey.minecraft("stone_sword")); @@ -2968,6 +2992,8 @@ public final class ItemTypes { public static final DefaultedRegistryReference WOODEN_SHOVEL = ItemTypes.key(ResourceKey.minecraft("wooden_shovel")); + public static final DefaultedRegistryReference WOODEN_SPEAR = ItemTypes.key(ResourceKey.minecraft("wooden_spear")); + public static final DefaultedRegistryReference WOODEN_SWORD = ItemTypes.key(ResourceKey.minecraft("wooden_sword")); public static final DefaultedRegistryReference WRITABLE_BOOK = ItemTypes.key(ResourceKey.minecraft("writable_book")); @@ -3010,6 +3036,8 @@ public final class ItemTypes { public static final DefaultedRegistryReference ZOMBIE_HORSE_SPAWN_EGG = ItemTypes.key(ResourceKey.minecraft("zombie_horse_spawn_egg")); + public static final DefaultedRegistryReference ZOMBIE_NAUTILUS_SPAWN_EGG = ItemTypes.key(ResourceKey.minecraft("zombie_nautilus_spawn_egg")); + public static final DefaultedRegistryReference ZOMBIE_SPAWN_EGG = ItemTypes.key(ResourceKey.minecraft("zombie_spawn_egg")); public static final DefaultedRegistryReference ZOMBIE_VILLAGER_SPAWN_EGG = ItemTypes.key(ResourceKey.minecraft("zombie_villager_spawn_egg")); diff --git a/src/main/java/org/spongepowered/api/item/enchantment/EnchantmentTypes.java b/src/main/java/org/spongepowered/api/item/enchantment/EnchantmentTypes.java index e561ee8941..9243434f48 100644 --- a/src/main/java/org/spongepowered/api/item/enchantment/EnchantmentTypes.java +++ b/src/main/java/org/spongepowered/api/item/enchantment/EnchantmentTypes.java @@ -164,6 +164,14 @@ public final class EnchantmentTypes { */ public static final DefaultedRegistryReference LUCK_OF_THE_SEA = EnchantmentTypes.key(ResourceKey.minecraft("luck_of_the_sea")); + /** + * Lunge is an enchantment applied to spears that causes jab attacks to propel the wielder forward horizontally at the cost of draining durability. + * + *

In vanilla, the maximum level is 3.

+ * See Lunge on the Minecraft Wiki. + */ + public static final DefaultedRegistryReference LUNGE = EnchantmentTypes.key(ResourceKey.minecraft("lunge")); + /** * Increases rate of fish biting your hook while fishing. * diff --git a/src/main/java/org/spongepowered/api/tag/BlockTypeTags.java b/src/main/java/org/spongepowered/api/tag/BlockTypeTags.java index 68e6ff49c9..56f226c41d 100644 --- a/src/main/java/org/spongepowered/api/tag/BlockTypeTags.java +++ b/src/main/java/org/spongepowered/api/tag/BlockTypeTags.java @@ -99,6 +99,8 @@ public final class BlockTypeTags { public static final DefaultedTag CAMPFIRES = BlockTypeTags.key(ResourceKey.minecraft("campfires")); + public static final DefaultedTag CAN_GLIDE_THROUGH = BlockTypeTags.key(ResourceKey.minecraft("can_glide_through")); + public static final DefaultedTag CANDLE_CAKES = BlockTypeTags.key(ResourceKey.minecraft("candle_cakes")); public static final DefaultedTag CANDLES = BlockTypeTags.key(ResourceKey.minecraft("candles")); diff --git a/src/main/java/org/spongepowered/api/tag/EnchantmentTypeTags.java b/src/main/java/org/spongepowered/api/tag/EnchantmentTypeTags.java index 0c1f5e5d98..e51ce7cd74 100644 --- a/src/main/java/org/spongepowered/api/tag/EnchantmentTypeTags.java +++ b/src/main/java/org/spongepowered/api/tag/EnchantmentTypeTags.java @@ -51,6 +51,8 @@ public final class EnchantmentTypeTags { public static final DefaultedTag EXCLUSIVE_SET_DAMAGE = EnchantmentTypeTags.key(ResourceKey.minecraft("exclusive_set/damage")); + public static final DefaultedTag EXCLUSIVE_SET_LUNGE = EnchantmentTypeTags.key(ResourceKey.minecraft("exclusive_set/lunge")); + public static final DefaultedTag EXCLUSIVE_SET_MINING = EnchantmentTypeTags.key(ResourceKey.minecraft("exclusive_set/mining")); public static final DefaultedTag EXCLUSIVE_SET_RIPTIDE = EnchantmentTypeTags.key(ResourceKey.minecraft("exclusive_set/riptide")); diff --git a/src/main/java/org/spongepowered/api/tag/EntityTypeTags.java b/src/main/java/org/spongepowered/api/tag/EntityTypeTags.java index d34ade57cb..f237ffb7c1 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 DefaultedTag> BOAT = EntityTypeTags.key(ResourceKey.minecraft("boat")); + public static final DefaultedTag> BURN_IN_DAYLIGHT = EntityTypeTags.key(ResourceKey.minecraft("burn_in_daylight")); + public static final DefaultedTag> CAN_BREATHE_UNDER_WATER = EntityTypeTags.key(ResourceKey.minecraft("can_breathe_under_water")); public static final DefaultedTag> CAN_EQUIP_HARNESS = EntityTypeTags.key(ResourceKey.minecraft("can_equip_harness")); @@ -63,6 +65,8 @@ public final class EntityTypeTags { public static final DefaultedTag> CAN_WEAR_HORSE_ARMOR = EntityTypeTags.key(ResourceKey.minecraft("can_wear_horse_armor")); + public static final DefaultedTag> CAN_WEAR_NAUTILUS_ARMOR = EntityTypeTags.key(ResourceKey.minecraft("can_wear_nautilus_armor")); + public static final DefaultedTag> CANDIDATE_FOR_IRON_GOLEM_GIFT = EntityTypeTags.key(ResourceKey.minecraft("candidate_for_iron_golem_gift")); public static final DefaultedTag> CANNOT_BE_PUSHED_ONTO_BOATS = EntityTypeTags.key(ResourceKey.minecraft("cannot_be_pushed_onto_boats")); @@ -95,6 +99,8 @@ public final class EntityTypeTags { public static final DefaultedTag> INVERTED_HEALING_AND_HARM = EntityTypeTags.key(ResourceKey.minecraft("inverted_healing_and_harm")); + public static final DefaultedTag> NAUTILUS_HOSTILES = EntityTypeTags.key(ResourceKey.minecraft("nautilus_hostiles")); + public static final DefaultedTag> NO_ANGER_FROM_WIND_CHARGE = EntityTypeTags.key(ResourceKey.minecraft("no_anger_from_wind_charge")); public static final DefaultedTag> NON_CONTROLLING_RIDER = EntityTypeTags.key(ResourceKey.minecraft("non_controlling_rider")); diff --git a/src/main/java/org/spongepowered/api/tag/ItemTypeTags.java b/src/main/java/org/spongepowered/api/tag/ItemTypeTags.java index a8ee29f4af..1993b3f2be 100644 --- a/src/main/java/org/spongepowered/api/tag/ItemTypeTags.java +++ b/src/main/java/org/spongepowered/api/tag/ItemTypeTags.java @@ -169,15 +169,19 @@ public final class ItemTypeTags { public static final DefaultedTag ENCHANTABLE_LEG_ARMOR = ItemTypeTags.key(ResourceKey.minecraft("enchantable/leg_armor")); + public static final DefaultedTag ENCHANTABLE_LUNGE = ItemTypeTags.key(ResourceKey.minecraft("enchantable/lunge")); + public static final DefaultedTag ENCHANTABLE_MACE = ItemTypeTags.key(ResourceKey.minecraft("enchantable/mace")); + public static final DefaultedTag ENCHANTABLE_MELEE_WEAPON = ItemTypeTags.key(ResourceKey.minecraft("enchantable/melee_weapon")); + public static final DefaultedTag ENCHANTABLE_MINING = ItemTypeTags.key(ResourceKey.minecraft("enchantable/mining")); public static final DefaultedTag ENCHANTABLE_MINING_LOOT = ItemTypeTags.key(ResourceKey.minecraft("enchantable/mining_loot")); public static final DefaultedTag ENCHANTABLE_SHARP_WEAPON = ItemTypeTags.key(ResourceKey.minecraft("enchantable/sharp_weapon")); - public static final DefaultedTag ENCHANTABLE_SWORD = ItemTypeTags.key(ResourceKey.minecraft("enchantable/sword")); + public static final DefaultedTag ENCHANTABLE_SWEEPING = ItemTypeTags.key(ResourceKey.minecraft("enchantable/sweeping")); public static final DefaultedTag ENCHANTABLE_TRIDENT = ItemTypeTags.key(ResourceKey.minecraft("enchantable/trident")); @@ -263,6 +267,12 @@ public final class ItemTypeTags { public static final DefaultedTag MEAT = ItemTypeTags.key(ResourceKey.minecraft("meat")); + public static final DefaultedTag NAUTILUS_BUCKET_FOOD = ItemTypeTags.key(ResourceKey.minecraft("nautilus_bucket_food")); + + public static final DefaultedTag NAUTILUS_FOOD = ItemTypeTags.key(ResourceKey.minecraft("nautilus_food")); + + public static final DefaultedTag NAUTILUS_TAMING_ITEMS = ItemTypeTags.key(ResourceKey.minecraft("nautilus_taming_items")); + public static final DefaultedTag NETHERITE_TOOL_MATERIALS = ItemTypeTags.key(ResourceKey.minecraft("netherite_tool_materials")); public static final DefaultedTag NON_FLAMMABLE_WOOD = ItemTypeTags.key(ResourceKey.minecraft("non_flammable_wood")); @@ -353,6 +363,8 @@ public final class ItemTypeTags { public static final DefaultedTag SOUL_FIRE_BASE_BLOCKS = ItemTypeTags.key(ResourceKey.minecraft("soul_fire_base_blocks")); + public static final DefaultedTag SPEARS = ItemTypeTags.key(ResourceKey.minecraft("spears")); + public static final DefaultedTag SPRUCE_LOGS = ItemTypeTags.key(ResourceKey.minecraft("spruce_logs")); public static final DefaultedTag STAIRS = ItemTypeTags.key(ResourceKey.minecraft("stairs")); @@ -417,6 +429,8 @@ public final class ItemTypeTags { public static final DefaultedTag WOOL_CARPETS = ItemTypeTags.key(ResourceKey.minecraft("wool_carpets")); + public static final DefaultedTag ZOMBIE_HORSE_FOOD = ItemTypeTags.key(ResourceKey.minecraft("zombie_horse_food")); + private ItemTypeTags() { }