@@ -397,6 +397,11 @@ public final class Keys {
397397 */
398398 public static final Key <Value <ParticleConfig >> AMBIENT_PARTICLE = Keys .key (ResourceKey .sponge ("ambient_particle" ), ParticleConfig .class );
399399
400+ /**
401+ * The set of {@link EntityType} allowed to equip an {@link ItemStack}.
402+ */
403+ public static final Key <SetValue <EntityType <?>>> ALLOWED_ENTITIES = Keys .setKey (ResourceKey .sponge ("allowed_entities" ), new TypeToken <>() {});
404+
400405 /**
401406 * The ambient sound in a {@link Biome}
402407 * Readonly
@@ -648,6 +653,16 @@ public final class Keys {
648653 */
649654 public static final Key <Value <Tag <DamageType >>> BYPASS_DAMAGE_TAG = Keys .key (ResourceKey .sponge ("bypass_damage_tag" ), new TypeToken <>() {});
650655
656+ /**
657+ * The {@link ResourceKey} overlay rendered when {@link ItemStack} equipped on head.
658+ */
659+ public static final Key <Value <ResourceKey >> CAMERA_OVERLAY = Keys .key (ResourceKey .sponge ("camera_overlay" ), ResourceKey .class );
660+
661+ /**
662+ * Whether an equipped {@link ItemStack} can be removed using shears.
663+ */
664+ public static final Key <Value <Boolean >> CAN_BE_SHEARED = Keys .key (ResourceKey .sponge ("can_be_sheared" ), Boolean .class );
665+
651666 /**
652667 * Whether an {@link ItemStack} can always be eaten.
653668 */
@@ -960,6 +975,11 @@ public final class Keys {
960975 */
961976 public static final Key <Value <Double >> DAMAGE_ABSORPTION = Keys .key (ResourceKey .sponge ("damage_absorption" ), Double .class );
962977
978+ /**
979+ * Whether an equipped {@link ItemStack} is damaged when the wearer is hurt.
980+ */
981+ public static final Key <Value <Boolean >> DAMAGE_ON_HURT = Keys .key (ResourceKey .sponge ("damage_on_hurt" ), Boolean .class );
982+
963983 /**
964984 * How much damage a {@link FallingBlock} deals to {@link Living} entities
965985 * it hits per block fallen.
@@ -1137,11 +1157,20 @@ public final class Keys {
11371157 */
11381158 public static final Key <Value <EntityArchetype >> ENTITY_TO_SPAWN = Keys .key (ResourceKey .sponge ("entity_to_spawn" ), EntityArchetype .class );
11391159
1160+ /**
1161+ * Whether an item is equipped when interacting with it.
1162+ */
1163+ public static final Key <Value <Boolean >> EQUIP_ON_INTERACT = Keys .key (ResourceKey .sponge ("equip_on_interact" ), Boolean .class );
1164+
1165+ /**
1166+ * The {@link SoundType} played when equipping an item.
1167+ */
1168+ public static final Key <Value <SoundType >> EQUIP_SOUND = Keys .key (ResourceKey .sponge ("equip_sound" ), SoundType .class );
1169+
11401170 /**
11411171 * The {@link EquipmentType} that the target inventory supports. This usually applies to {@link EquipmentSlot}s.
11421172 * or
11431173 * The {@link EquipmentType} of an {@link ItemStack}
1144- * Readonly
11451174 */
11461175 public static final Key <Value <EquipmentType >> EQUIPMENT_TYPE = Keys .key (ResourceKey .sponge ("equipment_type" ), EquipmentType .class );
11471176
@@ -1823,6 +1852,11 @@ public final class Keys {
18231852 */
18241853 public static final Key <Value <Boolean >> IS_DISARMED = Keys .key (ResourceKey .sponge ("is_disarmed" ), Boolean .class );
18251854
1855+ /**
1856+ * Whether an item can be equipped using a dispenser.
1857+ */
1858+ public static final Key <Value <Boolean >> IS_DISPENSABLE = Keys .key (ResourceKey .sponge ("is_dispensable" ), Boolean .class );
1859+
18261860 /**
18271861 * Whether an entity is eating.
18281862 * e.g. {@link Panda}
@@ -2188,6 +2222,11 @@ public final class Keys {
21882222 */
21892223 public static final Key <Value <Boolean >> IS_SURROGATE_BLOCK = Keys .key (ResourceKey .sponge ("is_surrogate_block" ), Boolean .class );
21902224
2225+ /**
2226+ * Whether an equipped item can be swapped by interacting with it.
2227+ */
2228+ public static final Key <Value <Boolean >> IS_SWAPPABLE = Keys .key (ResourceKey .sponge ("is_swappable" ), Boolean .class );
2229+
21912230 /**
21922231 * Whether players are prevented from taking
21932232 * items from an equipment slot on an {@link ArmorStand}
@@ -3102,6 +3141,11 @@ public final class Keys {
31023141 */
31033142 public static final Key <Value <Double >> SHADOW_STRENGTH = Keys .key (ResourceKey .sponge ("shadow_strength" ), Double .class );
31043143
3144+ /**
3145+ * The {@link SoundType} played when removing an equipped {@link ItemStack} using shears.
3146+ */
3147+ public static final Key <Value <SoundType >> SHEARING_SOUND = Keys .key (ResourceKey .sponge ("shearing_sound" ), SoundType .class );
3148+
31053149 /**
31063150 * The sound played when blocking an attack with a shield-like {@link ItemStack}.
31073151 */
0 commit comments