aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--paper-api-generator/generated/io/papermc/paper/registry/keys/PaintingVariantKeys.java392
-rw-r--r--paper-api-generator/generated/io/papermc/paper/registry/keys/SoundEventKeys.java11487
-rw-r--r--paper-api-generator/src/main/java/io/papermc/generator/Generators.java4
-rw-r--r--patches/api/0004-Code-Generation.patch16
-rw-r--r--patches/api/0006-Adventure.patch26
-rw-r--r--patches/api/0166-Fix-Spigot-annotation-mistakes.patch36
-rw-r--r--patches/api/0225-Add-API-to-get-Material-from-Boats-and-Minecarts.patch4
-rw-r--r--patches/api/0236-Add-RegistryAccess-for-managing-registries.patch33
-rw-r--r--patches/api/0329-More-PotionEffectType-API.patch4
-rw-r--r--patches/api/0378-fix-Instruments.patch30
-rw-r--r--patches/api/0429-Improve-Registry.patch38
-rw-r--r--patches/api/0471-Registry-Modification-API.patch8
-rw-r--r--patches/server/0004-Test-changes.patch78
-rw-r--r--patches/server/0009-MC-Utils.patch14
-rw-r--r--patches/server/0021-Hook-into-CB-plugin-rewrites.patch16
-rw-r--r--patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch6
-rw-r--r--patches/server/0024-Remove-Spigot-timings.patch46
-rw-r--r--patches/server/0036-Entity-Origin-API.patch8
-rw-r--r--patches/server/0038-Configurable-top-of-nether-void-damage.patch4
-rw-r--r--patches/server/0040-Add-more-entities-to-activation-range-ignore-list.patch4
-rw-r--r--patches/server/0063-Disable-Scoreboards-for-non-players-by-default.patch6
-rw-r--r--patches/server/0073-Custom-replacement-for-eaten-items.patch8
-rw-r--r--patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch4
-rw-r--r--patches/server/0075-Use-a-Shared-Random-for-Entities.patch6
-rw-r--r--patches/server/0126-Cap-Entity-Collisions.patch8
-rw-r--r--patches/server/0141-Entity-fromMobSpawner.patch8
-rw-r--r--patches/server/0156-Add-PlayerArmorChangeEvent.patch4
-rw-r--r--patches/server/0176-Player.setPlayerProfile-API.patch4
-rw-r--r--patches/server/0193-Add-EntityTeleportEndGatewayEvent.patch4
-rw-r--r--patches/server/0198-Make-shield-blocking-delay-configurable.patch4
-rw-r--r--patches/server/0201-Add-entity-knockback-events.patch6
-rw-r--r--patches/server/0209-add-more-information-to-Entity.toString.patch4
-rw-r--r--patches/server/0239-Add-ray-tracing-methods-to-LivingEntity.patch4
-rw-r--r--patches/server/0251-Add-LivingEntity-getTargetEntity.patch4
-rw-r--r--patches/server/0266-force-entity-dismount-during-teleportation.patch14
-rw-r--r--patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch10
-rw-r--r--patches/server/0293-Prevent-consuming-the-wrong-itemstack.patch8
-rw-r--r--patches/server/0302-Fix-item-EAR-ticks.patch7
-rw-r--r--patches/server/0313-Entity-Jump-API.patch4
-rw-r--r--patches/server/0314-Add-option-to-nerf-pigmen-from-nether-portals.patch8
-rw-r--r--patches/server/0336-Don-t-run-entity-collision-code-if-not-needed.patch4
-rw-r--r--patches/server/0340-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch6
-rw-r--r--patches/server/0341-Add-PlayerAttackEntityCooldownResetEvent.patch4
-rw-r--r--patches/server/0344-Fix-item-duplication-and-teleport-issues.patch12
-rw-r--r--patches/server/0369-Ensure-Entity-position-and-AABB-are-never-invalid.patch8
-rw-r--r--patches/server/0380-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch4
-rw-r--r--patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch6
-rw-r--r--patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch4
-rw-r--r--patches/server/0410-Entity-isTicking.patch4
-rw-r--r--patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch12
-rw-r--r--patches/server/0436-Add-missing-default-perms-for-commands.patch5
-rw-r--r--patches/server/0439-Fix-CraftSound-backwards-compatibility.patch8
-rw-r--r--patches/server/0446-MC-4-Fix-item-position-desync.patch4
-rw-r--r--patches/server/0448-API-to-get-Material-from-Boats-and-Minecarts.patch6
-rw-r--r--patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch38
-rw-r--r--patches/server/0469-Collision-option-for-requiring-a-player-participant.patch6
-rw-r--r--patches/server/0477-Expand-EntityUnleashEvent.patch8
-rw-r--r--patches/server/0480-Add-EntityMoveEvent.patch4
-rw-r--r--patches/server/0503-Fix-PlayerItemConsumeEvent-cancelling-properly.patch4
-rw-r--r--patches/server/0548-Line-Of-Sight-Changes.patch4
-rw-r--r--patches/server/0571-Optimize-indirect-passenger-iteration.patch6
-rw-r--r--patches/server/0578-Add-back-EntityPortalExitEvent.patch6
-rw-r--r--patches/server/0582-Add-more-advancement-API.patch4
-rw-r--r--patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch4
-rw-r--r--patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch4
-rw-r--r--patches/server/0590-Vanilla-command-permission-fixes.patch4
-rw-r--r--patches/server/0615-Update-head-rotation-in-missing-places.patch6
-rw-r--r--patches/server/0621-don-t-attempt-to-teleport-dead-entities.patch4
-rw-r--r--patches/server/0622-Prevent-excessive-velocity-through-repeated-crits.patch4
-rw-r--r--patches/server/0631-Forward-CraftEntity-in-teleport-command.patch6
-rw-r--r--patches/server/0650-Freeze-Tick-Lock-API.patch14
-rw-r--r--patches/server/0653-API-for-creating-command-sender-which-forwards-feedb.patch6
-rw-r--r--patches/server/0680-Ensure-entity-passenger-world-matches-ridden-entity.patch4
-rw-r--r--patches/server/0693-Add-PlayerStopUsingItemEvent.patch4
-rw-r--r--patches/server/0701-Prevent-entity-loading-causing-async-lookups.patch4
-rw-r--r--patches/server/0713-Add-various-missing-EntityDropItemEvent-calls.patch4
-rw-r--r--patches/server/0728-Stop-large-look-changes-from-crashing-the-server.patch4
-rw-r--r--patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch4
-rw-r--r--patches/server/0754-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch4
-rw-r--r--patches/server/0760-check-global-player-list-where-appropriate.patch4
-rw-r--r--patches/server/0763-Friction-API.patch18
-rw-r--r--patches/server/0767-Player-Entity-Tracking-Events.patch4
-rw-r--r--patches/server/0769-fix-Instruments.patch26
-rw-r--r--patches/server/0774-Improve-PortalEvents.patch4
-rw-r--r--patches/server/0779-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch6
-rw-r--r--patches/server/0792-Fix-advancement-triggers-for-entity-damage.patch6
-rw-r--r--patches/server/0809-Refresh-ProjectileSource-for-projectiles.patch4
-rw-r--r--patches/server/0823-Don-t-load-chunks-for-supporting-block-checks.patch4
-rw-r--r--patches/server/0829-Fix-possible-NPE-on-painting-creation.patch4
-rw-r--r--patches/server/0835-Folia-scheduler-and-owned-region-API.patch12
-rw-r--r--patches/server/0844-API-for-updating-recipes-on-clients.patch25
-rw-r--r--patches/server/0858-Expand-Pose-API.patch6
-rw-r--r--patches/server/0865-Fix-slot-desync.patch4
-rw-r--r--patches/server/0891-Broadcast-take-item-packets-with-collector-as-source.patch4
-rw-r--r--patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch6
-rw-r--r--patches/server/0902-Restore-vanilla-entity-drops-behavior.patch8
-rw-r--r--patches/server/0905-Improve-Registry.patch8
-rw-r--r--patches/server/0906-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch4
-rw-r--r--patches/server/0912-Fixup-NamespacedKey-handling.patch8
-rw-r--r--patches/server/0934-Fix-DamageSource-API.patch6
-rw-r--r--patches/server/0945-Fix-shield-disable-inconsistency.patch4
-rw-r--r--patches/server/0949-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch4
-rw-r--r--patches/server/0956-Brigadier-based-command-API.patch12
-rw-r--r--patches/server/0960-Prevent-sending-oversized-item-data-in-equipment-and.patch4
-rw-r--r--patches/server/0970-Configurable-damage-tick-when-blocking-with-shield.patch4
-rw-r--r--patches/server/0978-Entity-Activation-Range-2.0.patch37
-rw-r--r--patches/server/0981-Optimize-Collision-to-not-load-chunks.patch6
-rw-r--r--patches/server/0990-Check-distance-in-entity-interactions.patch4
-rw-r--r--patches/server/0992-Properly-resend-entities.patch10
-rw-r--r--patches/server/0993-Registry-Modification-API.patch12
-rw-r--r--patches/server/0994-Add-registry-entry-and-builders.patch8
-rw-r--r--patches/server/1032-Void-damage-configuration-API.patch8
-rw-r--r--patches/server/1038-Moonrise-optimisation-patches.patch26
-rw-r--r--patches/server/1043-Detail-more-information-in-watchdog-dumps.patch10
-rw-r--r--patches/server/1051-Lag-compensation-ticks.patch14
m---------work/Bukkit0
m---------work/CraftBukkit0
m---------work/Spigot0
118 files changed, 12485 insertions, 475 deletions
diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/PaintingVariantKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/PaintingVariantKeys.java
new file mode 100644
index 0000000000..cac7a2c76f
--- /dev/null
+++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/PaintingVariantKeys.java
@@ -0,0 +1,392 @@
+package io.papermc.paper.registry.keys;
+
+import static net.kyori.adventure.key.Key.key;
+
+import io.papermc.paper.generated.GeneratedFrom;
+import io.papermc.paper.registry.RegistryKey;
+import io.papermc.paper.registry.TypedKey;
+import net.kyori.adventure.key.Key;
+import org.bukkit.Art;
+import org.checkerframework.checker.nullness.qual.NonNull;
+import org.jetbrains.annotations.ApiStatus;
+
+/**
+ * Vanilla keys for {@link RegistryKey#PAINTING_VARIANT}.
+ *
+ * @apiNote The fields provided here are a direct representation of
+ * what is available from the vanilla game source. They may be
+ * changed (including removals) on any Minecraft version
+ * bump, so cross-version compatibility is not provided on the
+ * same level as it is on most of the other API.
+ */
+@SuppressWarnings({
+ "unused",
+ "SpellCheckingInspection"
+})
+@GeneratedFrom("1.21.3")
+public final class PaintingVariantKeys {
+ /**
+ * {@code minecraft:alban}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> ALBAN = create(key("alban"));
+
+ /**
+ * {@code minecraft:aztec}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> AZTEC = create(key("aztec"));
+
+ /**
+ * {@code minecraft:aztec2}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> AZTEC2 = create(key("aztec2"));
+
+ /**
+ * {@code minecraft:backyard}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> BACKYARD = create(key("backyard"));
+
+ /**
+ * {@code minecraft:baroque}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> BAROQUE = create(key("baroque"));
+
+ /**
+ * {@code minecraft:bomb}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> BOMB = create(key("bomb"));
+
+ /**
+ * {@code minecraft:bouquet}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> BOUQUET = create(key("bouquet"));
+
+ /**
+ * {@code minecraft:burning_skull}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> BURNING_SKULL = create(key("burning_skull"));
+
+ /**
+ * {@code minecraft:bust}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> BUST = create(key("bust"));
+
+ /**
+ * {@code minecraft:cavebird}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> CAVEBIRD = create(key("cavebird"));
+
+ /**
+ * {@code minecraft:changing}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> CHANGING = create(key("changing"));
+
+ /**
+ * {@code minecraft:cotan}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> COTAN = create(key("cotan"));
+
+ /**
+ * {@code minecraft:courbet}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> COURBET = create(key("courbet"));
+
+ /**
+ * {@code minecraft:creebet}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> CREEBET = create(key("creebet"));
+
+ /**
+ * {@code minecraft:donkey_kong}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> DONKEY_KONG = create(key("donkey_kong"));
+
+ /**
+ * {@code minecraft:earth}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> EARTH = create(key("earth"));
+
+ /**
+ * {@code minecraft:endboss}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> ENDBOSS = create(key("endboss"));
+
+ /**
+ * {@code minecraft:fern}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> FERN = create(key("fern"));
+
+ /**
+ * {@code minecraft:fighters}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> FIGHTERS = create(key("fighters"));
+
+ /**
+ * {@code minecraft:finding}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> FINDING = create(key("finding"));
+
+ /**
+ * {@code minecraft:fire}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> FIRE = create(key("fire"));
+
+ /**
+ * {@code minecraft:graham}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> GRAHAM = create(key("graham"));
+
+ /**
+ * {@code minecraft:humble}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> HUMBLE = create(key("humble"));
+
+ /**
+ * {@code minecraft:kebab}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> KEBAB = create(key("kebab"));
+
+ /**
+ * {@code minecraft:lowmist}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> LOWMIST = create(key("lowmist"));
+
+ /**
+ * {@code minecraft:match}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> MATCH = create(key("match"));
+
+ /**
+ * {@code minecraft:meditative}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> MEDITATIVE = create(key("meditative"));
+
+ /**
+ * {@code minecraft:orb}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> ORB = create(key("orb"));
+
+ /**
+ * {@code minecraft:owlemons}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> OWLEMONS = create(key("owlemons"));
+
+ /**
+ * {@code minecraft:passage}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> PASSAGE = create(key("passage"));
+
+ /**
+ * {@code minecraft:pigscene}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> PIGSCENE = create(key("pigscene"));
+
+ /**
+ * {@code minecraft:plant}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> PLANT = create(key("plant"));
+
+ /**
+ * {@code minecraft:pointer}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> POINTER = create(key("pointer"));
+
+ /**
+ * {@code minecraft:pond}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> POND = create(key("pond"));
+
+ /**
+ * {@code minecraft:pool}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> POOL = create(key("pool"));
+
+ /**
+ * {@code minecraft:prairie_ride}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> PRAIRIE_RIDE = create(key("prairie_ride"));
+
+ /**
+ * {@code minecraft:sea}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> SEA = create(key("sea"));
+
+ /**
+ * {@code minecraft:skeleton}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> SKELETON = create(key("skeleton"));
+
+ /**
+ * {@code minecraft:skull_and_roses}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> SKULL_AND_ROSES = create(key("skull_and_roses"));
+
+ /**
+ * {@code minecraft:stage}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> STAGE = create(key("stage"));
+
+ /**
+ * {@code minecraft:sunflowers}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> SUNFLOWERS = create(key("sunflowers"));
+
+ /**
+ * {@code minecraft:sunset}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> SUNSET = create(key("sunset"));
+
+ /**
+ * {@code minecraft:tides}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> TIDES = create(key("tides"));
+
+ /**
+ * {@code minecraft:unpacked}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> UNPACKED = create(key("unpacked"));
+
+ /**
+ * {@code minecraft:void}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> VOID = create(key("void"));
+
+ /**
+ * {@code minecraft:wanderer}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> WANDERER = create(key("wanderer"));
+
+ /**
+ * {@code minecraft:wasteland}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> WASTELAND = create(key("wasteland"));
+
+ /**
+ * {@code minecraft:water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> WATER = create(key("water"));
+
+ /**
+ * {@code minecraft:wind}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> WIND = create(key("wind"));
+
+ /**
+ * {@code minecraft:wither}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Art> WITHER = create(key("wither"));
+
+ private PaintingVariantKeys() {
+ }
+
+ /**
+ * Creates a key for {@link Art} in the registry {@code minecraft:painting_variant}.
+ *
+ * @param key the value's key in the registry
+ * @return a new typed key
+ */
+ @ApiStatus.Experimental
+ public static @NonNull TypedKey<Art> create(final @NonNull Key key) {
+ return TypedKey.create(RegistryKey.PAINTING_VARIANT, key);
+ }
+}
diff --git a/paper-api-generator/generated/io/papermc/paper/registry/keys/SoundEventKeys.java b/paper-api-generator/generated/io/papermc/paper/registry/keys/SoundEventKeys.java
new file mode 100644
index 0000000000..037ee80836
--- /dev/null
+++ b/paper-api-generator/generated/io/papermc/paper/registry/keys/SoundEventKeys.java
@@ -0,0 +1,11487 @@
+package io.papermc.paper.registry.keys;
+
+import static net.kyori.adventure.key.Key.key;
+
+import io.papermc.paper.generated.GeneratedFrom;
+import io.papermc.paper.registry.RegistryKey;
+import io.papermc.paper.registry.TypedKey;
+import net.kyori.adventure.key.Key;
+import org.bukkit.Sound;
+import org.checkerframework.checker.nullness.qual.NonNull;
+import org.jetbrains.annotations.ApiStatus;
+
+/**
+ * Vanilla keys for {@link RegistryKey#SOUND_EVENT}.
+ *
+ * @apiNote The fields provided here are a direct representation of
+ * what is available from the vanilla game source. They may be
+ * changed (including removals) on any Minecraft version
+ * bump, so cross-version compatibility is not provided on the
+ * same level as it is on most of the other API.
+ */
+@SuppressWarnings({
+ "unused",
+ "SpellCheckingInspection"
+})
+@GeneratedFrom("1.21.3")
+public final class SoundEventKeys {
+ /**
+ * {@code minecraft:ambient.basalt_deltas.additions}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_BASALT_DELTAS_ADDITIONS = create(key("ambient.basalt_deltas.additions"));
+
+ /**
+ * {@code minecraft:ambient.basalt_deltas.loop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_BASALT_DELTAS_LOOP = create(key("ambient.basalt_deltas.loop"));
+
+ /**
+ * {@code minecraft:ambient.basalt_deltas.mood}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_BASALT_DELTAS_MOOD = create(key("ambient.basalt_deltas.mood"));
+
+ /**
+ * {@code minecraft:ambient.cave}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_CAVE = create(key("ambient.cave"));
+
+ /**
+ * {@code minecraft:ambient.crimson_forest.additions}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_CRIMSON_FOREST_ADDITIONS = create(key("ambient.crimson_forest.additions"));
+
+ /**
+ * {@code minecraft:ambient.crimson_forest.loop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_CRIMSON_FOREST_LOOP = create(key("ambient.crimson_forest.loop"));
+
+ /**
+ * {@code minecraft:ambient.crimson_forest.mood}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_CRIMSON_FOREST_MOOD = create(key("ambient.crimson_forest.mood"));
+
+ /**
+ * {@code minecraft:ambient.nether_wastes.additions}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_NETHER_WASTES_ADDITIONS = create(key("ambient.nether_wastes.additions"));
+
+ /**
+ * {@code minecraft:ambient.nether_wastes.loop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_NETHER_WASTES_LOOP = create(key("ambient.nether_wastes.loop"));
+
+ /**
+ * {@code minecraft:ambient.nether_wastes.mood}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_NETHER_WASTES_MOOD = create(key("ambient.nether_wastes.mood"));
+
+ /**
+ * {@code minecraft:ambient.soul_sand_valley.additions}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_SOUL_SAND_VALLEY_ADDITIONS = create(key("ambient.soul_sand_valley.additions"));
+
+ /**
+ * {@code minecraft:ambient.soul_sand_valley.loop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_SOUL_SAND_VALLEY_LOOP = create(key("ambient.soul_sand_valley.loop"));
+
+ /**
+ * {@code minecraft:ambient.soul_sand_valley.mood}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_SOUL_SAND_VALLEY_MOOD = create(key("ambient.soul_sand_valley.mood"));
+
+ /**
+ * {@code minecraft:ambient.underwater.enter}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_UNDERWATER_ENTER = create(key("ambient.underwater.enter"));
+
+ /**
+ * {@code minecraft:ambient.underwater.exit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_UNDERWATER_EXIT = create(key("ambient.underwater.exit"));
+
+ /**
+ * {@code minecraft:ambient.underwater.loop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_UNDERWATER_LOOP = create(key("ambient.underwater.loop"));
+
+ /**
+ * {@code minecraft:ambient.underwater.loop.additions}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_UNDERWATER_LOOP_ADDITIONS = create(key("ambient.underwater.loop.additions"));
+
+ /**
+ * {@code minecraft:ambient.underwater.loop.additions.rare}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_UNDERWATER_LOOP_ADDITIONS_RARE = create(key("ambient.underwater.loop.additions.rare"));
+
+ /**
+ * {@code minecraft:ambient.underwater.loop.additions.ultra_rare}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_UNDERWATER_LOOP_ADDITIONS_ULTRA_RARE = create(key("ambient.underwater.loop.additions.ultra_rare"));
+
+ /**
+ * {@code minecraft:ambient.warped_forest.additions}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_WARPED_FOREST_ADDITIONS = create(key("ambient.warped_forest.additions"));
+
+ /**
+ * {@code minecraft:ambient.warped_forest.loop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_WARPED_FOREST_LOOP = create(key("ambient.warped_forest.loop"));
+
+ /**
+ * {@code minecraft:ambient.warped_forest.mood}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> AMBIENT_WARPED_FOREST_MOOD = create(key("ambient.warped_forest.mood"));
+
+ /**
+ * {@code minecraft:block.amethyst_block.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_BLOCK_BREAK = create(key("block.amethyst_block.break"));
+
+ /**
+ * {@code minecraft:block.amethyst_block.chime}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_BLOCK_CHIME = create(key("block.amethyst_block.chime"));
+
+ /**
+ * {@code minecraft:block.amethyst_block.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_BLOCK_FALL = create(key("block.amethyst_block.fall"));
+
+ /**
+ * {@code minecraft:block.amethyst_block.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_BLOCK_HIT = create(key("block.amethyst_block.hit"));
+
+ /**
+ * {@code minecraft:block.amethyst_block.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_BLOCK_PLACE = create(key("block.amethyst_block.place"));
+
+ /**
+ * {@code minecraft:block.amethyst_block.resonate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_BLOCK_RESONATE = create(key("block.amethyst_block.resonate"));
+
+ /**
+ * {@code minecraft:block.amethyst_block.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_BLOCK_STEP = create(key("block.amethyst_block.step"));
+
+ /**
+ * {@code minecraft:block.amethyst_cluster.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_CLUSTER_BREAK = create(key("block.amethyst_cluster.break"));
+
+ /**
+ * {@code minecraft:block.amethyst_cluster.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_CLUSTER_FALL = create(key("block.amethyst_cluster.fall"));
+
+ /**
+ * {@code minecraft:block.amethyst_cluster.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_CLUSTER_HIT = create(key("block.amethyst_cluster.hit"));
+
+ /**
+ * {@code minecraft:block.amethyst_cluster.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_CLUSTER_PLACE = create(key("block.amethyst_cluster.place"));
+
+ /**
+ * {@code minecraft:block.amethyst_cluster.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AMETHYST_CLUSTER_STEP = create(key("block.amethyst_cluster.step"));
+
+ /**
+ * {@code minecraft:block.ancient_debris.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANCIENT_DEBRIS_BREAK = create(key("block.ancient_debris.break"));
+
+ /**
+ * {@code minecraft:block.ancient_debris.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANCIENT_DEBRIS_FALL = create(key("block.ancient_debris.fall"));
+
+ /**
+ * {@code minecraft:block.ancient_debris.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANCIENT_DEBRIS_HIT = create(key("block.ancient_debris.hit"));
+
+ /**
+ * {@code minecraft:block.ancient_debris.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANCIENT_DEBRIS_PLACE = create(key("block.ancient_debris.place"));
+
+ /**
+ * {@code minecraft:block.ancient_debris.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANCIENT_DEBRIS_STEP = create(key("block.ancient_debris.step"));
+
+ /**
+ * {@code minecraft:block.anvil.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANVIL_BREAK = create(key("block.anvil.break"));
+
+ /**
+ * {@code minecraft:block.anvil.destroy}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANVIL_DESTROY = create(key("block.anvil.destroy"));
+
+ /**
+ * {@code minecraft:block.anvil.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANVIL_FALL = create(key("block.anvil.fall"));
+
+ /**
+ * {@code minecraft:block.anvil.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANVIL_HIT = create(key("block.anvil.hit"));
+
+ /**
+ * {@code minecraft:block.anvil.land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANVIL_LAND = create(key("block.anvil.land"));
+
+ /**
+ * {@code minecraft:block.anvil.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANVIL_PLACE = create(key("block.anvil.place"));
+
+ /**
+ * {@code minecraft:block.anvil.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANVIL_STEP = create(key("block.anvil.step"));
+
+ /**
+ * {@code minecraft:block.anvil.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ANVIL_USE = create(key("block.anvil.use"));
+
+ /**
+ * {@code minecraft:block.azalea.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_BREAK = create(key("block.azalea.break"));
+
+ /**
+ * {@code minecraft:block.azalea.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_FALL = create(key("block.azalea.fall"));
+
+ /**
+ * {@code minecraft:block.azalea.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_HIT = create(key("block.azalea.hit"));
+
+ /**
+ * {@code minecraft:block.azalea.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_PLACE = create(key("block.azalea.place"));
+
+ /**
+ * {@code minecraft:block.azalea.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_STEP = create(key("block.azalea.step"));
+
+ /**
+ * {@code minecraft:block.azalea_leaves.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_LEAVES_BREAK = create(key("block.azalea_leaves.break"));
+
+ /**
+ * {@code minecraft:block.azalea_leaves.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_LEAVES_FALL = create(key("block.azalea_leaves.fall"));
+
+ /**
+ * {@code minecraft:block.azalea_leaves.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_LEAVES_HIT = create(key("block.azalea_leaves.hit"));
+
+ /**
+ * {@code minecraft:block.azalea_leaves.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_LEAVES_PLACE = create(key("block.azalea_leaves.place"));
+
+ /**
+ * {@code minecraft:block.azalea_leaves.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_AZALEA_LEAVES_STEP = create(key("block.azalea_leaves.step"));
+
+ /**
+ * {@code minecraft:block.bamboo.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_BREAK = create(key("block.bamboo.break"));
+
+ /**
+ * {@code minecraft:block.bamboo.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_FALL = create(key("block.bamboo.fall"));
+
+ /**
+ * {@code minecraft:block.bamboo.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_HIT = create(key("block.bamboo.hit"));
+
+ /**
+ * {@code minecraft:block.bamboo.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_PLACE = create(key("block.bamboo.place"));
+
+ /**
+ * {@code minecraft:block.bamboo.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_STEP = create(key("block.bamboo.step"));
+
+ /**
+ * {@code minecraft:block.bamboo_sapling.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_SAPLING_BREAK = create(key("block.bamboo_sapling.break"));
+
+ /**
+ * {@code minecraft:block.bamboo_sapling.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_SAPLING_HIT = create(key("block.bamboo_sapling.hit"));
+
+ /**
+ * {@code minecraft:block.bamboo_sapling.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_SAPLING_PLACE = create(key("block.bamboo_sapling.place"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_BREAK = create(key("block.bamboo_wood.break"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_FALL = create(key("block.bamboo_wood.fall"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_HIT = create(key("block.bamboo_wood.hit"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_PLACE = create(key("block.bamboo_wood.place"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_STEP = create(key("block.bamboo_wood.step"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_button.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_BUTTON_CLICK_OFF = create(key("block.bamboo_wood_button.click_off"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_button.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_BUTTON_CLICK_ON = create(key("block.bamboo_wood_button.click_on"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_door.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_DOOR_CLOSE = create(key("block.bamboo_wood_door.close"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_door.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_DOOR_OPEN = create(key("block.bamboo_wood_door.open"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_fence_gate.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_FENCE_GATE_CLOSE = create(key("block.bamboo_wood_fence_gate.close"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_fence_gate.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_FENCE_GATE_OPEN = create(key("block.bamboo_wood_fence_gate.open"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_hanging_sign.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_HANGING_SIGN_BREAK = create(key("block.bamboo_wood_hanging_sign.break"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_hanging_sign.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_HANGING_SIGN_FALL = create(key("block.bamboo_wood_hanging_sign.fall"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_hanging_sign.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_HANGING_SIGN_HIT = create(key("block.bamboo_wood_hanging_sign.hit"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_hanging_sign.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_HANGING_SIGN_PLACE = create(key("block.bamboo_wood_hanging_sign.place"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_hanging_sign.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_HANGING_SIGN_STEP = create(key("block.bamboo_wood_hanging_sign.step"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_pressure_plate.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_PRESSURE_PLATE_CLICK_OFF = create(key("block.bamboo_wood_pressure_plate.click_off"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_pressure_plate.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_PRESSURE_PLATE_CLICK_ON = create(key("block.bamboo_wood_pressure_plate.click_on"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_trapdoor.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_TRAPDOOR_CLOSE = create(key("block.bamboo_wood_trapdoor.close"));
+
+ /**
+ * {@code minecraft:block.bamboo_wood_trapdoor.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BAMBOO_WOOD_TRAPDOOR_OPEN = create(key("block.bamboo_wood_trapdoor.open"));
+
+ /**
+ * {@code minecraft:block.barrel.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BARREL_CLOSE = create(key("block.barrel.close"));
+
+ /**
+ * {@code minecraft:block.barrel.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BARREL_OPEN = create(key("block.barrel.open"));
+
+ /**
+ * {@code minecraft:block.basalt.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BASALT_BREAK = create(key("block.basalt.break"));
+
+ /**
+ * {@code minecraft:block.basalt.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BASALT_FALL = create(key("block.basalt.fall"));
+
+ /**
+ * {@code minecraft:block.basalt.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BASALT_HIT = create(key("block.basalt.hit"));
+
+ /**
+ * {@code minecraft:block.basalt.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BASALT_PLACE = create(key("block.basalt.place"));
+
+ /**
+ * {@code minecraft:block.basalt.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BASALT_STEP = create(key("block.basalt.step"));
+
+ /**
+ * {@code minecraft:block.beacon.activate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BEACON_ACTIVATE = create(key("block.beacon.activate"));
+
+ /**
+ * {@code minecraft:block.beacon.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BEACON_AMBIENT = create(key("block.beacon.ambient"));
+
+ /**
+ * {@code minecraft:block.beacon.deactivate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BEACON_DEACTIVATE = create(key("block.beacon.deactivate"));
+
+ /**
+ * {@code minecraft:block.beacon.power_select}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BEACON_POWER_SELECT = create(key("block.beacon.power_select"));
+
+ /**
+ * {@code minecraft:block.beehive.drip}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BEEHIVE_DRIP = create(key("block.beehive.drip"));
+
+ /**
+ * {@code minecraft:block.beehive.enter}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BEEHIVE_ENTER = create(key("block.beehive.enter"));
+
+ /**
+ * {@code minecraft:block.beehive.exit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BEEHIVE_EXIT = create(key("block.beehive.exit"));
+
+ /**
+ * {@code minecraft:block.beehive.shear}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BEEHIVE_SHEAR = create(key("block.beehive.shear"));
+
+ /**
+ * {@code minecraft:block.beehive.work}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BEEHIVE_WORK = create(key("block.beehive.work"));
+
+ /**
+ * {@code minecraft:block.bell.resonate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BELL_RESONATE = create(key("block.bell.resonate"));
+
+ /**
+ * {@code minecraft:block.bell.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BELL_USE = create(key("block.bell.use"));
+
+ /**
+ * {@code minecraft:block.big_dripleaf.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BIG_DRIPLEAF_BREAK = create(key("block.big_dripleaf.break"));
+
+ /**
+ * {@code minecraft:block.big_dripleaf.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BIG_DRIPLEAF_FALL = create(key("block.big_dripleaf.fall"));
+
+ /**
+ * {@code minecraft:block.big_dripleaf.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BIG_DRIPLEAF_HIT = create(key("block.big_dripleaf.hit"));
+
+ /**
+ * {@code minecraft:block.big_dripleaf.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BIG_DRIPLEAF_PLACE = create(key("block.big_dripleaf.place"));
+
+ /**
+ * {@code minecraft:block.big_dripleaf.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BIG_DRIPLEAF_STEP = create(key("block.big_dripleaf.step"));
+
+ /**
+ * {@code minecraft:block.big_dripleaf.tilt_down}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BIG_DRIPLEAF_TILT_DOWN = create(key("block.big_dripleaf.tilt_down"));
+
+ /**
+ * {@code minecraft:block.big_dripleaf.tilt_up}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BIG_DRIPLEAF_TILT_UP = create(key("block.big_dripleaf.tilt_up"));
+
+ /**
+ * {@code minecraft:block.blastfurnace.fire_crackle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BLASTFURNACE_FIRE_CRACKLE = create(key("block.blastfurnace.fire_crackle"));
+
+ /**
+ * {@code minecraft:block.bone_block.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BONE_BLOCK_BREAK = create(key("block.bone_block.break"));
+
+ /**
+ * {@code minecraft:block.bone_block.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BONE_BLOCK_FALL = create(key("block.bone_block.fall"));
+
+ /**
+ * {@code minecraft:block.bone_block.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BONE_BLOCK_HIT = create(key("block.bone_block.hit"));
+
+ /**
+ * {@code minecraft:block.bone_block.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BONE_BLOCK_PLACE = create(key("block.bone_block.place"));
+
+ /**
+ * {@code minecraft:block.bone_block.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BONE_BLOCK_STEP = create(key("block.bone_block.step"));
+
+ /**
+ * {@code minecraft:block.brewing_stand.brew}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BREWING_STAND_BREW = create(key("block.brewing_stand.brew"));
+
+ /**
+ * {@code minecraft:block.bubble_column.bubble_pop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BUBBLE_COLUMN_BUBBLE_POP = create(key("block.bubble_column.bubble_pop"));
+
+ /**
+ * {@code minecraft:block.bubble_column.upwards_ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BUBBLE_COLUMN_UPWARDS_AMBIENT = create(key("block.bubble_column.upwards_ambient"));
+
+ /**
+ * {@code minecraft:block.bubble_column.upwards_inside}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BUBBLE_COLUMN_UPWARDS_INSIDE = create(key("block.bubble_column.upwards_inside"));
+
+ /**
+ * {@code minecraft:block.bubble_column.whirlpool_ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BUBBLE_COLUMN_WHIRLPOOL_AMBIENT = create(key("block.bubble_column.whirlpool_ambient"));
+
+ /**
+ * {@code minecraft:block.bubble_column.whirlpool_inside}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_BUBBLE_COLUMN_WHIRLPOOL_INSIDE = create(key("block.bubble_column.whirlpool_inside"));
+
+ /**
+ * {@code minecraft:block.cake.add_candle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CAKE_ADD_CANDLE = create(key("block.cake.add_candle"));
+
+ /**
+ * {@code minecraft:block.calcite.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CALCITE_BREAK = create(key("block.calcite.break"));
+
+ /**
+ * {@code minecraft:block.calcite.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CALCITE_FALL = create(key("block.calcite.fall"));
+
+ /**
+ * {@code minecraft:block.calcite.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CALCITE_HIT = create(key("block.calcite.hit"));
+
+ /**
+ * {@code minecraft:block.calcite.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CALCITE_PLACE = create(key("block.calcite.place"));
+
+ /**
+ * {@code minecraft:block.calcite.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CALCITE_STEP = create(key("block.calcite.step"));
+
+ /**
+ * {@code minecraft:block.campfire.crackle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CAMPFIRE_CRACKLE = create(key("block.campfire.crackle"));
+
+ /**
+ * {@code minecraft:block.candle.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CANDLE_AMBIENT = create(key("block.candle.ambient"));
+
+ /**
+ * {@code minecraft:block.candle.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CANDLE_BREAK = create(key("block.candle.break"));
+
+ /**
+ * {@code minecraft:block.candle.extinguish}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CANDLE_EXTINGUISH = create(key("block.candle.extinguish"));
+
+ /**
+ * {@code minecraft:block.candle.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CANDLE_FALL = create(key("block.candle.fall"));
+
+ /**
+ * {@code minecraft:block.candle.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CANDLE_HIT = create(key("block.candle.hit"));
+
+ /**
+ * {@code minecraft:block.candle.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CANDLE_PLACE = create(key("block.candle.place"));
+
+ /**
+ * {@code minecraft:block.candle.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CANDLE_STEP = create(key("block.candle.step"));
+
+ /**
+ * {@code minecraft:block.cave_vines.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CAVE_VINES_BREAK = create(key("block.cave_vines.break"));
+
+ /**
+ * {@code minecraft:block.cave_vines.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CAVE_VINES_FALL = create(key("block.cave_vines.fall"));
+
+ /**
+ * {@code minecraft:block.cave_vines.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CAVE_VINES_HIT = create(key("block.cave_vines.hit"));
+
+ /**
+ * {@code minecraft:block.cave_vines.pick_berries}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CAVE_VINES_PICK_BERRIES = create(key("block.cave_vines.pick_berries"));
+
+ /**
+ * {@code minecraft:block.cave_vines.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CAVE_VINES_PLACE = create(key("block.cave_vines.place"));
+
+ /**
+ * {@code minecraft:block.cave_vines.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CAVE_VINES_STEP = create(key("block.cave_vines.step"));
+
+ /**
+ * {@code minecraft:block.chain.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHAIN_BREAK = create(key("block.chain.break"));
+
+ /**
+ * {@code minecraft:block.chain.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHAIN_FALL = create(key("block.chain.fall"));
+
+ /**
+ * {@code minecraft:block.chain.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHAIN_HIT = create(key("block.chain.hit"));
+
+ /**
+ * {@code minecraft:block.chain.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHAIN_PLACE = create(key("block.chain.place"));
+
+ /**
+ * {@code minecraft:block.chain.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHAIN_STEP = create(key("block.chain.step"));
+
+ /**
+ * {@code minecraft:block.cherry_leaves.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_LEAVES_BREAK = create(key("block.cherry_leaves.break"));
+
+ /**
+ * {@code minecraft:block.cherry_leaves.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_LEAVES_FALL = create(key("block.cherry_leaves.fall"));
+
+ /**
+ * {@code minecraft:block.cherry_leaves.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_LEAVES_HIT = create(key("block.cherry_leaves.hit"));
+
+ /**
+ * {@code minecraft:block.cherry_leaves.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_LEAVES_PLACE = create(key("block.cherry_leaves.place"));
+
+ /**
+ * {@code minecraft:block.cherry_leaves.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_LEAVES_STEP = create(key("block.cherry_leaves.step"));
+
+ /**
+ * {@code minecraft:block.cherry_sapling.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_SAPLING_BREAK = create(key("block.cherry_sapling.break"));
+
+ /**
+ * {@code minecraft:block.cherry_sapling.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_SAPLING_FALL = create(key("block.cherry_sapling.fall"));
+
+ /**
+ * {@code minecraft:block.cherry_sapling.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_SAPLING_HIT = create(key("block.cherry_sapling.hit"));
+
+ /**
+ * {@code minecraft:block.cherry_sapling.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_SAPLING_PLACE = create(key("block.cherry_sapling.place"));
+
+ /**
+ * {@code minecraft:block.cherry_sapling.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_SAPLING_STEP = create(key("block.cherry_sapling.step"));
+
+ /**
+ * {@code minecraft:block.cherry_wood.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_BREAK = create(key("block.cherry_wood.break"));
+
+ /**
+ * {@code minecraft:block.cherry_wood.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_FALL = create(key("block.cherry_wood.fall"));
+
+ /**
+ * {@code minecraft:block.cherry_wood.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_HIT = create(key("block.cherry_wood.hit"));
+
+ /**
+ * {@code minecraft:block.cherry_wood.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_PLACE = create(key("block.cherry_wood.place"));
+
+ /**
+ * {@code minecraft:block.cherry_wood.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_STEP = create(key("block.cherry_wood.step"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_button.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_BUTTON_CLICK_OFF = create(key("block.cherry_wood_button.click_off"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_button.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_BUTTON_CLICK_ON = create(key("block.cherry_wood_button.click_on"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_door.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_DOOR_CLOSE = create(key("block.cherry_wood_door.close"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_door.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_DOOR_OPEN = create(key("block.cherry_wood_door.open"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_fence_gate.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_FENCE_GATE_CLOSE = create(key("block.cherry_wood_fence_gate.close"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_fence_gate.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_FENCE_GATE_OPEN = create(key("block.cherry_wood_fence_gate.open"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_hanging_sign.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_HANGING_SIGN_BREAK = create(key("block.cherry_wood_hanging_sign.break"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_hanging_sign.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_HANGING_SIGN_FALL = create(key("block.cherry_wood_hanging_sign.fall"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_hanging_sign.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_HANGING_SIGN_HIT = create(key("block.cherry_wood_hanging_sign.hit"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_hanging_sign.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_HANGING_SIGN_PLACE = create(key("block.cherry_wood_hanging_sign.place"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_hanging_sign.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_HANGING_SIGN_STEP = create(key("block.cherry_wood_hanging_sign.step"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_pressure_plate.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_PRESSURE_PLATE_CLICK_OFF = create(key("block.cherry_wood_pressure_plate.click_off"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_pressure_plate.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_PRESSURE_PLATE_CLICK_ON = create(key("block.cherry_wood_pressure_plate.click_on"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_trapdoor.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_TRAPDOOR_CLOSE = create(key("block.cherry_wood_trapdoor.close"));
+
+ /**
+ * {@code minecraft:block.cherry_wood_trapdoor.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHERRY_WOOD_TRAPDOOR_OPEN = create(key("block.cherry_wood_trapdoor.open"));
+
+ /**
+ * {@code minecraft:block.chest.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHEST_CLOSE = create(key("block.chest.close"));
+
+ /**
+ * {@code minecraft:block.chest.locked}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHEST_LOCKED = create(key("block.chest.locked"));
+
+ /**
+ * {@code minecraft:block.chest.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHEST_OPEN = create(key("block.chest.open"));
+
+ /**
+ * {@code minecraft:block.chiseled_bookshelf.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHISELED_BOOKSHELF_BREAK = create(key("block.chiseled_bookshelf.break"));
+
+ /**
+ * {@code minecraft:block.chiseled_bookshelf.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHISELED_BOOKSHELF_FALL = create(key("block.chiseled_bookshelf.fall"));
+
+ /**
+ * {@code minecraft:block.chiseled_bookshelf.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHISELED_BOOKSHELF_HIT = create(key("block.chiseled_bookshelf.hit"));
+
+ /**
+ * {@code minecraft:block.chiseled_bookshelf.insert}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHISELED_BOOKSHELF_INSERT = create(key("block.chiseled_bookshelf.insert"));
+
+ /**
+ * {@code minecraft:block.chiseled_bookshelf.insert.enchanted}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHISELED_BOOKSHELF_INSERT_ENCHANTED = create(key("block.chiseled_bookshelf.insert.enchanted"));
+
+ /**
+ * {@code minecraft:block.chiseled_bookshelf.pickup}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHISELED_BOOKSHELF_PICKUP = create(key("block.chiseled_bookshelf.pickup"));
+
+ /**
+ * {@code minecraft:block.chiseled_bookshelf.pickup.enchanted}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHISELED_BOOKSHELF_PICKUP_ENCHANTED = create(key("block.chiseled_bookshelf.pickup.enchanted"));
+
+ /**
+ * {@code minecraft:block.chiseled_bookshelf.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHISELED_BOOKSHELF_PLACE = create(key("block.chiseled_bookshelf.place"));
+
+ /**
+ * {@code minecraft:block.chiseled_bookshelf.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHISELED_BOOKSHELF_STEP = create(key("block.chiseled_bookshelf.step"));
+
+ /**
+ * {@code minecraft:block.chorus_flower.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHORUS_FLOWER_DEATH = create(key("block.chorus_flower.death"));
+
+ /**
+ * {@code minecraft:block.chorus_flower.grow}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CHORUS_FLOWER_GROW = create(key("block.chorus_flower.grow"));
+
+ /**
+ * {@code minecraft:block.cobweb.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COBWEB_BREAK = create(key("block.cobweb.break"));
+
+ /**
+ * {@code minecraft:block.cobweb.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COBWEB_FALL = create(key("block.cobweb.fall"));
+
+ /**
+ * {@code minecraft:block.cobweb.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COBWEB_HIT = create(key("block.cobweb.hit"));
+
+ /**
+ * {@code minecraft:block.cobweb.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COBWEB_PLACE = create(key("block.cobweb.place"));
+
+ /**
+ * {@code minecraft:block.cobweb.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COBWEB_STEP = create(key("block.cobweb.step"));
+
+ /**
+ * {@code minecraft:block.comparator.click}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COMPARATOR_CLICK = create(key("block.comparator.click"));
+
+ /**
+ * {@code minecraft:block.composter.empty}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COMPOSTER_EMPTY = create(key("block.composter.empty"));
+
+ /**
+ * {@code minecraft:block.composter.fill}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COMPOSTER_FILL = create(key("block.composter.fill"));
+
+ /**
+ * {@code minecraft:block.composter.fill_success}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COMPOSTER_FILL_SUCCESS = create(key("block.composter.fill_success"));
+
+ /**
+ * {@code minecraft:block.composter.ready}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COMPOSTER_READY = create(key("block.composter.ready"));
+
+ /**
+ * {@code minecraft:block.conduit.activate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CONDUIT_ACTIVATE = create(key("block.conduit.activate"));
+
+ /**
+ * {@code minecraft:block.conduit.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CONDUIT_AMBIENT = create(key("block.conduit.ambient"));
+
+ /**
+ * {@code minecraft:block.conduit.ambient.short}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CONDUIT_AMBIENT_SHORT = create(key("block.conduit.ambient.short"));
+
+ /**
+ * {@code minecraft:block.conduit.attack.target}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CONDUIT_ATTACK_TARGET = create(key("block.conduit.attack.target"));
+
+ /**
+ * {@code minecraft:block.conduit.deactivate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CONDUIT_DEACTIVATE = create(key("block.conduit.deactivate"));
+
+ /**
+ * {@code minecraft:block.copper.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_BREAK = create(key("block.copper.break"));
+
+ /**
+ * {@code minecraft:block.copper.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_FALL = create(key("block.copper.fall"));
+
+ /**
+ * {@code minecraft:block.copper.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_HIT = create(key("block.copper.hit"));
+
+ /**
+ * {@code minecraft:block.copper.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_PLACE = create(key("block.copper.place"));
+
+ /**
+ * {@code minecraft:block.copper.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_STEP = create(key("block.copper.step"));
+
+ /**
+ * {@code minecraft:block.copper_bulb.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_BULB_BREAK = create(key("block.copper_bulb.break"));
+
+ /**
+ * {@code minecraft:block.copper_bulb.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_BULB_FALL = create(key("block.copper_bulb.fall"));
+
+ /**
+ * {@code minecraft:block.copper_bulb.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_BULB_HIT = create(key("block.copper_bulb.hit"));
+
+ /**
+ * {@code minecraft:block.copper_bulb.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_BULB_PLACE = create(key("block.copper_bulb.place"));
+
+ /**
+ * {@code minecraft:block.copper_bulb.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_BULB_STEP = create(key("block.copper_bulb.step"));
+
+ /**
+ * {@code minecraft:block.copper_bulb.turn_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_BULB_TURN_OFF = create(key("block.copper_bulb.turn_off"));
+
+ /**
+ * {@code minecraft:block.copper_bulb.turn_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_BULB_TURN_ON = create(key("block.copper_bulb.turn_on"));
+
+ /**
+ * {@code minecraft:block.copper_door.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_DOOR_CLOSE = create(key("block.copper_door.close"));
+
+ /**
+ * {@code minecraft:block.copper_door.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_DOOR_OPEN = create(key("block.copper_door.open"));
+
+ /**
+ * {@code minecraft:block.copper_grate.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_GRATE_BREAK = create(key("block.copper_grate.break"));
+
+ /**
+ * {@code minecraft:block.copper_grate.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_GRATE_FALL = create(key("block.copper_grate.fall"));
+
+ /**
+ * {@code minecraft:block.copper_grate.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_GRATE_HIT = create(key("block.copper_grate.hit"));
+
+ /**
+ * {@code minecraft:block.copper_grate.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_GRATE_PLACE = create(key("block.copper_grate.place"));
+
+ /**
+ * {@code minecraft:block.copper_grate.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_GRATE_STEP = create(key("block.copper_grate.step"));
+
+ /**
+ * {@code minecraft:block.copper_trapdoor.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_TRAPDOOR_CLOSE = create(key("block.copper_trapdoor.close"));
+
+ /**
+ * {@code minecraft:block.copper_trapdoor.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_COPPER_TRAPDOOR_OPEN = create(key("block.copper_trapdoor.open"));
+
+ /**
+ * {@code minecraft:block.coral_block.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CORAL_BLOCK_BREAK = create(key("block.coral_block.break"));
+
+ /**
+ * {@code minecraft:block.coral_block.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CORAL_BLOCK_FALL = create(key("block.coral_block.fall"));
+
+ /**
+ * {@code minecraft:block.coral_block.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CORAL_BLOCK_HIT = create(key("block.coral_block.hit"));
+
+ /**
+ * {@code minecraft:block.coral_block.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CORAL_BLOCK_PLACE = create(key("block.coral_block.place"));
+
+ /**
+ * {@code minecraft:block.coral_block.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CORAL_BLOCK_STEP = create(key("block.coral_block.step"));
+
+ /**
+ * {@code minecraft:block.crafter.craft}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CRAFTER_CRAFT = create(key("block.crafter.craft"));
+
+ /**
+ * {@code minecraft:block.crafter.fail}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CRAFTER_FAIL = create(key("block.crafter.fail"));
+
+ /**
+ * {@code minecraft:block.creaking_heart.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CREAKING_HEART_BREAK = create(key("block.creaking_heart.break"));
+
+ /**
+ * {@code minecraft:block.creaking_heart.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CREAKING_HEART_FALL = create(key("block.creaking_heart.fall"));
+
+ /**
+ * {@code minecraft:block.creaking_heart.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CREAKING_HEART_HIT = create(key("block.creaking_heart.hit"));
+
+ /**
+ * {@code minecraft:block.creaking_heart.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CREAKING_HEART_HURT = create(key("block.creaking_heart.hurt"));
+
+ /**
+ * {@code minecraft:block.creaking_heart.idle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CREAKING_HEART_IDLE = create(key("block.creaking_heart.idle"));
+
+ /**
+ * {@code minecraft:block.creaking_heart.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CREAKING_HEART_PLACE = create(key("block.creaking_heart.place"));
+
+ /**
+ * {@code minecraft:block.creaking_heart.spawn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CREAKING_HEART_SPAWN = create(key("block.creaking_heart.spawn"));
+
+ /**
+ * {@code minecraft:block.creaking_heart.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CREAKING_HEART_STEP = create(key("block.creaking_heart.step"));
+
+ /**
+ * {@code minecraft:block.crop.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_CROP_BREAK = create(key("block.crop.break"));
+
+ /**
+ * {@code minecraft:block.decorated_pot.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DECORATED_POT_BREAK = create(key("block.decorated_pot.break"));
+
+ /**
+ * {@code minecraft:block.decorated_pot.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DECORATED_POT_FALL = create(key("block.decorated_pot.fall"));
+
+ /**
+ * {@code minecraft:block.decorated_pot.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DECORATED_POT_HIT = create(key("block.decorated_pot.hit"));
+
+ /**
+ * {@code minecraft:block.decorated_pot.insert}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DECORATED_POT_INSERT = create(key("block.decorated_pot.insert"));
+
+ /**
+ * {@code minecraft:block.decorated_pot.insert_fail}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DECORATED_POT_INSERT_FAIL = create(key("block.decorated_pot.insert_fail"));
+
+ /**
+ * {@code minecraft:block.decorated_pot.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DECORATED_POT_PLACE = create(key("block.decorated_pot.place"));
+
+ /**
+ * {@code minecraft:block.decorated_pot.shatter}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DECORATED_POT_SHATTER = create(key("block.decorated_pot.shatter"));
+
+ /**
+ * {@code minecraft:block.decorated_pot.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DECORATED_POT_STEP = create(key("block.decorated_pot.step"));
+
+ /**
+ * {@code minecraft:block.deepslate.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_BREAK = create(key("block.deepslate.break"));
+
+ /**
+ * {@code minecraft:block.deepslate.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_FALL = create(key("block.deepslate.fall"));
+
+ /**
+ * {@code minecraft:block.deepslate.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_HIT = create(key("block.deepslate.hit"));
+
+ /**
+ * {@code minecraft:block.deepslate.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_PLACE = create(key("block.deepslate.place"));
+
+ /**
+ * {@code minecraft:block.deepslate.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_STEP = create(key("block.deepslate.step"));
+
+ /**
+ * {@code minecraft:block.deepslate_bricks.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_BRICKS_BREAK = create(key("block.deepslate_bricks.break"));
+
+ /**
+ * {@code minecraft:block.deepslate_bricks.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_BRICKS_FALL = create(key("block.deepslate_bricks.fall"));
+
+ /**
+ * {@code minecraft:block.deepslate_bricks.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_BRICKS_HIT = create(key("block.deepslate_bricks.hit"));
+
+ /**
+ * {@code minecraft:block.deepslate_bricks.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_BRICKS_PLACE = create(key("block.deepslate_bricks.place"));
+
+ /**
+ * {@code minecraft:block.deepslate_bricks.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_BRICKS_STEP = create(key("block.deepslate_bricks.step"));
+
+ /**
+ * {@code minecraft:block.deepslate_tiles.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_TILES_BREAK = create(key("block.deepslate_tiles.break"));
+
+ /**
+ * {@code minecraft:block.deepslate_tiles.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_TILES_FALL = create(key("block.deepslate_tiles.fall"));
+
+ /**
+ * {@code minecraft:block.deepslate_tiles.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_TILES_HIT = create(key("block.deepslate_tiles.hit"));
+
+ /**
+ * {@code minecraft:block.deepslate_tiles.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_TILES_PLACE = create(key("block.deepslate_tiles.place"));
+
+ /**
+ * {@code minecraft:block.deepslate_tiles.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DEEPSLATE_TILES_STEP = create(key("block.deepslate_tiles.step"));
+
+ /**
+ * {@code minecraft:block.dispenser.dispense}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DISPENSER_DISPENSE = create(key("block.dispenser.dispense"));
+
+ /**
+ * {@code minecraft:block.dispenser.fail}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DISPENSER_FAIL = create(key("block.dispenser.fail"));
+
+ /**
+ * {@code minecraft:block.dispenser.launch}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DISPENSER_LAUNCH = create(key("block.dispenser.launch"));
+
+ /**
+ * {@code minecraft:block.dripstone_block.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DRIPSTONE_BLOCK_BREAK = create(key("block.dripstone_block.break"));
+
+ /**
+ * {@code minecraft:block.dripstone_block.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DRIPSTONE_BLOCK_FALL = create(key("block.dripstone_block.fall"));
+
+ /**
+ * {@code minecraft:block.dripstone_block.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DRIPSTONE_BLOCK_HIT = create(key("block.dripstone_block.hit"));
+
+ /**
+ * {@code minecraft:block.dripstone_block.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DRIPSTONE_BLOCK_PLACE = create(key("block.dripstone_block.place"));
+
+ /**
+ * {@code minecraft:block.dripstone_block.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_DRIPSTONE_BLOCK_STEP = create(key("block.dripstone_block.step"));
+
+ /**
+ * {@code minecraft:block.enchantment_table.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ENCHANTMENT_TABLE_USE = create(key("block.enchantment_table.use"));
+
+ /**
+ * {@code minecraft:block.end_gateway.spawn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_END_GATEWAY_SPAWN = create(key("block.end_gateway.spawn"));
+
+ /**
+ * {@code minecraft:block.end_portal.spawn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_END_PORTAL_SPAWN = create(key("block.end_portal.spawn"));
+
+ /**
+ * {@code minecraft:block.end_portal_frame.fill}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_END_PORTAL_FRAME_FILL = create(key("block.end_portal_frame.fill"));
+
+ /**
+ * {@code minecraft:block.ender_chest.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ENDER_CHEST_CLOSE = create(key("block.ender_chest.close"));
+
+ /**
+ * {@code minecraft:block.ender_chest.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ENDER_CHEST_OPEN = create(key("block.ender_chest.open"));
+
+ /**
+ * {@code minecraft:block.fence_gate.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FENCE_GATE_CLOSE = create(key("block.fence_gate.close"));
+
+ /**
+ * {@code minecraft:block.fence_gate.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FENCE_GATE_OPEN = create(key("block.fence_gate.open"));
+
+ /**
+ * {@code minecraft:block.fire.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FIRE_AMBIENT = create(key("block.fire.ambient"));
+
+ /**
+ * {@code minecraft:block.fire.extinguish}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FIRE_EXTINGUISH = create(key("block.fire.extinguish"));
+
+ /**
+ * {@code minecraft:block.flowering_azalea.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FLOWERING_AZALEA_BREAK = create(key("block.flowering_azalea.break"));
+
+ /**
+ * {@code minecraft:block.flowering_azalea.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FLOWERING_AZALEA_FALL = create(key("block.flowering_azalea.fall"));
+
+ /**
+ * {@code minecraft:block.flowering_azalea.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FLOWERING_AZALEA_HIT = create(key("block.flowering_azalea.hit"));
+
+ /**
+ * {@code minecraft:block.flowering_azalea.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FLOWERING_AZALEA_PLACE = create(key("block.flowering_azalea.place"));
+
+ /**
+ * {@code minecraft:block.flowering_azalea.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FLOWERING_AZALEA_STEP = create(key("block.flowering_azalea.step"));
+
+ /**
+ * {@code minecraft:block.froglight.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGLIGHT_BREAK = create(key("block.froglight.break"));
+
+ /**
+ * {@code minecraft:block.froglight.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGLIGHT_FALL = create(key("block.froglight.fall"));
+
+ /**
+ * {@code minecraft:block.froglight.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGLIGHT_HIT = create(key("block.froglight.hit"));
+
+ /**
+ * {@code minecraft:block.froglight.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGLIGHT_PLACE = create(key("block.froglight.place"));
+
+ /**
+ * {@code minecraft:block.froglight.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGLIGHT_STEP = create(key("block.froglight.step"));
+
+ /**
+ * {@code minecraft:block.frogspawn.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGSPAWN_BREAK = create(key("block.frogspawn.break"));
+
+ /**
+ * {@code minecraft:block.frogspawn.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGSPAWN_FALL = create(key("block.frogspawn.fall"));
+
+ /**
+ * {@code minecraft:block.frogspawn.hatch}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGSPAWN_HATCH = create(key("block.frogspawn.hatch"));
+
+ /**
+ * {@code minecraft:block.frogspawn.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGSPAWN_HIT = create(key("block.frogspawn.hit"));
+
+ /**
+ * {@code minecraft:block.frogspawn.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGSPAWN_PLACE = create(key("block.frogspawn.place"));
+
+ /**
+ * {@code minecraft:block.frogspawn.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FROGSPAWN_STEP = create(key("block.frogspawn.step"));
+
+ /**
+ * {@code minecraft:block.fungus.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FUNGUS_BREAK = create(key("block.fungus.break"));
+
+ /**
+ * {@code minecraft:block.fungus.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FUNGUS_FALL = create(key("block.fungus.fall"));
+
+ /**
+ * {@code minecraft:block.fungus.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FUNGUS_HIT = create(key("block.fungus.hit"));
+
+ /**
+ * {@code minecraft:block.fungus.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FUNGUS_PLACE = create(key("block.fungus.place"));
+
+ /**
+ * {@code minecraft:block.fungus.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FUNGUS_STEP = create(key("block.fungus.step"));
+
+ /**
+ * {@code minecraft:block.furnace.fire_crackle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_FURNACE_FIRE_CRACKLE = create(key("block.furnace.fire_crackle"));
+
+ /**
+ * {@code minecraft:block.gilded_blackstone.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GILDED_BLACKSTONE_BREAK = create(key("block.gilded_blackstone.break"));
+
+ /**
+ * {@code minecraft:block.gilded_blackstone.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GILDED_BLACKSTONE_FALL = create(key("block.gilded_blackstone.fall"));
+
+ /**
+ * {@code minecraft:block.gilded_blackstone.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GILDED_BLACKSTONE_HIT = create(key("block.gilded_blackstone.hit"));
+
+ /**
+ * {@code minecraft:block.gilded_blackstone.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GILDED_BLACKSTONE_PLACE = create(key("block.gilded_blackstone.place"));
+
+ /**
+ * {@code minecraft:block.gilded_blackstone.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GILDED_BLACKSTONE_STEP = create(key("block.gilded_blackstone.step"));
+
+ /**
+ * {@code minecraft:block.glass.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GLASS_BREAK = create(key("block.glass.break"));
+
+ /**
+ * {@code minecraft:block.glass.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GLASS_FALL = create(key("block.glass.fall"));
+
+ /**
+ * {@code minecraft:block.glass.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GLASS_HIT = create(key("block.glass.hit"));
+
+ /**
+ * {@code minecraft:block.glass.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GLASS_PLACE = create(key("block.glass.place"));
+
+ /**
+ * {@code minecraft:block.glass.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GLASS_STEP = create(key("block.glass.step"));
+
+ /**
+ * {@code minecraft:block.grass.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRASS_BREAK = create(key("block.grass.break"));
+
+ /**
+ * {@code minecraft:block.grass.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRASS_FALL = create(key("block.grass.fall"));
+
+ /**
+ * {@code minecraft:block.grass.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRASS_HIT = create(key("block.grass.hit"));
+
+ /**
+ * {@code minecraft:block.grass.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRASS_PLACE = create(key("block.grass.place"));
+
+ /**
+ * {@code minecraft:block.grass.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRASS_STEP = create(key("block.grass.step"));
+
+ /**
+ * {@code minecraft:block.gravel.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRAVEL_BREAK = create(key("block.gravel.break"));
+
+ /**
+ * {@code minecraft:block.gravel.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRAVEL_FALL = create(key("block.gravel.fall"));
+
+ /**
+ * {@code minecraft:block.gravel.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRAVEL_HIT = create(key("block.gravel.hit"));
+
+ /**
+ * {@code minecraft:block.gravel.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRAVEL_PLACE = create(key("block.gravel.place"));
+
+ /**
+ * {@code minecraft:block.gravel.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRAVEL_STEP = create(key("block.gravel.step"));
+
+ /**
+ * {@code minecraft:block.grindstone.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GRINDSTONE_USE = create(key("block.grindstone.use"));
+
+ /**
+ * {@code minecraft:block.growing_plant.crop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_GROWING_PLANT_CROP = create(key("block.growing_plant.crop"));
+
+ /**
+ * {@code minecraft:block.hanging_roots.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_ROOTS_BREAK = create(key("block.hanging_roots.break"));
+
+ /**
+ * {@code minecraft:block.hanging_roots.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_ROOTS_FALL = create(key("block.hanging_roots.fall"));
+
+ /**
+ * {@code minecraft:block.hanging_roots.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_ROOTS_HIT = create(key("block.hanging_roots.hit"));
+
+ /**
+ * {@code minecraft:block.hanging_roots.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_ROOTS_PLACE = create(key("block.hanging_roots.place"));
+
+ /**
+ * {@code minecraft:block.hanging_roots.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_ROOTS_STEP = create(key("block.hanging_roots.step"));
+
+ /**
+ * {@code minecraft:block.hanging_sign.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_SIGN_BREAK = create(key("block.hanging_sign.break"));
+
+ /**
+ * {@code minecraft:block.hanging_sign.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_SIGN_FALL = create(key("block.hanging_sign.fall"));
+
+ /**
+ * {@code minecraft:block.hanging_sign.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_SIGN_HIT = create(key("block.hanging_sign.hit"));
+
+ /**
+ * {@code minecraft:block.hanging_sign.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_SIGN_PLACE = create(key("block.hanging_sign.place"));
+
+ /**
+ * {@code minecraft:block.hanging_sign.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_SIGN_STEP = create(key("block.hanging_sign.step"));
+
+ /**
+ * {@code minecraft:block.hanging_sign.waxed_interact_fail}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HANGING_SIGN_WAXED_INTERACT_FAIL = create(key("block.hanging_sign.waxed_interact_fail"));
+
+ /**
+ * {@code minecraft:block.heavy_core.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HEAVY_CORE_BREAK = create(key("block.heavy_core.break"));
+
+ /**
+ * {@code minecraft:block.heavy_core.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HEAVY_CORE_FALL = create(key("block.heavy_core.fall"));
+
+ /**
+ * {@code minecraft:block.heavy_core.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HEAVY_CORE_HIT = create(key("block.heavy_core.hit"));
+
+ /**
+ * {@code minecraft:block.heavy_core.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HEAVY_CORE_PLACE = create(key("block.heavy_core.place"));
+
+ /**
+ * {@code minecraft:block.heavy_core.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HEAVY_CORE_STEP = create(key("block.heavy_core.step"));
+
+ /**
+ * {@code minecraft:block.honey_block.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HONEY_BLOCK_BREAK = create(key("block.honey_block.break"));
+
+ /**
+ * {@code minecraft:block.honey_block.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HONEY_BLOCK_FALL = create(key("block.honey_block.fall"));
+
+ /**
+ * {@code minecraft:block.honey_block.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HONEY_BLOCK_HIT = create(key("block.honey_block.hit"));
+
+ /**
+ * {@code minecraft:block.honey_block.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HONEY_BLOCK_PLACE = create(key("block.honey_block.place"));
+
+ /**
+ * {@code minecraft:block.honey_block.slide}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HONEY_BLOCK_SLIDE = create(key("block.honey_block.slide"));
+
+ /**
+ * {@code minecraft:block.honey_block.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_HONEY_BLOCK_STEP = create(key("block.honey_block.step"));
+
+ /**
+ * {@code minecraft:block.iron_door.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_IRON_DOOR_CLOSE = create(key("block.iron_door.close"));
+
+ /**
+ * {@code minecraft:block.iron_door.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_IRON_DOOR_OPEN = create(key("block.iron_door.open"));
+
+ /**
+ * {@code minecraft:block.iron_trapdoor.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_IRON_TRAPDOOR_CLOSE = create(key("block.iron_trapdoor.close"));
+
+ /**
+ * {@code minecraft:block.iron_trapdoor.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_IRON_TRAPDOOR_OPEN = create(key("block.iron_trapdoor.open"));
+
+ /**
+ * {@code minecraft:block.ladder.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LADDER_BREAK = create(key("block.ladder.break"));
+
+ /**
+ * {@code minecraft:block.ladder.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LADDER_FALL = create(key("block.ladder.fall"));
+
+ /**
+ * {@code minecraft:block.ladder.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LADDER_HIT = create(key("block.ladder.hit"));
+
+ /**
+ * {@code minecraft:block.ladder.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LADDER_PLACE = create(key("block.ladder.place"));
+
+ /**
+ * {@code minecraft:block.ladder.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LADDER_STEP = create(key("block.ladder.step"));
+
+ /**
+ * {@code minecraft:block.lantern.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LANTERN_BREAK = create(key("block.lantern.break"));
+
+ /**
+ * {@code minecraft:block.lantern.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LANTERN_FALL = create(key("block.lantern.fall"));
+
+ /**
+ * {@code minecraft:block.lantern.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LANTERN_HIT = create(key("block.lantern.hit"));
+
+ /**
+ * {@code minecraft:block.lantern.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LANTERN_PLACE = create(key("block.lantern.place"));
+
+ /**
+ * {@code minecraft:block.lantern.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LANTERN_STEP = create(key("block.lantern.step"));
+
+ /**
+ * {@code minecraft:block.large_amethyst_bud.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LARGE_AMETHYST_BUD_BREAK = create(key("block.large_amethyst_bud.break"));
+
+ /**
+ * {@code minecraft:block.large_amethyst_bud.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LARGE_AMETHYST_BUD_PLACE = create(key("block.large_amethyst_bud.place"));
+
+ /**
+ * {@code minecraft:block.lava.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LAVA_AMBIENT = create(key("block.lava.ambient"));
+
+ /**
+ * {@code minecraft:block.lava.extinguish}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LAVA_EXTINGUISH = create(key("block.lava.extinguish"));
+
+ /**
+ * {@code minecraft:block.lava.pop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LAVA_POP = create(key("block.lava.pop"));
+
+ /**
+ * {@code minecraft:block.lever.click}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LEVER_CLICK = create(key("block.lever.click"));
+
+ /**
+ * {@code minecraft:block.lily_pad.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LILY_PAD_PLACE = create(key("block.lily_pad.place"));
+
+ /**
+ * {@code minecraft:block.lodestone.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LODESTONE_BREAK = create(key("block.lodestone.break"));
+
+ /**
+ * {@code minecraft:block.lodestone.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LODESTONE_FALL = create(key("block.lodestone.fall"));
+
+ /**
+ * {@code minecraft:block.lodestone.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LODESTONE_HIT = create(key("block.lodestone.hit"));
+
+ /**
+ * {@code minecraft:block.lodestone.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LODESTONE_PLACE = create(key("block.lodestone.place"));
+
+ /**
+ * {@code minecraft:block.lodestone.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_LODESTONE_STEP = create(key("block.lodestone.step"));
+
+ /**
+ * {@code minecraft:block.mangrove_roots.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MANGROVE_ROOTS_BREAK = create(key("block.mangrove_roots.break"));
+
+ /**
+ * {@code minecraft:block.mangrove_roots.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MANGROVE_ROOTS_FALL = create(key("block.mangrove_roots.fall"));
+
+ /**
+ * {@code minecraft:block.mangrove_roots.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MANGROVE_ROOTS_HIT = create(key("block.mangrove_roots.hit"));
+
+ /**
+ * {@code minecraft:block.mangrove_roots.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MANGROVE_ROOTS_PLACE = create(key("block.mangrove_roots.place"));
+
+ /**
+ * {@code minecraft:block.mangrove_roots.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MANGROVE_ROOTS_STEP = create(key("block.mangrove_roots.step"));
+
+ /**
+ * {@code minecraft:block.medium_amethyst_bud.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MEDIUM_AMETHYST_BUD_BREAK = create(key("block.medium_amethyst_bud.break"));
+
+ /**
+ * {@code minecraft:block.medium_amethyst_bud.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MEDIUM_AMETHYST_BUD_PLACE = create(key("block.medium_amethyst_bud.place"));
+
+ /**
+ * {@code minecraft:block.metal.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_METAL_BREAK = create(key("block.metal.break"));
+
+ /**
+ * {@code minecraft:block.metal.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_METAL_FALL = create(key("block.metal.fall"));
+
+ /**
+ * {@code minecraft:block.metal.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_METAL_HIT = create(key("block.metal.hit"));
+
+ /**
+ * {@code minecraft:block.metal.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_METAL_PLACE = create(key("block.metal.place"));
+
+ /**
+ * {@code minecraft:block.metal.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_METAL_STEP = create(key("block.metal.step"));
+
+ /**
+ * {@code minecraft:block.metal_pressure_plate.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_METAL_PRESSURE_PLATE_CLICK_OFF = create(key("block.metal_pressure_plate.click_off"));
+
+ /**
+ * {@code minecraft:block.metal_pressure_plate.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_METAL_PRESSURE_PLATE_CLICK_ON = create(key("block.metal_pressure_plate.click_on"));
+
+ /**
+ * {@code minecraft:block.moss.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_BREAK = create(key("block.moss.break"));
+
+ /**
+ * {@code minecraft:block.moss.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_FALL = create(key("block.moss.fall"));
+
+ /**
+ * {@code minecraft:block.moss.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_HIT = create(key("block.moss.hit"));
+
+ /**
+ * {@code minecraft:block.moss.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_PLACE = create(key("block.moss.place"));
+
+ /**
+ * {@code minecraft:block.moss.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_STEP = create(key("block.moss.step"));
+
+ /**
+ * {@code minecraft:block.moss_carpet.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_CARPET_BREAK = create(key("block.moss_carpet.break"));
+
+ /**
+ * {@code minecraft:block.moss_carpet.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_CARPET_FALL = create(key("block.moss_carpet.fall"));
+
+ /**
+ * {@code minecraft:block.moss_carpet.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_CARPET_HIT = create(key("block.moss_carpet.hit"));
+
+ /**
+ * {@code minecraft:block.moss_carpet.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_CARPET_PLACE = create(key("block.moss_carpet.place"));
+
+ /**
+ * {@code minecraft:block.moss_carpet.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MOSS_CARPET_STEP = create(key("block.moss_carpet.step"));
+
+ /**
+ * {@code minecraft:block.mud.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_BREAK = create(key("block.mud.break"));
+
+ /**
+ * {@code minecraft:block.mud.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_FALL = create(key("block.mud.fall"));
+
+ /**
+ * {@code minecraft:block.mud.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_HIT = create(key("block.mud.hit"));
+
+ /**
+ * {@code minecraft:block.mud.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_PLACE = create(key("block.mud.place"));
+
+ /**
+ * {@code minecraft:block.mud.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_STEP = create(key("block.mud.step"));
+
+ /**
+ * {@code minecraft:block.mud_bricks.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_BRICKS_BREAK = create(key("block.mud_bricks.break"));
+
+ /**
+ * {@code minecraft:block.mud_bricks.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_BRICKS_FALL = create(key("block.mud_bricks.fall"));
+
+ /**
+ * {@code minecraft:block.mud_bricks.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_BRICKS_HIT = create(key("block.mud_bricks.hit"));
+
+ /**
+ * {@code minecraft:block.mud_bricks.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_BRICKS_PLACE = create(key("block.mud_bricks.place"));
+
+ /**
+ * {@code minecraft:block.mud_bricks.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUD_BRICKS_STEP = create(key("block.mud_bricks.step"));
+
+ /**
+ * {@code minecraft:block.muddy_mangrove_roots.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUDDY_MANGROVE_ROOTS_BREAK = create(key("block.muddy_mangrove_roots.break"));
+
+ /**
+ * {@code minecraft:block.muddy_mangrove_roots.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUDDY_MANGROVE_ROOTS_FALL = create(key("block.muddy_mangrove_roots.fall"));
+
+ /**
+ * {@code minecraft:block.muddy_mangrove_roots.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUDDY_MANGROVE_ROOTS_HIT = create(key("block.muddy_mangrove_roots.hit"));
+
+ /**
+ * {@code minecraft:block.muddy_mangrove_roots.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUDDY_MANGROVE_ROOTS_PLACE = create(key("block.muddy_mangrove_roots.place"));
+
+ /**
+ * {@code minecraft:block.muddy_mangrove_roots.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_MUDDY_MANGROVE_ROOTS_STEP = create(key("block.muddy_mangrove_roots.step"));
+
+ /**
+ * {@code minecraft:block.nether_bricks.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_BRICKS_BREAK = create(key("block.nether_bricks.break"));
+
+ /**
+ * {@code minecraft:block.nether_bricks.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_BRICKS_FALL = create(key("block.nether_bricks.fall"));
+
+ /**
+ * {@code minecraft:block.nether_bricks.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_BRICKS_HIT = create(key("block.nether_bricks.hit"));
+
+ /**
+ * {@code minecraft:block.nether_bricks.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_BRICKS_PLACE = create(key("block.nether_bricks.place"));
+
+ /**
+ * {@code minecraft:block.nether_bricks.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_BRICKS_STEP = create(key("block.nether_bricks.step"));
+
+ /**
+ * {@code minecraft:block.nether_gold_ore.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_GOLD_ORE_BREAK = create(key("block.nether_gold_ore.break"));
+
+ /**
+ * {@code minecraft:block.nether_gold_ore.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_GOLD_ORE_FALL = create(key("block.nether_gold_ore.fall"));
+
+ /**
+ * {@code minecraft:block.nether_gold_ore.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_GOLD_ORE_HIT = create(key("block.nether_gold_ore.hit"));
+
+ /**
+ * {@code minecraft:block.nether_gold_ore.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_GOLD_ORE_PLACE = create(key("block.nether_gold_ore.place"));
+
+ /**
+ * {@code minecraft:block.nether_gold_ore.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_GOLD_ORE_STEP = create(key("block.nether_gold_ore.step"));
+
+ /**
+ * {@code minecraft:block.nether_ore.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_ORE_BREAK = create(key("block.nether_ore.break"));
+
+ /**
+ * {@code minecraft:block.nether_ore.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_ORE_FALL = create(key("block.nether_ore.fall"));
+
+ /**
+ * {@code minecraft:block.nether_ore.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_ORE_HIT = create(key("block.nether_ore.hit"));
+
+ /**
+ * {@code minecraft:block.nether_ore.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_ORE_PLACE = create(key("block.nether_ore.place"));
+
+ /**
+ * {@code minecraft:block.nether_ore.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_ORE_STEP = create(key("block.nether_ore.step"));
+
+ /**
+ * {@code minecraft:block.nether_sprouts.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_SPROUTS_BREAK = create(key("block.nether_sprouts.break"));
+
+ /**
+ * {@code minecraft:block.nether_sprouts.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_SPROUTS_FALL = create(key("block.nether_sprouts.fall"));
+
+ /**
+ * {@code minecraft:block.nether_sprouts.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_SPROUTS_HIT = create(key("block.nether_sprouts.hit"));
+
+ /**
+ * {@code minecraft:block.nether_sprouts.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_SPROUTS_PLACE = create(key("block.nether_sprouts.place"));
+
+ /**
+ * {@code minecraft:block.nether_sprouts.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_SPROUTS_STEP = create(key("block.nether_sprouts.step"));
+
+ /**
+ * {@code minecraft:block.nether_wart.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WART_BREAK = create(key("block.nether_wart.break"));
+
+ /**
+ * {@code minecraft:block.nether_wood.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_BREAK = create(key("block.nether_wood.break"));
+
+ /**
+ * {@code minecraft:block.nether_wood.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_FALL = create(key("block.nether_wood.fall"));
+
+ /**
+ * {@code minecraft:block.nether_wood.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_HIT = create(key("block.nether_wood.hit"));
+
+ /**
+ * {@code minecraft:block.nether_wood.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_PLACE = create(key("block.nether_wood.place"));
+
+ /**
+ * {@code minecraft:block.nether_wood.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_STEP = create(key("block.nether_wood.step"));
+
+ /**
+ * {@code minecraft:block.nether_wood_button.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_BUTTON_CLICK_OFF = create(key("block.nether_wood_button.click_off"));
+
+ /**
+ * {@code minecraft:block.nether_wood_button.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_BUTTON_CLICK_ON = create(key("block.nether_wood_button.click_on"));
+
+ /**
+ * {@code minecraft:block.nether_wood_door.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_DOOR_CLOSE = create(key("block.nether_wood_door.close"));
+
+ /**
+ * {@code minecraft:block.nether_wood_door.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_DOOR_OPEN = create(key("block.nether_wood_door.open"));
+
+ /**
+ * {@code minecraft:block.nether_wood_fence_gate.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_FENCE_GATE_CLOSE = create(key("block.nether_wood_fence_gate.close"));
+
+ /**
+ * {@code minecraft:block.nether_wood_fence_gate.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_FENCE_GATE_OPEN = create(key("block.nether_wood_fence_gate.open"));
+
+ /**
+ * {@code minecraft:block.nether_wood_hanging_sign.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_HANGING_SIGN_BREAK = create(key("block.nether_wood_hanging_sign.break"));
+
+ /**
+ * {@code minecraft:block.nether_wood_hanging_sign.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_HANGING_SIGN_FALL = create(key("block.nether_wood_hanging_sign.fall"));
+
+ /**
+ * {@code minecraft:block.nether_wood_hanging_sign.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_HANGING_SIGN_HIT = create(key("block.nether_wood_hanging_sign.hit"));
+
+ /**
+ * {@code minecraft:block.nether_wood_hanging_sign.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_HANGING_SIGN_PLACE = create(key("block.nether_wood_hanging_sign.place"));
+
+ /**
+ * {@code minecraft:block.nether_wood_hanging_sign.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_HANGING_SIGN_STEP = create(key("block.nether_wood_hanging_sign.step"));
+
+ /**
+ * {@code minecraft:block.nether_wood_pressure_plate.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_PRESSURE_PLATE_CLICK_OFF = create(key("block.nether_wood_pressure_plate.click_off"));
+
+ /**
+ * {@code minecraft:block.nether_wood_pressure_plate.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_PRESSURE_PLATE_CLICK_ON = create(key("block.nether_wood_pressure_plate.click_on"));
+
+ /**
+ * {@code minecraft:block.nether_wood_trapdoor.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_TRAPDOOR_CLOSE = create(key("block.nether_wood_trapdoor.close"));
+
+ /**
+ * {@code minecraft:block.nether_wood_trapdoor.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHER_WOOD_TRAPDOOR_OPEN = create(key("block.nether_wood_trapdoor.open"));
+
+ /**
+ * {@code minecraft:block.netherite_block.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERITE_BLOCK_BREAK = create(key("block.netherite_block.break"));
+
+ /**
+ * {@code minecraft:block.netherite_block.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERITE_BLOCK_FALL = create(key("block.netherite_block.fall"));
+
+ /**
+ * {@code minecraft:block.netherite_block.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERITE_BLOCK_HIT = create(key("block.netherite_block.hit"));
+
+ /**
+ * {@code minecraft:block.netherite_block.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERITE_BLOCK_PLACE = create(key("block.netherite_block.place"));
+
+ /**
+ * {@code minecraft:block.netherite_block.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERITE_BLOCK_STEP = create(key("block.netherite_block.step"));
+
+ /**
+ * {@code minecraft:block.netherrack.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERRACK_BREAK = create(key("block.netherrack.break"));
+
+ /**
+ * {@code minecraft:block.netherrack.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERRACK_FALL = create(key("block.netherrack.fall"));
+
+ /**
+ * {@code minecraft:block.netherrack.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERRACK_HIT = create(key("block.netherrack.hit"));
+
+ /**
+ * {@code minecraft:block.netherrack.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERRACK_PLACE = create(key("block.netherrack.place"));
+
+ /**
+ * {@code minecraft:block.netherrack.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NETHERRACK_STEP = create(key("block.netherrack.step"));
+
+ /**
+ * {@code minecraft:block.note_block.banjo}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_BANJO = create(key("block.note_block.banjo"));
+
+ /**
+ * {@code minecraft:block.note_block.basedrum}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_BASEDRUM = create(key("block.note_block.basedrum"));
+
+ /**
+ * {@code minecraft:block.note_block.bass}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_BASS = create(key("block.note_block.bass"));
+
+ /**
+ * {@code minecraft:block.note_block.bell}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_BELL = create(key("block.note_block.bell"));
+
+ /**
+ * {@code minecraft:block.note_block.bit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_BIT = create(key("block.note_block.bit"));
+
+ /**
+ * {@code minecraft:block.note_block.chime}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_CHIME = create(key("block.note_block.chime"));
+
+ /**
+ * {@code minecraft:block.note_block.cow_bell}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_COW_BELL = create(key("block.note_block.cow_bell"));
+
+ /**
+ * {@code minecraft:block.note_block.didgeridoo}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_DIDGERIDOO = create(key("block.note_block.didgeridoo"));
+
+ /**
+ * {@code minecraft:block.note_block.flute}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_FLUTE = create(key("block.note_block.flute"));
+
+ /**
+ * {@code minecraft:block.note_block.guitar}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_GUITAR = create(key("block.note_block.guitar"));
+
+ /**
+ * {@code minecraft:block.note_block.harp}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_HARP = create(key("block.note_block.harp"));
+
+ /**
+ * {@code minecraft:block.note_block.hat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_HAT = create(key("block.note_block.hat"));
+
+ /**
+ * {@code minecraft:block.note_block.imitate.creeper}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_IMITATE_CREEPER = create(key("block.note_block.imitate.creeper"));
+
+ /**
+ * {@code minecraft:block.note_block.imitate.ender_dragon}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_IMITATE_ENDER_DRAGON = create(key("block.note_block.imitate.ender_dragon"));
+
+ /**
+ * {@code minecraft:block.note_block.imitate.piglin}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_IMITATE_PIGLIN = create(key("block.note_block.imitate.piglin"));
+
+ /**
+ * {@code minecraft:block.note_block.imitate.skeleton}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_IMITATE_SKELETON = create(key("block.note_block.imitate.skeleton"));
+
+ /**
+ * {@code minecraft:block.note_block.imitate.wither_skeleton}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_IMITATE_WITHER_SKELETON = create(key("block.note_block.imitate.wither_skeleton"));
+
+ /**
+ * {@code minecraft:block.note_block.imitate.zombie}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_IMITATE_ZOMBIE = create(key("block.note_block.imitate.zombie"));
+
+ /**
+ * {@code minecraft:block.note_block.iron_xylophone}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_IRON_XYLOPHONE = create(key("block.note_block.iron_xylophone"));
+
+ /**
+ * {@code minecraft:block.note_block.pling}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_PLING = create(key("block.note_block.pling"));
+
+ /**
+ * {@code minecraft:block.note_block.snare}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_SNARE = create(key("block.note_block.snare"));
+
+ /**
+ * {@code minecraft:block.note_block.xylophone}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NOTE_BLOCK_XYLOPHONE = create(key("block.note_block.xylophone"));
+
+ /**
+ * {@code minecraft:block.nylium.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NYLIUM_BREAK = create(key("block.nylium.break"));
+
+ /**
+ * {@code minecraft:block.nylium.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NYLIUM_FALL = create(key("block.nylium.fall"));
+
+ /**
+ * {@code minecraft:block.nylium.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NYLIUM_HIT = create(key("block.nylium.hit"));
+
+ /**
+ * {@code minecraft:block.nylium.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NYLIUM_PLACE = create(key("block.nylium.place"));
+
+ /**
+ * {@code minecraft:block.nylium.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_NYLIUM_STEP = create(key("block.nylium.step"));
+
+ /**
+ * {@code minecraft:block.packed_mud.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PACKED_MUD_BREAK = create(key("block.packed_mud.break"));
+
+ /**
+ * {@code minecraft:block.packed_mud.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PACKED_MUD_FALL = create(key("block.packed_mud.fall"));
+
+ /**
+ * {@code minecraft:block.packed_mud.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PACKED_MUD_HIT = create(key("block.packed_mud.hit"));
+
+ /**
+ * {@code minecraft:block.packed_mud.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PACKED_MUD_PLACE = create(key("block.packed_mud.place"));
+
+ /**
+ * {@code minecraft:block.packed_mud.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PACKED_MUD_STEP = create(key("block.packed_mud.step"));
+
+ /**
+ * {@code minecraft:block.pale_hanging_moss.idle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PALE_HANGING_MOSS_IDLE = create(key("block.pale_hanging_moss.idle"));
+
+ /**
+ * {@code minecraft:block.pink_petals.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PINK_PETALS_BREAK = create(key("block.pink_petals.break"));
+
+ /**
+ * {@code minecraft:block.pink_petals.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PINK_PETALS_FALL = create(key("block.pink_petals.fall"));
+
+ /**
+ * {@code minecraft:block.pink_petals.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PINK_PETALS_HIT = create(key("block.pink_petals.hit"));
+
+ /**
+ * {@code minecraft:block.pink_petals.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PINK_PETALS_PLACE = create(key("block.pink_petals.place"));
+
+ /**
+ * {@code minecraft:block.pink_petals.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PINK_PETALS_STEP = create(key("block.pink_petals.step"));
+
+ /**
+ * {@code minecraft:block.piston.contract}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PISTON_CONTRACT = create(key("block.piston.contract"));
+
+ /**
+ * {@code minecraft:block.piston.extend}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PISTON_EXTEND = create(key("block.piston.extend"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_BREAK = create(key("block.pointed_dripstone.break"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.drip_lava}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_DRIP_LAVA = create(key("block.pointed_dripstone.drip_lava"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.drip_lava_into_cauldron}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_DRIP_LAVA_INTO_CAULDRON = create(key("block.pointed_dripstone.drip_lava_into_cauldron"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.drip_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_DRIP_WATER = create(key("block.pointed_dripstone.drip_water"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.drip_water_into_cauldron}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_DRIP_WATER_INTO_CAULDRON = create(key("block.pointed_dripstone.drip_water_into_cauldron"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_FALL = create(key("block.pointed_dripstone.fall"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_HIT = create(key("block.pointed_dripstone.hit"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_LAND = create(key("block.pointed_dripstone.land"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_PLACE = create(key("block.pointed_dripstone.place"));
+
+ /**
+ * {@code minecraft:block.pointed_dripstone.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POINTED_DRIPSTONE_STEP = create(key("block.pointed_dripstone.step"));
+
+ /**
+ * {@code minecraft:block.polished_deepslate.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_DEEPSLATE_BREAK = create(key("block.polished_deepslate.break"));
+
+ /**
+ * {@code minecraft:block.polished_deepslate.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_DEEPSLATE_FALL = create(key("block.polished_deepslate.fall"));
+
+ /**
+ * {@code minecraft:block.polished_deepslate.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_DEEPSLATE_HIT = create(key("block.polished_deepslate.hit"));
+
+ /**
+ * {@code minecraft:block.polished_deepslate.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_DEEPSLATE_PLACE = create(key("block.polished_deepslate.place"));
+
+ /**
+ * {@code minecraft:block.polished_deepslate.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_DEEPSLATE_STEP = create(key("block.polished_deepslate.step"));
+
+ /**
+ * {@code minecraft:block.polished_tuff.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_TUFF_BREAK = create(key("block.polished_tuff.break"));
+
+ /**
+ * {@code minecraft:block.polished_tuff.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_TUFF_FALL = create(key("block.polished_tuff.fall"));
+
+ /**
+ * {@code minecraft:block.polished_tuff.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_TUFF_HIT = create(key("block.polished_tuff.hit"));
+
+ /**
+ * {@code minecraft:block.polished_tuff.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_TUFF_PLACE = create(key("block.polished_tuff.place"));
+
+ /**
+ * {@code minecraft:block.polished_tuff.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POLISHED_TUFF_STEP = create(key("block.polished_tuff.step"));
+
+ /**
+ * {@code minecraft:block.portal.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PORTAL_AMBIENT = create(key("block.portal.ambient"));
+
+ /**
+ * {@code minecraft:block.portal.travel}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PORTAL_TRAVEL = create(key("block.portal.travel"));
+
+ /**
+ * {@code minecraft:block.portal.trigger}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PORTAL_TRIGGER = create(key("block.portal.trigger"));
+
+ /**
+ * {@code minecraft:block.powder_snow.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POWDER_SNOW_BREAK = create(key("block.powder_snow.break"));
+
+ /**
+ * {@code minecraft:block.powder_snow.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POWDER_SNOW_FALL = create(key("block.powder_snow.fall"));
+
+ /**
+ * {@code minecraft:block.powder_snow.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POWDER_SNOW_HIT = create(key("block.powder_snow.hit"));
+
+ /**
+ * {@code minecraft:block.powder_snow.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POWDER_SNOW_PLACE = create(key("block.powder_snow.place"));
+
+ /**
+ * {@code minecraft:block.powder_snow.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_POWDER_SNOW_STEP = create(key("block.powder_snow.step"));
+
+ /**
+ * {@code minecraft:block.pumpkin.carve}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_PUMPKIN_CARVE = create(key("block.pumpkin.carve"));
+
+ /**
+ * {@code minecraft:block.redstone_torch.burnout}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_REDSTONE_TORCH_BURNOUT = create(key("block.redstone_torch.burnout"));
+
+ /**
+ * {@code minecraft:block.respawn_anchor.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_RESPAWN_ANCHOR_AMBIENT = create(key("block.respawn_anchor.ambient"));
+
+ /**
+ * {@code minecraft:block.respawn_anchor.charge}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_RESPAWN_ANCHOR_CHARGE = create(key("block.respawn_anchor.charge"));
+
+ /**
+ * {@code minecraft:block.respawn_anchor.deplete}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_RESPAWN_ANCHOR_DEPLETE = create(key("block.respawn_anchor.deplete"));
+
+ /**
+ * {@code minecraft:block.respawn_anchor.set_spawn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_RESPAWN_ANCHOR_SET_SPAWN = create(key("block.respawn_anchor.set_spawn"));
+
+ /**
+ * {@code minecraft:block.rooted_dirt.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTED_DIRT_BREAK = create(key("block.rooted_dirt.break"));
+
+ /**
+ * {@code minecraft:block.rooted_dirt.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTED_DIRT_FALL = create(key("block.rooted_dirt.fall"));
+
+ /**
+ * {@code minecraft:block.rooted_dirt.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTED_DIRT_HIT = create(key("block.rooted_dirt.hit"));
+
+ /**
+ * {@code minecraft:block.rooted_dirt.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTED_DIRT_PLACE = create(key("block.rooted_dirt.place"));
+
+ /**
+ * {@code minecraft:block.rooted_dirt.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTED_DIRT_STEP = create(key("block.rooted_dirt.step"));
+
+ /**
+ * {@code minecraft:block.roots.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTS_BREAK = create(key("block.roots.break"));
+
+ /**
+ * {@code minecraft:block.roots.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTS_FALL = create(key("block.roots.fall"));
+
+ /**
+ * {@code minecraft:block.roots.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTS_HIT = create(key("block.roots.hit"));
+
+ /**
+ * {@code minecraft:block.roots.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTS_PLACE = create(key("block.roots.place"));
+
+ /**
+ * {@code minecraft:block.roots.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_ROOTS_STEP = create(key("block.roots.step"));
+
+ /**
+ * {@code minecraft:block.sand.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SAND_BREAK = create(key("block.sand.break"));
+
+ /**
+ * {@code minecraft:block.sand.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SAND_FALL = create(key("block.sand.fall"));
+
+ /**
+ * {@code minecraft:block.sand.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SAND_HIT = create(key("block.sand.hit"));
+
+ /**
+ * {@code minecraft:block.sand.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SAND_PLACE = create(key("block.sand.place"));
+
+ /**
+ * {@code minecraft:block.sand.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SAND_STEP = create(key("block.sand.step"));
+
+ /**
+ * {@code minecraft:block.scaffolding.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCAFFOLDING_BREAK = create(key("block.scaffolding.break"));
+
+ /**
+ * {@code minecraft:block.scaffolding.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCAFFOLDING_FALL = create(key("block.scaffolding.fall"));
+
+ /**
+ * {@code minecraft:block.scaffolding.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCAFFOLDING_HIT = create(key("block.scaffolding.hit"));
+
+ /**
+ * {@code minecraft:block.scaffolding.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCAFFOLDING_PLACE = create(key("block.scaffolding.place"));
+
+ /**
+ * {@code minecraft:block.scaffolding.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCAFFOLDING_STEP = create(key("block.scaffolding.step"));
+
+ /**
+ * {@code minecraft:block.sculk.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_BREAK = create(key("block.sculk.break"));
+
+ /**
+ * {@code minecraft:block.sculk.charge}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_CHARGE = create(key("block.sculk.charge"));
+
+ /**
+ * {@code minecraft:block.sculk.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_FALL = create(key("block.sculk.fall"));
+
+ /**
+ * {@code minecraft:block.sculk.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_HIT = create(key("block.sculk.hit"));
+
+ /**
+ * {@code minecraft:block.sculk.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_PLACE = create(key("block.sculk.place"));
+
+ /**
+ * {@code minecraft:block.sculk.spread}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SPREAD = create(key("block.sculk.spread"));
+
+ /**
+ * {@code minecraft:block.sculk.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_STEP = create(key("block.sculk.step"));
+
+ /**
+ * {@code minecraft:block.sculk_catalyst.bloom}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_CATALYST_BLOOM = create(key("block.sculk_catalyst.bloom"));
+
+ /**
+ * {@code minecraft:block.sculk_catalyst.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_CATALYST_BREAK = create(key("block.sculk_catalyst.break"));
+
+ /**
+ * {@code minecraft:block.sculk_catalyst.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_CATALYST_FALL = create(key("block.sculk_catalyst.fall"));
+
+ /**
+ * {@code minecraft:block.sculk_catalyst.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_CATALYST_HIT = create(key("block.sculk_catalyst.hit"));
+
+ /**
+ * {@code minecraft:block.sculk_catalyst.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_CATALYST_PLACE = create(key("block.sculk_catalyst.place"));
+
+ /**
+ * {@code minecraft:block.sculk_catalyst.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_CATALYST_STEP = create(key("block.sculk_catalyst.step"));
+
+ /**
+ * {@code minecraft:block.sculk_sensor.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SENSOR_BREAK = create(key("block.sculk_sensor.break"));
+
+ /**
+ * {@code minecraft:block.sculk_sensor.clicking}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SENSOR_CLICKING = create(key("block.sculk_sensor.clicking"));
+
+ /**
+ * {@code minecraft:block.sculk_sensor.clicking_stop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SENSOR_CLICKING_STOP = create(key("block.sculk_sensor.clicking_stop"));
+
+ /**
+ * {@code minecraft:block.sculk_sensor.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SENSOR_FALL = create(key("block.sculk_sensor.fall"));
+
+ /**
+ * {@code minecraft:block.sculk_sensor.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SENSOR_HIT = create(key("block.sculk_sensor.hit"));
+
+ /**
+ * {@code minecraft:block.sculk_sensor.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SENSOR_PLACE = create(key("block.sculk_sensor.place"));
+
+ /**
+ * {@code minecraft:block.sculk_sensor.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SENSOR_STEP = create(key("block.sculk_sensor.step"));
+
+ /**
+ * {@code minecraft:block.sculk_shrieker.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SHRIEKER_BREAK = create(key("block.sculk_shrieker.break"));
+
+ /**
+ * {@code minecraft:block.sculk_shrieker.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SHRIEKER_FALL = create(key("block.sculk_shrieker.fall"));
+
+ /**
+ * {@code minecraft:block.sculk_shrieker.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SHRIEKER_HIT = create(key("block.sculk_shrieker.hit"));
+
+ /**
+ * {@code minecraft:block.sculk_shrieker.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SHRIEKER_PLACE = create(key("block.sculk_shrieker.place"));
+
+ /**
+ * {@code minecraft:block.sculk_shrieker.shriek}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SHRIEKER_SHRIEK = create(key("block.sculk_shrieker.shriek"));
+
+ /**
+ * {@code minecraft:block.sculk_shrieker.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_SHRIEKER_STEP = create(key("block.sculk_shrieker.step"));
+
+ /**
+ * {@code minecraft:block.sculk_vein.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_VEIN_BREAK = create(key("block.sculk_vein.break"));
+
+ /**
+ * {@code minecraft:block.sculk_vein.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_VEIN_FALL = create(key("block.sculk_vein.fall"));
+
+ /**
+ * {@code minecraft:block.sculk_vein.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_VEIN_HIT = create(key("block.sculk_vein.hit"));
+
+ /**
+ * {@code minecraft:block.sculk_vein.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_VEIN_PLACE = create(key("block.sculk_vein.place"));
+
+ /**
+ * {@code minecraft:block.sculk_vein.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SCULK_VEIN_STEP = create(key("block.sculk_vein.step"));
+
+ /**
+ * {@code minecraft:block.shroomlight.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SHROOMLIGHT_BREAK = create(key("block.shroomlight.break"));
+
+ /**
+ * {@code minecraft:block.shroomlight.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SHROOMLIGHT_FALL = create(key("block.shroomlight.fall"));
+
+ /**
+ * {@code minecraft:block.shroomlight.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SHROOMLIGHT_HIT = create(key("block.shroomlight.hit"));
+
+ /**
+ * {@code minecraft:block.shroomlight.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SHROOMLIGHT_PLACE = create(key("block.shroomlight.place"));
+
+ /**
+ * {@code minecraft:block.shroomlight.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SHROOMLIGHT_STEP = create(key("block.shroomlight.step"));
+
+ /**
+ * {@code minecraft:block.shulker_box.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SHULKER_BOX_CLOSE = create(key("block.shulker_box.close"));
+
+ /**
+ * {@code minecraft:block.shulker_box.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SHULKER_BOX_OPEN = create(key("block.shulker_box.open"));
+
+ /**
+ * {@code minecraft:block.sign.waxed_interact_fail}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SIGN_WAXED_INTERACT_FAIL = create(key("block.sign.waxed_interact_fail"));
+
+ /**
+ * {@code minecraft:block.slime_block.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SLIME_BLOCK_BREAK = create(key("block.slime_block.break"));
+
+ /**
+ * {@code minecraft:block.slime_block.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SLIME_BLOCK_FALL = create(key("block.slime_block.fall"));
+
+ /**
+ * {@code minecraft:block.slime_block.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SLIME_BLOCK_HIT = create(key("block.slime_block.hit"));
+
+ /**
+ * {@code minecraft:block.slime_block.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SLIME_BLOCK_PLACE = create(key("block.slime_block.place"));
+
+ /**
+ * {@code minecraft:block.slime_block.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SLIME_BLOCK_STEP = create(key("block.slime_block.step"));
+
+ /**
+ * {@code minecraft:block.small_amethyst_bud.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SMALL_AMETHYST_BUD_BREAK = create(key("block.small_amethyst_bud.break"));
+
+ /**
+ * {@code minecraft:block.small_amethyst_bud.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SMALL_AMETHYST_BUD_PLACE = create(key("block.small_amethyst_bud.place"));
+
+ /**
+ * {@code minecraft:block.small_dripleaf.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SMALL_DRIPLEAF_BREAK = create(key("block.small_dripleaf.break"));
+
+ /**
+ * {@code minecraft:block.small_dripleaf.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SMALL_DRIPLEAF_FALL = create(key("block.small_dripleaf.fall"));
+
+ /**
+ * {@code minecraft:block.small_dripleaf.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SMALL_DRIPLEAF_HIT = create(key("block.small_dripleaf.hit"));
+
+ /**
+ * {@code minecraft:block.small_dripleaf.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SMALL_DRIPLEAF_PLACE = create(key("block.small_dripleaf.place"));
+
+ /**
+ * {@code minecraft:block.small_dripleaf.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SMALL_DRIPLEAF_STEP = create(key("block.small_dripleaf.step"));
+
+ /**
+ * {@code minecraft:block.smithing_table.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SMITHING_TABLE_USE = create(key("block.smithing_table.use"));
+
+ /**
+ * {@code minecraft:block.smoker.smoke}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SMOKER_SMOKE = create(key("block.smoker.smoke"));
+
+ /**
+ * {@code minecraft:block.sniffer_egg.crack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SNIFFER_EGG_CRACK = create(key("block.sniffer_egg.crack"));
+
+ /**
+ * {@code minecraft:block.sniffer_egg.hatch}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SNIFFER_EGG_HATCH = create(key("block.sniffer_egg.hatch"));
+
+ /**
+ * {@code minecraft:block.sniffer_egg.plop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SNIFFER_EGG_PLOP = create(key("block.sniffer_egg.plop"));
+
+ /**
+ * {@code minecraft:block.snow.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SNOW_BREAK = create(key("block.snow.break"));
+
+ /**
+ * {@code minecraft:block.snow.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SNOW_FALL = create(key("block.snow.fall"));
+
+ /**
+ * {@code minecraft:block.snow.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SNOW_HIT = create(key("block.snow.hit"));
+
+ /**
+ * {@code minecraft:block.snow.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SNOW_PLACE = create(key("block.snow.place"));
+
+ /**
+ * {@code minecraft:block.snow.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SNOW_STEP = create(key("block.snow.step"));
+
+ /**
+ * {@code minecraft:block.soul_sand.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SAND_BREAK = create(key("block.soul_sand.break"));
+
+ /**
+ * {@code minecraft:block.soul_sand.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SAND_FALL = create(key("block.soul_sand.fall"));
+
+ /**
+ * {@code minecraft:block.soul_sand.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SAND_HIT = create(key("block.soul_sand.hit"));
+
+ /**
+ * {@code minecraft:block.soul_sand.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SAND_PLACE = create(key("block.soul_sand.place"));
+
+ /**
+ * {@code minecraft:block.soul_sand.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SAND_STEP = create(key("block.soul_sand.step"));
+
+ /**
+ * {@code minecraft:block.soul_soil.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SOIL_BREAK = create(key("block.soul_soil.break"));
+
+ /**
+ * {@code minecraft:block.soul_soil.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SOIL_FALL = create(key("block.soul_soil.fall"));
+
+ /**
+ * {@code minecraft:block.soul_soil.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SOIL_HIT = create(key("block.soul_soil.hit"));
+
+ /**
+ * {@code minecraft:block.soul_soil.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SOIL_PLACE = create(key("block.soul_soil.place"));
+
+ /**
+ * {@code minecraft:block.soul_soil.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SOUL_SOIL_STEP = create(key("block.soul_soil.step"));
+
+ /**
+ * {@code minecraft:block.spawner.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPAWNER_BREAK = create(key("block.spawner.break"));
+
+ /**
+ * {@code minecraft:block.spawner.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPAWNER_FALL = create(key("block.spawner.fall"));
+
+ /**
+ * {@code minecraft:block.spawner.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPAWNER_HIT = create(key("block.spawner.hit"));
+
+ /**
+ * {@code minecraft:block.spawner.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPAWNER_PLACE = create(key("block.spawner.place"));
+
+ /**
+ * {@code minecraft:block.spawner.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPAWNER_STEP = create(key("block.spawner.step"));
+
+ /**
+ * {@code minecraft:block.sponge.absorb}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPONGE_ABSORB = create(key("block.sponge.absorb"));
+
+ /**
+ * {@code minecraft:block.sponge.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPONGE_BREAK = create(key("block.sponge.break"));
+
+ /**
+ * {@code minecraft:block.sponge.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPONGE_FALL = create(key("block.sponge.fall"));
+
+ /**
+ * {@code minecraft:block.sponge.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPONGE_HIT = create(key("block.sponge.hit"));
+
+ /**
+ * {@code minecraft:block.sponge.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPONGE_PLACE = create(key("block.sponge.place"));
+
+ /**
+ * {@code minecraft:block.sponge.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPONGE_STEP = create(key("block.sponge.step"));
+
+ /**
+ * {@code minecraft:block.spore_blossom.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPORE_BLOSSOM_BREAK = create(key("block.spore_blossom.break"));
+
+ /**
+ * {@code minecraft:block.spore_blossom.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPORE_BLOSSOM_FALL = create(key("block.spore_blossom.fall"));
+
+ /**
+ * {@code minecraft:block.spore_blossom.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPORE_BLOSSOM_HIT = create(key("block.spore_blossom.hit"));
+
+ /**
+ * {@code minecraft:block.spore_blossom.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPORE_BLOSSOM_PLACE = create(key("block.spore_blossom.place"));
+
+ /**
+ * {@code minecraft:block.spore_blossom.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SPORE_BLOSSOM_STEP = create(key("block.spore_blossom.step"));
+
+ /**
+ * {@code minecraft:block.stem.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STEM_BREAK = create(key("block.stem.break"));
+
+ /**
+ * {@code minecraft:block.stem.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STEM_FALL = create(key("block.stem.fall"));
+
+ /**
+ * {@code minecraft:block.stem.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STEM_HIT = create(key("block.stem.hit"));
+
+ /**
+ * {@code minecraft:block.stem.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STEM_PLACE = create(key("block.stem.place"));
+
+ /**
+ * {@code minecraft:block.stem.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STEM_STEP = create(key("block.stem.step"));
+
+ /**
+ * {@code minecraft:block.stone.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STONE_BREAK = create(key("block.stone.break"));
+
+ /**
+ * {@code minecraft:block.stone.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STONE_FALL = create(key("block.stone.fall"));
+
+ /**
+ * {@code minecraft:block.stone.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STONE_HIT = create(key("block.stone.hit"));
+
+ /**
+ * {@code minecraft:block.stone.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STONE_PLACE = create(key("block.stone.place"));
+
+ /**
+ * {@code minecraft:block.stone.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STONE_STEP = create(key("block.stone.step"));
+
+ /**
+ * {@code minecraft:block.stone_button.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STONE_BUTTON_CLICK_OFF = create(key("block.stone_button.click_off"));
+
+ /**
+ * {@code minecraft:block.stone_button.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STONE_BUTTON_CLICK_ON = create(key("block.stone_button.click_on"));
+
+ /**
+ * {@code minecraft:block.stone_pressure_plate.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STONE_PRESSURE_PLATE_CLICK_OFF = create(key("block.stone_pressure_plate.click_off"));
+
+ /**
+ * {@code minecraft:block.stone_pressure_plate.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_STONE_PRESSURE_PLATE_CLICK_ON = create(key("block.stone_pressure_plate.click_on"));
+
+ /**
+ * {@code minecraft:block.suspicious_gravel.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_GRAVEL_BREAK = create(key("block.suspicious_gravel.break"));
+
+ /**
+ * {@code minecraft:block.suspicious_gravel.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_GRAVEL_FALL = create(key("block.suspicious_gravel.fall"));
+
+ /**
+ * {@code minecraft:block.suspicious_gravel.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_GRAVEL_HIT = create(key("block.suspicious_gravel.hit"));
+
+ /**
+ * {@code minecraft:block.suspicious_gravel.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_GRAVEL_PLACE = create(key("block.suspicious_gravel.place"));
+
+ /**
+ * {@code minecraft:block.suspicious_gravel.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_GRAVEL_STEP = create(key("block.suspicious_gravel.step"));
+
+ /**
+ * {@code minecraft:block.suspicious_sand.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_SAND_BREAK = create(key("block.suspicious_sand.break"));
+
+ /**
+ * {@code minecraft:block.suspicious_sand.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_SAND_FALL = create(key("block.suspicious_sand.fall"));
+
+ /**
+ * {@code minecraft:block.suspicious_sand.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_SAND_HIT = create(key("block.suspicious_sand.hit"));
+
+ /**
+ * {@code minecraft:block.suspicious_sand.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_SAND_PLACE = create(key("block.suspicious_sand.place"));
+
+ /**
+ * {@code minecraft:block.suspicious_sand.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SUSPICIOUS_SAND_STEP = create(key("block.suspicious_sand.step"));
+
+ /**
+ * {@code minecraft:block.sweet_berry_bush.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SWEET_BERRY_BUSH_BREAK = create(key("block.sweet_berry_bush.break"));
+
+ /**
+ * {@code minecraft:block.sweet_berry_bush.pick_berries}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SWEET_BERRY_BUSH_PICK_BERRIES = create(key("block.sweet_berry_bush.pick_berries"));
+
+ /**
+ * {@code minecraft:block.sweet_berry_bush.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_SWEET_BERRY_BUSH_PLACE = create(key("block.sweet_berry_bush.place"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.about_to_spawn_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_ABOUT_TO_SPAWN_ITEM = create(key("block.trial_spawner.about_to_spawn_item"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_AMBIENT = create(key("block.trial_spawner.ambient"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.ambient_ominous}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_AMBIENT_OMINOUS = create(key("block.trial_spawner.ambient_ominous"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_BREAK = create(key("block.trial_spawner.break"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.close_shutter}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_CLOSE_SHUTTER = create(key("block.trial_spawner.close_shutter"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.detect_player}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_DETECT_PLAYER = create(key("block.trial_spawner.detect_player"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.eject_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_EJECT_ITEM = create(key("block.trial_spawner.eject_item"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_FALL = create(key("block.trial_spawner.fall"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_HIT = create(key("block.trial_spawner.hit"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.ominous_activate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_OMINOUS_ACTIVATE = create(key("block.trial_spawner.ominous_activate"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.open_shutter}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_OPEN_SHUTTER = create(key("block.trial_spawner.open_shutter"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_PLACE = create(key("block.trial_spawner.place"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.spawn_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_SPAWN_ITEM = create(key("block.trial_spawner.spawn_item"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.spawn_item_begin}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_SPAWN_ITEM_BEGIN = create(key("block.trial_spawner.spawn_item_begin"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.spawn_mob}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_SPAWN_MOB = create(key("block.trial_spawner.spawn_mob"));
+
+ /**
+ * {@code minecraft:block.trial_spawner.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIAL_SPAWNER_STEP = create(key("block.trial_spawner.step"));
+
+ /**
+ * {@code minecraft:block.tripwire.attach}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIPWIRE_ATTACH = create(key("block.tripwire.attach"));
+
+ /**
+ * {@code minecraft:block.tripwire.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIPWIRE_CLICK_OFF = create(key("block.tripwire.click_off"));
+
+ /**
+ * {@code minecraft:block.tripwire.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIPWIRE_CLICK_ON = create(key("block.tripwire.click_on"));
+
+ /**
+ * {@code minecraft:block.tripwire.detach}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TRIPWIRE_DETACH = create(key("block.tripwire.detach"));
+
+ /**
+ * {@code minecraft:block.tuff.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_BREAK = create(key("block.tuff.break"));
+
+ /**
+ * {@code minecraft:block.tuff.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_FALL = create(key("block.tuff.fall"));
+
+ /**
+ * {@code minecraft:block.tuff.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_HIT = create(key("block.tuff.hit"));
+
+ /**
+ * {@code minecraft:block.tuff.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_PLACE = create(key("block.tuff.place"));
+
+ /**
+ * {@code minecraft:block.tuff.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_STEP = create(key("block.tuff.step"));
+
+ /**
+ * {@code minecraft:block.tuff_bricks.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_BRICKS_BREAK = create(key("block.tuff_bricks.break"));
+
+ /**
+ * {@code minecraft:block.tuff_bricks.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_BRICKS_FALL = create(key("block.tuff_bricks.fall"));
+
+ /**
+ * {@code minecraft:block.tuff_bricks.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_BRICKS_HIT = create(key("block.tuff_bricks.hit"));
+
+ /**
+ * {@code minecraft:block.tuff_bricks.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_BRICKS_PLACE = create(key("block.tuff_bricks.place"));
+
+ /**
+ * {@code minecraft:block.tuff_bricks.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_TUFF_BRICKS_STEP = create(key("block.tuff_bricks.step"));
+
+ /**
+ * {@code minecraft:block.vault.activate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_ACTIVATE = create(key("block.vault.activate"));
+
+ /**
+ * {@code minecraft:block.vault.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_AMBIENT = create(key("block.vault.ambient"));
+
+ /**
+ * {@code minecraft:block.vault.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_BREAK = create(key("block.vault.break"));
+
+ /**
+ * {@code minecraft:block.vault.close_shutter}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_CLOSE_SHUTTER = create(key("block.vault.close_shutter"));
+
+ /**
+ * {@code minecraft:block.vault.deactivate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_DEACTIVATE = create(key("block.vault.deactivate"));
+
+ /**
+ * {@code minecraft:block.vault.eject_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_EJECT_ITEM = create(key("block.vault.eject_item"));
+
+ /**
+ * {@code minecraft:block.vault.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_FALL = create(key("block.vault.fall"));
+
+ /**
+ * {@code minecraft:block.vault.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_HIT = create(key("block.vault.hit"));
+
+ /**
+ * {@code minecraft:block.vault.insert_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_INSERT_ITEM = create(key("block.vault.insert_item"));
+
+ /**
+ * {@code minecraft:block.vault.insert_item_fail}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_INSERT_ITEM_FAIL = create(key("block.vault.insert_item_fail"));
+
+ /**
+ * {@code minecraft:block.vault.open_shutter}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_OPEN_SHUTTER = create(key("block.vault.open_shutter"));
+
+ /**
+ * {@code minecraft:block.vault.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_PLACE = create(key("block.vault.place"));
+
+ /**
+ * {@code minecraft:block.vault.reject_rewarded_player}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_REJECT_REWARDED_PLAYER = create(key("block.vault.reject_rewarded_player"));
+
+ /**
+ * {@code minecraft:block.vault.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VAULT_STEP = create(key("block.vault.step"));
+
+ /**
+ * {@code minecraft:block.vine.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VINE_BREAK = create(key("block.vine.break"));
+
+ /**
+ * {@code minecraft:block.vine.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VINE_FALL = create(key("block.vine.fall"));
+
+ /**
+ * {@code minecraft:block.vine.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VINE_HIT = create(key("block.vine.hit"));
+
+ /**
+ * {@code minecraft:block.vine.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VINE_PLACE = create(key("block.vine.place"));
+
+ /**
+ * {@code minecraft:block.vine.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_VINE_STEP = create(key("block.vine.step"));
+
+ /**
+ * {@code minecraft:block.wart_block.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WART_BLOCK_BREAK = create(key("block.wart_block.break"));
+
+ /**
+ * {@code minecraft:block.wart_block.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WART_BLOCK_FALL = create(key("block.wart_block.fall"));
+
+ /**
+ * {@code minecraft:block.wart_block.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WART_BLOCK_HIT = create(key("block.wart_block.hit"));
+
+ /**
+ * {@code minecraft:block.wart_block.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WART_BLOCK_PLACE = create(key("block.wart_block.place"));
+
+ /**
+ * {@code minecraft:block.wart_block.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WART_BLOCK_STEP = create(key("block.wart_block.step"));
+
+ /**
+ * {@code minecraft:block.water.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WATER_AMBIENT = create(key("block.water.ambient"));
+
+ /**
+ * {@code minecraft:block.weeping_vines.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WEEPING_VINES_BREAK = create(key("block.weeping_vines.break"));
+
+ /**
+ * {@code minecraft:block.weeping_vines.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WEEPING_VINES_FALL = create(key("block.weeping_vines.fall"));
+
+ /**
+ * {@code minecraft:block.weeping_vines.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WEEPING_VINES_HIT = create(key("block.weeping_vines.hit"));
+
+ /**
+ * {@code minecraft:block.weeping_vines.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WEEPING_VINES_PLACE = create(key("block.weeping_vines.place"));
+
+ /**
+ * {@code minecraft:block.weeping_vines.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WEEPING_VINES_STEP = create(key("block.weeping_vines.step"));
+
+ /**
+ * {@code minecraft:block.wet_grass.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_GRASS_BREAK = create(key("block.wet_grass.break"));
+
+ /**
+ * {@code minecraft:block.wet_grass.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_GRASS_FALL = create(key("block.wet_grass.fall"));
+
+ /**
+ * {@code minecraft:block.wet_grass.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_GRASS_HIT = create(key("block.wet_grass.hit"));
+
+ /**
+ * {@code minecraft:block.wet_grass.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_GRASS_PLACE = create(key("block.wet_grass.place"));
+
+ /**
+ * {@code minecraft:block.wet_grass.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_GRASS_STEP = create(key("block.wet_grass.step"));
+
+ /**
+ * {@code minecraft:block.wet_sponge.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_SPONGE_BREAK = create(key("block.wet_sponge.break"));
+
+ /**
+ * {@code minecraft:block.wet_sponge.dries}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_SPONGE_DRIES = create(key("block.wet_sponge.dries"));
+
+ /**
+ * {@code minecraft:block.wet_sponge.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_SPONGE_FALL = create(key("block.wet_sponge.fall"));
+
+ /**
+ * {@code minecraft:block.wet_sponge.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_SPONGE_HIT = create(key("block.wet_sponge.hit"));
+
+ /**
+ * {@code minecraft:block.wet_sponge.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_SPONGE_PLACE = create(key("block.wet_sponge.place"));
+
+ /**
+ * {@code minecraft:block.wet_sponge.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WET_SPONGE_STEP = create(key("block.wet_sponge.step"));
+
+ /**
+ * {@code minecraft:block.wood.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOD_BREAK = create(key("block.wood.break"));
+
+ /**
+ * {@code minecraft:block.wood.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOD_FALL = create(key("block.wood.fall"));
+
+ /**
+ * {@code minecraft:block.wood.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOD_HIT = create(key("block.wood.hit"));
+
+ /**
+ * {@code minecraft:block.wood.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOD_PLACE = create(key("block.wood.place"));
+
+ /**
+ * {@code minecraft:block.wood.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOD_STEP = create(key("block.wood.step"));
+
+ /**
+ * {@code minecraft:block.wooden_button.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOODEN_BUTTON_CLICK_OFF = create(key("block.wooden_button.click_off"));
+
+ /**
+ * {@code minecraft:block.wooden_button.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOODEN_BUTTON_CLICK_ON = create(key("block.wooden_button.click_on"));
+
+ /**
+ * {@code minecraft:block.wooden_door.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOODEN_DOOR_CLOSE = create(key("block.wooden_door.close"));
+
+ /**
+ * {@code minecraft:block.wooden_door.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOODEN_DOOR_OPEN = create(key("block.wooden_door.open"));
+
+ /**
+ * {@code minecraft:block.wooden_pressure_plate.click_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOODEN_PRESSURE_PLATE_CLICK_OFF = create(key("block.wooden_pressure_plate.click_off"));
+
+ /**
+ * {@code minecraft:block.wooden_pressure_plate.click_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOODEN_PRESSURE_PLATE_CLICK_ON = create(key("block.wooden_pressure_plate.click_on"));
+
+ /**
+ * {@code minecraft:block.wooden_trapdoor.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOODEN_TRAPDOOR_CLOSE = create(key("block.wooden_trapdoor.close"));
+
+ /**
+ * {@code minecraft:block.wooden_trapdoor.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOODEN_TRAPDOOR_OPEN = create(key("block.wooden_trapdoor.open"));
+
+ /**
+ * {@code minecraft:block.wool.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOL_BREAK = create(key("block.wool.break"));
+
+ /**
+ * {@code minecraft:block.wool.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOL_FALL = create(key("block.wool.fall"));
+
+ /**
+ * {@code minecraft:block.wool.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOL_HIT = create(key("block.wool.hit"));
+
+ /**
+ * {@code minecraft:block.wool.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOL_PLACE = create(key("block.wool.place"));
+
+ /**
+ * {@code minecraft:block.wool.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> BLOCK_WOOL_STEP = create(key("block.wool.step"));
+
+ /**
+ * {@code minecraft:enchant.thorns.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENCHANT_THORNS_HIT = create(key("enchant.thorns.hit"));
+
+ /**
+ * {@code minecraft:entity.allay.ambient_with_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ALLAY_AMBIENT_WITH_ITEM = create(key("entity.allay.ambient_with_item"));
+
+ /**
+ * {@code minecraft:entity.allay.ambient_without_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ALLAY_AMBIENT_WITHOUT_ITEM = create(key("entity.allay.ambient_without_item"));
+
+ /**
+ * {@code minecraft:entity.allay.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ALLAY_DEATH = create(key("entity.allay.death"));
+
+ /**
+ * {@code minecraft:entity.allay.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ALLAY_HURT = create(key("entity.allay.hurt"));
+
+ /**
+ * {@code minecraft:entity.allay.item_given}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ALLAY_ITEM_GIVEN = create(key("entity.allay.item_given"));
+
+ /**
+ * {@code minecraft:entity.allay.item_taken}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ALLAY_ITEM_TAKEN = create(key("entity.allay.item_taken"));
+
+ /**
+ * {@code minecraft:entity.allay.item_thrown}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ALLAY_ITEM_THROWN = create(key("entity.allay.item_thrown"));
+
+ /**
+ * {@code minecraft:entity.armadillo.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_AMBIENT = create(key("entity.armadillo.ambient"));
+
+ /**
+ * {@code minecraft:entity.armadillo.brush}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_BRUSH = create(key("entity.armadillo.brush"));
+
+ /**
+ * {@code minecraft:entity.armadillo.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_DEATH = create(key("entity.armadillo.death"));
+
+ /**
+ * {@code minecraft:entity.armadillo.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_EAT = create(key("entity.armadillo.eat"));
+
+ /**
+ * {@code minecraft:entity.armadillo.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_HURT = create(key("entity.armadillo.hurt"));
+
+ /**
+ * {@code minecraft:entity.armadillo.hurt_reduced}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_HURT_REDUCED = create(key("entity.armadillo.hurt_reduced"));
+
+ /**
+ * {@code minecraft:entity.armadillo.land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_LAND = create(key("entity.armadillo.land"));
+
+ /**
+ * {@code minecraft:entity.armadillo.peek}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_PEEK = create(key("entity.armadillo.peek"));
+
+ /**
+ * {@code minecraft:entity.armadillo.roll}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_ROLL = create(key("entity.armadillo.roll"));
+
+ /**
+ * {@code minecraft:entity.armadillo.scute_drop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_SCUTE_DROP = create(key("entity.armadillo.scute_drop"));
+
+ /**
+ * {@code minecraft:entity.armadillo.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_STEP = create(key("entity.armadillo.step"));
+
+ /**
+ * {@code minecraft:entity.armadillo.unroll_finish}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_UNROLL_FINISH = create(key("entity.armadillo.unroll_finish"));
+
+ /**
+ * {@code minecraft:entity.armadillo.unroll_start}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMADILLO_UNROLL_START = create(key("entity.armadillo.unroll_start"));
+
+ /**
+ * {@code minecraft:entity.armor_stand.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMOR_STAND_BREAK = create(key("entity.armor_stand.break"));
+
+ /**
+ * {@code minecraft:entity.armor_stand.fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMOR_STAND_FALL = create(key("entity.armor_stand.fall"));
+
+ /**
+ * {@code minecraft:entity.armor_stand.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMOR_STAND_HIT = create(key("entity.armor_stand.hit"));
+
+ /**
+ * {@code minecraft:entity.armor_stand.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARMOR_STAND_PLACE = create(key("entity.armor_stand.place"));
+
+ /**
+ * {@code minecraft:entity.arrow.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARROW_HIT = create(key("entity.arrow.hit"));
+
+ /**
+ * {@code minecraft:entity.arrow.hit_player}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARROW_HIT_PLAYER = create(key("entity.arrow.hit_player"));
+
+ /**
+ * {@code minecraft:entity.arrow.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ARROW_SHOOT = create(key("entity.arrow.shoot"));
+
+ /**
+ * {@code minecraft:entity.axolotl.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_AXOLOTL_ATTACK = create(key("entity.axolotl.attack"));
+
+ /**
+ * {@code minecraft:entity.axolotl.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_AXOLOTL_DEATH = create(key("entity.axolotl.death"));
+
+ /**
+ * {@code minecraft:entity.axolotl.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_AXOLOTL_HURT = create(key("entity.axolotl.hurt"));
+
+ /**
+ * {@code minecraft:entity.axolotl.idle_air}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_AXOLOTL_IDLE_AIR = create(key("entity.axolotl.idle_air"));
+
+ /**
+ * {@code minecraft:entity.axolotl.idle_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_AXOLOTL_IDLE_WATER = create(key("entity.axolotl.idle_water"));
+
+ /**
+ * {@code minecraft:entity.axolotl.splash}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_AXOLOTL_SPLASH = create(key("entity.axolotl.splash"));
+
+ /**
+ * {@code minecraft:entity.axolotl.swim}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_AXOLOTL_SWIM = create(key("entity.axolotl.swim"));
+
+ /**
+ * {@code minecraft:entity.bat.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BAT_AMBIENT = create(key("entity.bat.ambient"));
+
+ /**
+ * {@code minecraft:entity.bat.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BAT_DEATH = create(key("entity.bat.death"));
+
+ /**
+ * {@code minecraft:entity.bat.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BAT_HURT = create(key("entity.bat.hurt"));
+
+ /**
+ * {@code minecraft:entity.bat.loop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BAT_LOOP = create(key("entity.bat.loop"));
+
+ /**
+ * {@code minecraft:entity.bat.takeoff}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BAT_TAKEOFF = create(key("entity.bat.takeoff"));
+
+ /**
+ * {@code minecraft:entity.bee.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BEE_DEATH = create(key("entity.bee.death"));
+
+ /**
+ * {@code minecraft:entity.bee.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BEE_HURT = create(key("entity.bee.hurt"));
+
+ /**
+ * {@code minecraft:entity.bee.loop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BEE_LOOP = create(key("entity.bee.loop"));
+
+ /**
+ * {@code minecraft:entity.bee.loop_aggressive}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BEE_LOOP_AGGRESSIVE = create(key("entity.bee.loop_aggressive"));
+
+ /**
+ * {@code minecraft:entity.bee.pollinate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BEE_POLLINATE = create(key("entity.bee.pollinate"));
+
+ /**
+ * {@code minecraft:entity.bee.sting}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BEE_STING = create(key("entity.bee.sting"));
+
+ /**
+ * {@code minecraft:entity.blaze.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BLAZE_AMBIENT = create(key("entity.blaze.ambient"));
+
+ /**
+ * {@code minecraft:entity.blaze.burn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BLAZE_BURN = create(key("entity.blaze.burn"));
+
+ /**
+ * {@code minecraft:entity.blaze.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BLAZE_DEATH = create(key("entity.blaze.death"));
+
+ /**
+ * {@code minecraft:entity.blaze.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BLAZE_HURT = create(key("entity.blaze.hurt"));
+
+ /**
+ * {@code minecraft:entity.blaze.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BLAZE_SHOOT = create(key("entity.blaze.shoot"));
+
+ /**
+ * {@code minecraft:entity.boat.paddle_land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BOAT_PADDLE_LAND = create(key("entity.boat.paddle_land"));
+
+ /**
+ * {@code minecraft:entity.boat.paddle_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BOAT_PADDLE_WATER = create(key("entity.boat.paddle_water"));
+
+ /**
+ * {@code minecraft:entity.bogged.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BOGGED_AMBIENT = create(key("entity.bogged.ambient"));
+
+ /**
+ * {@code minecraft:entity.bogged.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BOGGED_DEATH = create(key("entity.bogged.death"));
+
+ /**
+ * {@code minecraft:entity.bogged.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BOGGED_HURT = create(key("entity.bogged.hurt"));
+
+ /**
+ * {@code minecraft:entity.bogged.shear}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BOGGED_SHEAR = create(key("entity.bogged.shear"));
+
+ /**
+ * {@code minecraft:entity.bogged.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BOGGED_STEP = create(key("entity.bogged.step"));
+
+ /**
+ * {@code minecraft:entity.breeze.charge}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_CHARGE = create(key("entity.breeze.charge"));
+
+ /**
+ * {@code minecraft:entity.breeze.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_DEATH = create(key("entity.breeze.death"));
+
+ /**
+ * {@code minecraft:entity.breeze.deflect}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_DEFLECT = create(key("entity.breeze.deflect"));
+
+ /**
+ * {@code minecraft:entity.breeze.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_HURT = create(key("entity.breeze.hurt"));
+
+ /**
+ * {@code minecraft:entity.breeze.idle_air}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_IDLE_AIR = create(key("entity.breeze.idle_air"));
+
+ /**
+ * {@code minecraft:entity.breeze.idle_ground}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_IDLE_GROUND = create(key("entity.breeze.idle_ground"));
+
+ /**
+ * {@code minecraft:entity.breeze.inhale}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_INHALE = create(key("entity.breeze.inhale"));
+
+ /**
+ * {@code minecraft:entity.breeze.jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_JUMP = create(key("entity.breeze.jump"));
+
+ /**
+ * {@code minecraft:entity.breeze.land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_LAND = create(key("entity.breeze.land"));
+
+ /**
+ * {@code minecraft:entity.breeze.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_SHOOT = create(key("entity.breeze.shoot"));
+
+ /**
+ * {@code minecraft:entity.breeze.slide}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_SLIDE = create(key("entity.breeze.slide"));
+
+ /**
+ * {@code minecraft:entity.breeze.whirl}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_WHIRL = create(key("entity.breeze.whirl"));
+
+ /**
+ * {@code minecraft:entity.breeze.wind_burst}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_BREEZE_WIND_BURST = create(key("entity.breeze.wind_burst"));
+
+ /**
+ * {@code minecraft:entity.camel.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_AMBIENT = create(key("entity.camel.ambient"));
+
+ /**
+ * {@code minecraft:entity.camel.dash}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_DASH = create(key("entity.camel.dash"));
+
+ /**
+ * {@code minecraft:entity.camel.dash_ready}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_DASH_READY = create(key("entity.camel.dash_ready"));
+
+ /**
+ * {@code minecraft:entity.camel.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_DEATH = create(key("entity.camel.death"));
+
+ /**
+ * {@code minecraft:entity.camel.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_EAT = create(key("entity.camel.eat"));
+
+ /**
+ * {@code minecraft:entity.camel.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_HURT = create(key("entity.camel.hurt"));
+
+ /**
+ * {@code minecraft:entity.camel.saddle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_SADDLE = create(key("entity.camel.saddle"));
+
+ /**
+ * {@code minecraft:entity.camel.sit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_SIT = create(key("entity.camel.sit"));
+
+ /**
+ * {@code minecraft:entity.camel.stand}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_STAND = create(key("entity.camel.stand"));
+
+ /**
+ * {@code minecraft:entity.camel.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_STEP = create(key("entity.camel.step"));
+
+ /**
+ * {@code minecraft:entity.camel.step_sand}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAMEL_STEP_SAND = create(key("entity.camel.step_sand"));
+
+ /**
+ * {@code minecraft:entity.cat.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAT_AMBIENT = create(key("entity.cat.ambient"));
+
+ /**
+ * {@code minecraft:entity.cat.beg_for_food}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAT_BEG_FOR_FOOD = create(key("entity.cat.beg_for_food"));
+
+ /**
+ * {@code minecraft:entity.cat.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAT_DEATH = create(key("entity.cat.death"));
+
+ /**
+ * {@code minecraft:entity.cat.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAT_EAT = create(key("entity.cat.eat"));
+
+ /**
+ * {@code minecraft:entity.cat.hiss}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAT_HISS = create(key("entity.cat.hiss"));
+
+ /**
+ * {@code minecraft:entity.cat.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAT_HURT = create(key("entity.cat.hurt"));
+
+ /**
+ * {@code minecraft:entity.cat.purr}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAT_PURR = create(key("entity.cat.purr"));
+
+ /**
+ * {@code minecraft:entity.cat.purreow}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAT_PURREOW = create(key("entity.cat.purreow"));
+
+ /**
+ * {@code minecraft:entity.cat.stray_ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CAT_STRAY_AMBIENT = create(key("entity.cat.stray_ambient"));
+
+ /**
+ * {@code minecraft:entity.chicken.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CHICKEN_AMBIENT = create(key("entity.chicken.ambient"));
+
+ /**
+ * {@code minecraft:entity.chicken.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CHICKEN_DEATH = create(key("entity.chicken.death"));
+
+ /**
+ * {@code minecraft:entity.chicken.egg}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CHICKEN_EGG = create(key("entity.chicken.egg"));
+
+ /**
+ * {@code minecraft:entity.chicken.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CHICKEN_HURT = create(key("entity.chicken.hurt"));
+
+ /**
+ * {@code minecraft:entity.chicken.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CHICKEN_STEP = create(key("entity.chicken.step"));
+
+ /**
+ * {@code minecraft:entity.cod.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_COD_AMBIENT = create(key("entity.cod.ambient"));
+
+ /**
+ * {@code minecraft:entity.cod.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_COD_DEATH = create(key("entity.cod.death"));
+
+ /**
+ * {@code minecraft:entity.cod.flop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_COD_FLOP = create(key("entity.cod.flop"));
+
+ /**
+ * {@code minecraft:entity.cod.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_COD_HURT = create(key("entity.cod.hurt"));
+
+ /**
+ * {@code minecraft:entity.cow.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_COW_AMBIENT = create(key("entity.cow.ambient"));
+
+ /**
+ * {@code minecraft:entity.cow.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_COW_DEATH = create(key("entity.cow.death"));
+
+ /**
+ * {@code minecraft:entity.cow.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_COW_HURT = create(key("entity.cow.hurt"));
+
+ /**
+ * {@code minecraft:entity.cow.milk}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_COW_MILK = create(key("entity.cow.milk"));
+
+ /**
+ * {@code minecraft:entity.cow.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_COW_STEP = create(key("entity.cow.step"));
+
+ /**
+ * {@code minecraft:entity.creaking.activate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_ACTIVATE = create(key("entity.creaking.activate"));
+
+ /**
+ * {@code minecraft:entity.creaking.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_AMBIENT = create(key("entity.creaking.ambient"));
+
+ /**
+ * {@code minecraft:entity.creaking.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_ATTACK = create(key("entity.creaking.attack"));
+
+ /**
+ * {@code minecraft:entity.creaking.deactivate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_DEACTIVATE = create(key("entity.creaking.deactivate"));
+
+ /**
+ * {@code minecraft:entity.creaking.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_DEATH = create(key("entity.creaking.death"));
+
+ /**
+ * {@code minecraft:entity.creaking.freeze}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_FREEZE = create(key("entity.creaking.freeze"));
+
+ /**
+ * {@code minecraft:entity.creaking.spawn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_SPAWN = create(key("entity.creaking.spawn"));
+
+ /**
+ * {@code minecraft:entity.creaking.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_STEP = create(key("entity.creaking.step"));
+
+ /**
+ * {@code minecraft:entity.creaking.sway}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_SWAY = create(key("entity.creaking.sway"));
+
+ /**
+ * {@code minecraft:entity.creaking.unfreeze}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREAKING_UNFREEZE = create(key("entity.creaking.unfreeze"));
+
+ /**
+ * {@code minecraft:entity.creeper.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREEPER_DEATH = create(key("entity.creeper.death"));
+
+ /**
+ * {@code minecraft:entity.creeper.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREEPER_HURT = create(key("entity.creeper.hurt"));
+
+ /**
+ * {@code minecraft:entity.creeper.primed}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_CREEPER_PRIMED = create(key("entity.creeper.primed"));
+
+ /**
+ * {@code minecraft:entity.dolphin.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_AMBIENT = create(key("entity.dolphin.ambient"));
+
+ /**
+ * {@code minecraft:entity.dolphin.ambient_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_AMBIENT_WATER = create(key("entity.dolphin.ambient_water"));
+
+ /**
+ * {@code minecraft:entity.dolphin.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_ATTACK = create(key("entity.dolphin.attack"));
+
+ /**
+ * {@code minecraft:entity.dolphin.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_DEATH = create(key("entity.dolphin.death"));
+
+ /**
+ * {@code minecraft:entity.dolphin.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_EAT = create(key("entity.dolphin.eat"));
+
+ /**
+ * {@code minecraft:entity.dolphin.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_HURT = create(key("entity.dolphin.hurt"));
+
+ /**
+ * {@code minecraft:entity.dolphin.jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_JUMP = create(key("entity.dolphin.jump"));
+
+ /**
+ * {@code minecraft:entity.dolphin.play}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_PLAY = create(key("entity.dolphin.play"));
+
+ /**
+ * {@code minecraft:entity.dolphin.splash}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_SPLASH = create(key("entity.dolphin.splash"));
+
+ /**
+ * {@code minecraft:entity.dolphin.swim}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DOLPHIN_SWIM = create(key("entity.dolphin.swim"));
+
+ /**
+ * {@code minecraft:entity.donkey.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DONKEY_AMBIENT = create(key("entity.donkey.ambient"));
+
+ /**
+ * {@code minecraft:entity.donkey.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DONKEY_ANGRY = create(key("entity.donkey.angry"));
+
+ /**
+ * {@code minecraft:entity.donkey.chest}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DONKEY_CHEST = create(key("entity.donkey.chest"));
+
+ /**
+ * {@code minecraft:entity.donkey.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DONKEY_DEATH = create(key("entity.donkey.death"));
+
+ /**
+ * {@code minecraft:entity.donkey.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DONKEY_EAT = create(key("entity.donkey.eat"));
+
+ /**
+ * {@code minecraft:entity.donkey.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DONKEY_HURT = create(key("entity.donkey.hurt"));
+
+ /**
+ * {@code minecraft:entity.donkey.jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DONKEY_JUMP = create(key("entity.donkey.jump"));
+
+ /**
+ * {@code minecraft:entity.dragon_fireball.explode}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DRAGON_FIREBALL_EXPLODE = create(key("entity.dragon_fireball.explode"));
+
+ /**
+ * {@code minecraft:entity.drowned.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DROWNED_AMBIENT = create(key("entity.drowned.ambient"));
+
+ /**
+ * {@code minecraft:entity.drowned.ambient_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DROWNED_AMBIENT_WATER = create(key("entity.drowned.ambient_water"));
+
+ /**
+ * {@code minecraft:entity.drowned.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DROWNED_DEATH = create(key("entity.drowned.death"));
+
+ /**
+ * {@code minecraft:entity.drowned.death_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DROWNED_DEATH_WATER = create(key("entity.drowned.death_water"));
+
+ /**
+ * {@code minecraft:entity.drowned.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DROWNED_HURT = create(key("entity.drowned.hurt"));
+
+ /**
+ * {@code minecraft:entity.drowned.hurt_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DROWNED_HURT_WATER = create(key("entity.drowned.hurt_water"));
+
+ /**
+ * {@code minecraft:entity.drowned.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DROWNED_SHOOT = create(key("entity.drowned.shoot"));
+
+ /**
+ * {@code minecraft:entity.drowned.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DROWNED_STEP = create(key("entity.drowned.step"));
+
+ /**
+ * {@code minecraft:entity.drowned.swim}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_DROWNED_SWIM = create(key("entity.drowned.swim"));
+
+ /**
+ * {@code minecraft:entity.egg.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EGG_THROW = create(key("entity.egg.throw"));
+
+ /**
+ * {@code minecraft:entity.elder_guardian.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ELDER_GUARDIAN_AMBIENT = create(key("entity.elder_guardian.ambient"));
+
+ /**
+ * {@code minecraft:entity.elder_guardian.ambient_land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ELDER_GUARDIAN_AMBIENT_LAND = create(key("entity.elder_guardian.ambient_land"));
+
+ /**
+ * {@code minecraft:entity.elder_guardian.curse}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ELDER_GUARDIAN_CURSE = create(key("entity.elder_guardian.curse"));
+
+ /**
+ * {@code minecraft:entity.elder_guardian.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ELDER_GUARDIAN_DEATH = create(key("entity.elder_guardian.death"));
+
+ /**
+ * {@code minecraft:entity.elder_guardian.death_land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ELDER_GUARDIAN_DEATH_LAND = create(key("entity.elder_guardian.death_land"));
+
+ /**
+ * {@code minecraft:entity.elder_guardian.flop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ELDER_GUARDIAN_FLOP = create(key("entity.elder_guardian.flop"));
+
+ /**
+ * {@code minecraft:entity.elder_guardian.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ELDER_GUARDIAN_HURT = create(key("entity.elder_guardian.hurt"));
+
+ /**
+ * {@code minecraft:entity.elder_guardian.hurt_land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ELDER_GUARDIAN_HURT_LAND = create(key("entity.elder_guardian.hurt_land"));
+
+ /**
+ * {@code minecraft:entity.ender_dragon.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDER_DRAGON_AMBIENT = create(key("entity.ender_dragon.ambient"));
+
+ /**
+ * {@code minecraft:entity.ender_dragon.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDER_DRAGON_DEATH = create(key("entity.ender_dragon.death"));
+
+ /**
+ * {@code minecraft:entity.ender_dragon.flap}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDER_DRAGON_FLAP = create(key("entity.ender_dragon.flap"));
+
+ /**
+ * {@code minecraft:entity.ender_dragon.growl}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDER_DRAGON_GROWL = create(key("entity.ender_dragon.growl"));
+
+ /**
+ * {@code minecraft:entity.ender_dragon.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDER_DRAGON_HURT = create(key("entity.ender_dragon.hurt"));
+
+ /**
+ * {@code minecraft:entity.ender_dragon.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDER_DRAGON_SHOOT = create(key("entity.ender_dragon.shoot"));
+
+ /**
+ * {@code minecraft:entity.ender_eye.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDER_EYE_DEATH = create(key("entity.ender_eye.death"));
+
+ /**
+ * {@code minecraft:entity.ender_eye.launch}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDER_EYE_LAUNCH = create(key("entity.ender_eye.launch"));
+
+ /**
+ * {@code minecraft:entity.ender_pearl.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDER_PEARL_THROW = create(key("entity.ender_pearl.throw"));
+
+ /**
+ * {@code minecraft:entity.enderman.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMAN_AMBIENT = create(key("entity.enderman.ambient"));
+
+ /**
+ * {@code minecraft:entity.enderman.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMAN_DEATH = create(key("entity.enderman.death"));
+
+ /**
+ * {@code minecraft:entity.enderman.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMAN_HURT = create(key("entity.enderman.hurt"));
+
+ /**
+ * {@code minecraft:entity.enderman.scream}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMAN_SCREAM = create(key("entity.enderman.scream"));
+
+ /**
+ * {@code minecraft:entity.enderman.stare}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMAN_STARE = create(key("entity.enderman.stare"));
+
+ /**
+ * {@code minecraft:entity.enderman.teleport}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMAN_TELEPORT = create(key("entity.enderman.teleport"));
+
+ /**
+ * {@code minecraft:entity.endermite.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMITE_AMBIENT = create(key("entity.endermite.ambient"));
+
+ /**
+ * {@code minecraft:entity.endermite.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMITE_DEATH = create(key("entity.endermite.death"));
+
+ /**
+ * {@code minecraft:entity.endermite.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMITE_HURT = create(key("entity.endermite.hurt"));
+
+ /**
+ * {@code minecraft:entity.endermite.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ENDERMITE_STEP = create(key("entity.endermite.step"));
+
+ /**
+ * {@code minecraft:entity.evoker.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EVOKER_AMBIENT = create(key("entity.evoker.ambient"));
+
+ /**
+ * {@code minecraft:entity.evoker.cast_spell}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EVOKER_CAST_SPELL = create(key("entity.evoker.cast_spell"));
+
+ /**
+ * {@code minecraft:entity.evoker.celebrate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EVOKER_CELEBRATE = create(key("entity.evoker.celebrate"));
+
+ /**
+ * {@code minecraft:entity.evoker.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EVOKER_DEATH = create(key("entity.evoker.death"));
+
+ /**
+ * {@code minecraft:entity.evoker.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EVOKER_HURT = create(key("entity.evoker.hurt"));
+
+ /**
+ * {@code minecraft:entity.evoker.prepare_attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EVOKER_PREPARE_ATTACK = create(key("entity.evoker.prepare_attack"));
+
+ /**
+ * {@code minecraft:entity.evoker.prepare_summon}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EVOKER_PREPARE_SUMMON = create(key("entity.evoker.prepare_summon"));
+
+ /**
+ * {@code minecraft:entity.evoker.prepare_wololo}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EVOKER_PREPARE_WOLOLO = create(key("entity.evoker.prepare_wololo"));
+
+ /**
+ * {@code minecraft:entity.evoker_fangs.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EVOKER_FANGS_ATTACK = create(key("entity.evoker_fangs.attack"));
+
+ /**
+ * {@code minecraft:entity.experience_bottle.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EXPERIENCE_BOTTLE_THROW = create(key("entity.experience_bottle.throw"));
+
+ /**
+ * {@code minecraft:entity.experience_orb.pickup}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_EXPERIENCE_ORB_PICKUP = create(key("entity.experience_orb.pickup"));
+
+ /**
+ * {@code minecraft:entity.firework_rocket.blast}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FIREWORK_ROCKET_BLAST = create(key("entity.firework_rocket.blast"));
+
+ /**
+ * {@code minecraft:entity.firework_rocket.blast_far}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FIREWORK_ROCKET_BLAST_FAR = create(key("entity.firework_rocket.blast_far"));
+
+ /**
+ * {@code minecraft:entity.firework_rocket.large_blast}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FIREWORK_ROCKET_LARGE_BLAST = create(key("entity.firework_rocket.large_blast"));
+
+ /**
+ * {@code minecraft:entity.firework_rocket.large_blast_far}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FIREWORK_ROCKET_LARGE_BLAST_FAR = create(key("entity.firework_rocket.large_blast_far"));
+
+ /**
+ * {@code minecraft:entity.firework_rocket.launch}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FIREWORK_ROCKET_LAUNCH = create(key("entity.firework_rocket.launch"));
+
+ /**
+ * {@code minecraft:entity.firework_rocket.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FIREWORK_ROCKET_SHOOT = create(key("entity.firework_rocket.shoot"));
+
+ /**
+ * {@code minecraft:entity.firework_rocket.twinkle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FIREWORK_ROCKET_TWINKLE = create(key("entity.firework_rocket.twinkle"));
+
+ /**
+ * {@code minecraft:entity.firework_rocket.twinkle_far}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FIREWORK_ROCKET_TWINKLE_FAR = create(key("entity.firework_rocket.twinkle_far"));
+
+ /**
+ * {@code minecraft:entity.fish.swim}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FISH_SWIM = create(key("entity.fish.swim"));
+
+ /**
+ * {@code minecraft:entity.fishing_bobber.retrieve}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FISHING_BOBBER_RETRIEVE = create(key("entity.fishing_bobber.retrieve"));
+
+ /**
+ * {@code minecraft:entity.fishing_bobber.splash}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FISHING_BOBBER_SPLASH = create(key("entity.fishing_bobber.splash"));
+
+ /**
+ * {@code minecraft:entity.fishing_bobber.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FISHING_BOBBER_THROW = create(key("entity.fishing_bobber.throw"));
+
+ /**
+ * {@code minecraft:entity.fox.aggro}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_AGGRO = create(key("entity.fox.aggro"));
+
+ /**
+ * {@code minecraft:entity.fox.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_AMBIENT = create(key("entity.fox.ambient"));
+
+ /**
+ * {@code minecraft:entity.fox.bite}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_BITE = create(key("entity.fox.bite"));
+
+ /**
+ * {@code minecraft:entity.fox.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_DEATH = create(key("entity.fox.death"));
+
+ /**
+ * {@code minecraft:entity.fox.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_EAT = create(key("entity.fox.eat"));
+
+ /**
+ * {@code minecraft:entity.fox.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_HURT = create(key("entity.fox.hurt"));
+
+ /**
+ * {@code minecraft:entity.fox.screech}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_SCREECH = create(key("entity.fox.screech"));
+
+ /**
+ * {@code minecraft:entity.fox.sleep}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_SLEEP = create(key("entity.fox.sleep"));
+
+ /**
+ * {@code minecraft:entity.fox.sniff}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_SNIFF = create(key("entity.fox.sniff"));
+
+ /**
+ * {@code minecraft:entity.fox.spit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_SPIT = create(key("entity.fox.spit"));
+
+ /**
+ * {@code minecraft:entity.fox.teleport}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FOX_TELEPORT = create(key("entity.fox.teleport"));
+
+ /**
+ * {@code minecraft:entity.frog.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FROG_AMBIENT = create(key("entity.frog.ambient"));
+
+ /**
+ * {@code minecraft:entity.frog.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FROG_DEATH = create(key("entity.frog.death"));
+
+ /**
+ * {@code minecraft:entity.frog.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FROG_EAT = create(key("entity.frog.eat"));
+
+ /**
+ * {@code minecraft:entity.frog.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FROG_HURT = create(key("entity.frog.hurt"));
+
+ /**
+ * {@code minecraft:entity.frog.lay_spawn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FROG_LAY_SPAWN = create(key("entity.frog.lay_spawn"));
+
+ /**
+ * {@code minecraft:entity.frog.long_jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FROG_LONG_JUMP = create(key("entity.frog.long_jump"));
+
+ /**
+ * {@code minecraft:entity.frog.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FROG_STEP = create(key("entity.frog.step"));
+
+ /**
+ * {@code minecraft:entity.frog.tongue}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_FROG_TONGUE = create(key("entity.frog.tongue"));
+
+ /**
+ * {@code minecraft:entity.generic.big_fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_BIG_FALL = create(key("entity.generic.big_fall"));
+
+ /**
+ * {@code minecraft:entity.generic.burn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_BURN = create(key("entity.generic.burn"));
+
+ /**
+ * {@code minecraft:entity.generic.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_DEATH = create(key("entity.generic.death"));
+
+ /**
+ * {@code minecraft:entity.generic.drink}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_DRINK = create(key("entity.generic.drink"));
+
+ /**
+ * {@code minecraft:entity.generic.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_EAT = create(key("entity.generic.eat"));
+
+ /**
+ * {@code minecraft:entity.generic.explode}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_EXPLODE = create(key("entity.generic.explode"));
+
+ /**
+ * {@code minecraft:entity.generic.extinguish_fire}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_EXTINGUISH_FIRE = create(key("entity.generic.extinguish_fire"));
+
+ /**
+ * {@code minecraft:entity.generic.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_HURT = create(key("entity.generic.hurt"));
+
+ /**
+ * {@code minecraft:entity.generic.small_fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_SMALL_FALL = create(key("entity.generic.small_fall"));
+
+ /**
+ * {@code minecraft:entity.generic.splash}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_SPLASH = create(key("entity.generic.splash"));
+
+ /**
+ * {@code minecraft:entity.generic.swim}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GENERIC_SWIM = create(key("entity.generic.swim"));
+
+ /**
+ * {@code minecraft:entity.ghast.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GHAST_AMBIENT = create(key("entity.ghast.ambient"));
+
+ /**
+ * {@code minecraft:entity.ghast.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GHAST_DEATH = create(key("entity.ghast.death"));
+
+ /**
+ * {@code minecraft:entity.ghast.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GHAST_HURT = create(key("entity.ghast.hurt"));
+
+ /**
+ * {@code minecraft:entity.ghast.scream}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GHAST_SCREAM = create(key("entity.ghast.scream"));
+
+ /**
+ * {@code minecraft:entity.ghast.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GHAST_SHOOT = create(key("entity.ghast.shoot"));
+
+ /**
+ * {@code minecraft:entity.ghast.warn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GHAST_WARN = create(key("entity.ghast.warn"));
+
+ /**
+ * {@code minecraft:entity.glow_item_frame.add_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GLOW_ITEM_FRAME_ADD_ITEM = create(key("entity.glow_item_frame.add_item"));
+
+ /**
+ * {@code minecraft:entity.glow_item_frame.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GLOW_ITEM_FRAME_BREAK = create(key("entity.glow_item_frame.break"));
+
+ /**
+ * {@code minecraft:entity.glow_item_frame.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GLOW_ITEM_FRAME_PLACE = create(key("entity.glow_item_frame.place"));
+
+ /**
+ * {@code minecraft:entity.glow_item_frame.remove_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GLOW_ITEM_FRAME_REMOVE_ITEM = create(key("entity.glow_item_frame.remove_item"));
+
+ /**
+ * {@code minecraft:entity.glow_item_frame.rotate_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GLOW_ITEM_FRAME_ROTATE_ITEM = create(key("entity.glow_item_frame.rotate_item"));
+
+ /**
+ * {@code minecraft:entity.glow_squid.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GLOW_SQUID_AMBIENT = create(key("entity.glow_squid.ambient"));
+
+ /**
+ * {@code minecraft:entity.glow_squid.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GLOW_SQUID_DEATH = create(key("entity.glow_squid.death"));
+
+ /**
+ * {@code minecraft:entity.glow_squid.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GLOW_SQUID_HURT = create(key("entity.glow_squid.hurt"));
+
+ /**
+ * {@code minecraft:entity.glow_squid.squirt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GLOW_SQUID_SQUIRT = create(key("entity.glow_squid.squirt"));
+
+ /**
+ * {@code minecraft:entity.goat.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_AMBIENT = create(key("entity.goat.ambient"));
+
+ /**
+ * {@code minecraft:entity.goat.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_DEATH = create(key("entity.goat.death"));
+
+ /**
+ * {@code minecraft:entity.goat.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_EAT = create(key("entity.goat.eat"));
+
+ /**
+ * {@code minecraft:entity.goat.horn_break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_HORN_BREAK = create(key("entity.goat.horn_break"));
+
+ /**
+ * {@code minecraft:entity.goat.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_HURT = create(key("entity.goat.hurt"));
+
+ /**
+ * {@code minecraft:entity.goat.long_jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_LONG_JUMP = create(key("entity.goat.long_jump"));
+
+ /**
+ * {@code minecraft:entity.goat.milk}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_MILK = create(key("entity.goat.milk"));
+
+ /**
+ * {@code minecraft:entity.goat.prepare_ram}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_PREPARE_RAM = create(key("entity.goat.prepare_ram"));
+
+ /**
+ * {@code minecraft:entity.goat.ram_impact}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_RAM_IMPACT = create(key("entity.goat.ram_impact"));
+
+ /**
+ * {@code minecraft:entity.goat.screaming.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_SCREAMING_AMBIENT = create(key("entity.goat.screaming.ambient"));
+
+ /**
+ * {@code minecraft:entity.goat.screaming.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_SCREAMING_DEATH = create(key("entity.goat.screaming.death"));
+
+ /**
+ * {@code minecraft:entity.goat.screaming.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_SCREAMING_EAT = create(key("entity.goat.screaming.eat"));
+
+ /**
+ * {@code minecraft:entity.goat.screaming.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_SCREAMING_HURT = create(key("entity.goat.screaming.hurt"));
+
+ /**
+ * {@code minecraft:entity.goat.screaming.long_jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_SCREAMING_LONG_JUMP = create(key("entity.goat.screaming.long_jump"));
+
+ /**
+ * {@code minecraft:entity.goat.screaming.milk}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_SCREAMING_MILK = create(key("entity.goat.screaming.milk"));
+
+ /**
+ * {@code minecraft:entity.goat.screaming.prepare_ram}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_SCREAMING_PREPARE_RAM = create(key("entity.goat.screaming.prepare_ram"));
+
+ /**
+ * {@code minecraft:entity.goat.screaming.ram_impact}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_SCREAMING_RAM_IMPACT = create(key("entity.goat.screaming.ram_impact"));
+
+ /**
+ * {@code minecraft:entity.goat.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GOAT_STEP = create(key("entity.goat.step"));
+
+ /**
+ * {@code minecraft:entity.guardian.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GUARDIAN_AMBIENT = create(key("entity.guardian.ambient"));
+
+ /**
+ * {@code minecraft:entity.guardian.ambient_land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GUARDIAN_AMBIENT_LAND = create(key("entity.guardian.ambient_land"));
+
+ /**
+ * {@code minecraft:entity.guardian.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GUARDIAN_ATTACK = create(key("entity.guardian.attack"));
+
+ /**
+ * {@code minecraft:entity.guardian.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GUARDIAN_DEATH = create(key("entity.guardian.death"));
+
+ /**
+ * {@code minecraft:entity.guardian.death_land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GUARDIAN_DEATH_LAND = create(key("entity.guardian.death_land"));
+
+ /**
+ * {@code minecraft:entity.guardian.flop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GUARDIAN_FLOP = create(key("entity.guardian.flop"));
+
+ /**
+ * {@code minecraft:entity.guardian.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GUARDIAN_HURT = create(key("entity.guardian.hurt"));
+
+ /**
+ * {@code minecraft:entity.guardian.hurt_land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_GUARDIAN_HURT_LAND = create(key("entity.guardian.hurt_land"));
+
+ /**
+ * {@code minecraft:entity.hoglin.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOGLIN_AMBIENT = create(key("entity.hoglin.ambient"));
+
+ /**
+ * {@code minecraft:entity.hoglin.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOGLIN_ANGRY = create(key("entity.hoglin.angry"));
+
+ /**
+ * {@code minecraft:entity.hoglin.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOGLIN_ATTACK = create(key("entity.hoglin.attack"));
+
+ /**
+ * {@code minecraft:entity.hoglin.converted_to_zombified}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOGLIN_CONVERTED_TO_ZOMBIFIED = create(key("entity.hoglin.converted_to_zombified"));
+
+ /**
+ * {@code minecraft:entity.hoglin.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOGLIN_DEATH = create(key("entity.hoglin.death"));
+
+ /**
+ * {@code minecraft:entity.hoglin.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOGLIN_HURT = create(key("entity.hoglin.hurt"));
+
+ /**
+ * {@code minecraft:entity.hoglin.retreat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOGLIN_RETREAT = create(key("entity.hoglin.retreat"));
+
+ /**
+ * {@code minecraft:entity.hoglin.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOGLIN_STEP = create(key("entity.hoglin.step"));
+
+ /**
+ * {@code minecraft:entity.horse.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_AMBIENT = create(key("entity.horse.ambient"));
+
+ /**
+ * {@code minecraft:entity.horse.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_ANGRY = create(key("entity.horse.angry"));
+
+ /**
+ * {@code minecraft:entity.horse.armor}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_ARMOR = create(key("entity.horse.armor"));
+
+ /**
+ * {@code minecraft:entity.horse.breathe}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_BREATHE = create(key("entity.horse.breathe"));
+
+ /**
+ * {@code minecraft:entity.horse.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_DEATH = create(key("entity.horse.death"));
+
+ /**
+ * {@code minecraft:entity.horse.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_EAT = create(key("entity.horse.eat"));
+
+ /**
+ * {@code minecraft:entity.horse.gallop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_GALLOP = create(key("entity.horse.gallop"));
+
+ /**
+ * {@code minecraft:entity.horse.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_HURT = create(key("entity.horse.hurt"));
+
+ /**
+ * {@code minecraft:entity.horse.jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_JUMP = create(key("entity.horse.jump"));
+
+ /**
+ * {@code minecraft:entity.horse.land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_LAND = create(key("entity.horse.land"));
+
+ /**
+ * {@code minecraft:entity.horse.saddle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_SADDLE = create(key("entity.horse.saddle"));
+
+ /**
+ * {@code minecraft:entity.horse.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_STEP = create(key("entity.horse.step"));
+
+ /**
+ * {@code minecraft:entity.horse.step_wood}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HORSE_STEP_WOOD = create(key("entity.horse.step_wood"));
+
+ /**
+ * {@code minecraft:entity.hostile.big_fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOSTILE_BIG_FALL = create(key("entity.hostile.big_fall"));
+
+ /**
+ * {@code minecraft:entity.hostile.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOSTILE_DEATH = create(key("entity.hostile.death"));
+
+ /**
+ * {@code minecraft:entity.hostile.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOSTILE_HURT = create(key("entity.hostile.hurt"));
+
+ /**
+ * {@code minecraft:entity.hostile.small_fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOSTILE_SMALL_FALL = create(key("entity.hostile.small_fall"));
+
+ /**
+ * {@code minecraft:entity.hostile.splash}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOSTILE_SPLASH = create(key("entity.hostile.splash"));
+
+ /**
+ * {@code minecraft:entity.hostile.swim}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HOSTILE_SWIM = create(key("entity.hostile.swim"));
+
+ /**
+ * {@code minecraft:entity.husk.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HUSK_AMBIENT = create(key("entity.husk.ambient"));
+
+ /**
+ * {@code minecraft:entity.husk.converted_to_zombie}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HUSK_CONVERTED_TO_ZOMBIE = create(key("entity.husk.converted_to_zombie"));
+
+ /**
+ * {@code minecraft:entity.husk.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HUSK_DEATH = create(key("entity.husk.death"));
+
+ /**
+ * {@code minecraft:entity.husk.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HUSK_HURT = create(key("entity.husk.hurt"));
+
+ /**
+ * {@code minecraft:entity.husk.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_HUSK_STEP = create(key("entity.husk.step"));
+
+ /**
+ * {@code minecraft:entity.illusioner.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ILLUSIONER_AMBIENT = create(key("entity.illusioner.ambient"));
+
+ /**
+ * {@code minecraft:entity.illusioner.cast_spell}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ILLUSIONER_CAST_SPELL = create(key("entity.illusioner.cast_spell"));
+
+ /**
+ * {@code minecraft:entity.illusioner.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ILLUSIONER_DEATH = create(key("entity.illusioner.death"));
+
+ /**
+ * {@code minecraft:entity.illusioner.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ILLUSIONER_HURT = create(key("entity.illusioner.hurt"));
+
+ /**
+ * {@code minecraft:entity.illusioner.mirror_move}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ILLUSIONER_MIRROR_MOVE = create(key("entity.illusioner.mirror_move"));
+
+ /**
+ * {@code minecraft:entity.illusioner.prepare_blindness}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ILLUSIONER_PREPARE_BLINDNESS = create(key("entity.illusioner.prepare_blindness"));
+
+ /**
+ * {@code minecraft:entity.illusioner.prepare_mirror}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ILLUSIONER_PREPARE_MIRROR = create(key("entity.illusioner.prepare_mirror"));
+
+ /**
+ * {@code minecraft:entity.iron_golem.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_IRON_GOLEM_ATTACK = create(key("entity.iron_golem.attack"));
+
+ /**
+ * {@code minecraft:entity.iron_golem.damage}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_IRON_GOLEM_DAMAGE = create(key("entity.iron_golem.damage"));
+
+ /**
+ * {@code minecraft:entity.iron_golem.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_IRON_GOLEM_DEATH = create(key("entity.iron_golem.death"));
+
+ /**
+ * {@code minecraft:entity.iron_golem.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_IRON_GOLEM_HURT = create(key("entity.iron_golem.hurt"));
+
+ /**
+ * {@code minecraft:entity.iron_golem.repair}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_IRON_GOLEM_REPAIR = create(key("entity.iron_golem.repair"));
+
+ /**
+ * {@code minecraft:entity.iron_golem.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_IRON_GOLEM_STEP = create(key("entity.iron_golem.step"));
+
+ /**
+ * {@code minecraft:entity.item.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ITEM_BREAK = create(key("entity.item.break"));
+
+ /**
+ * {@code minecraft:entity.item.pickup}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ITEM_PICKUP = create(key("entity.item.pickup"));
+
+ /**
+ * {@code minecraft:entity.item_frame.add_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ITEM_FRAME_ADD_ITEM = create(key("entity.item_frame.add_item"));
+
+ /**
+ * {@code minecraft:entity.item_frame.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ITEM_FRAME_BREAK = create(key("entity.item_frame.break"));
+
+ /**
+ * {@code minecraft:entity.item_frame.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ITEM_FRAME_PLACE = create(key("entity.item_frame.place"));
+
+ /**
+ * {@code minecraft:entity.item_frame.remove_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ITEM_FRAME_REMOVE_ITEM = create(key("entity.item_frame.remove_item"));
+
+ /**
+ * {@code minecraft:entity.item_frame.rotate_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ITEM_FRAME_ROTATE_ITEM = create(key("entity.item_frame.rotate_item"));
+
+ /**
+ * {@code minecraft:entity.leash_knot.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LEASH_KNOT_BREAK = create(key("entity.leash_knot.break"));
+
+ /**
+ * {@code minecraft:entity.leash_knot.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LEASH_KNOT_PLACE = create(key("entity.leash_knot.place"));
+
+ /**
+ * {@code minecraft:entity.lightning_bolt.impact}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LIGHTNING_BOLT_IMPACT = create(key("entity.lightning_bolt.impact"));
+
+ /**
+ * {@code minecraft:entity.lightning_bolt.thunder}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LIGHTNING_BOLT_THUNDER = create(key("entity.lightning_bolt.thunder"));
+
+ /**
+ * {@code minecraft:entity.lingering_potion.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LINGERING_POTION_THROW = create(key("entity.lingering_potion.throw"));
+
+ /**
+ * {@code minecraft:entity.llama.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LLAMA_AMBIENT = create(key("entity.llama.ambient"));
+
+ /**
+ * {@code minecraft:entity.llama.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LLAMA_ANGRY = create(key("entity.llama.angry"));
+
+ /**
+ * {@code minecraft:entity.llama.chest}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LLAMA_CHEST = create(key("entity.llama.chest"));
+
+ /**
+ * {@code minecraft:entity.llama.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LLAMA_DEATH = create(key("entity.llama.death"));
+
+ /**
+ * {@code minecraft:entity.llama.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LLAMA_EAT = create(key("entity.llama.eat"));
+
+ /**
+ * {@code minecraft:entity.llama.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LLAMA_HURT = create(key("entity.llama.hurt"));
+
+ /**
+ * {@code minecraft:entity.llama.spit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LLAMA_SPIT = create(key("entity.llama.spit"));
+
+ /**
+ * {@code minecraft:entity.llama.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LLAMA_STEP = create(key("entity.llama.step"));
+
+ /**
+ * {@code minecraft:entity.llama.swag}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_LLAMA_SWAG = create(key("entity.llama.swag"));
+
+ /**
+ * {@code minecraft:entity.magma_cube.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MAGMA_CUBE_DEATH = create(key("entity.magma_cube.death"));
+
+ /**
+ * {@code minecraft:entity.magma_cube.death_small}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MAGMA_CUBE_DEATH_SMALL = create(key("entity.magma_cube.death_small"));
+
+ /**
+ * {@code minecraft:entity.magma_cube.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MAGMA_CUBE_HURT = create(key("entity.magma_cube.hurt"));
+
+ /**
+ * {@code minecraft:entity.magma_cube.hurt_small}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MAGMA_CUBE_HURT_SMALL = create(key("entity.magma_cube.hurt_small"));
+
+ /**
+ * {@code minecraft:entity.magma_cube.jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MAGMA_CUBE_JUMP = create(key("entity.magma_cube.jump"));
+
+ /**
+ * {@code minecraft:entity.magma_cube.squish}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MAGMA_CUBE_SQUISH = create(key("entity.magma_cube.squish"));
+
+ /**
+ * {@code minecraft:entity.magma_cube.squish_small}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MAGMA_CUBE_SQUISH_SMALL = create(key("entity.magma_cube.squish_small"));
+
+ /**
+ * {@code minecraft:entity.minecart.inside}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MINECART_INSIDE = create(key("entity.minecart.inside"));
+
+ /**
+ * {@code minecraft:entity.minecart.inside.underwater}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MINECART_INSIDE_UNDERWATER = create(key("entity.minecart.inside.underwater"));
+
+ /**
+ * {@code minecraft:entity.minecart.riding}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MINECART_RIDING = create(key("entity.minecart.riding"));
+
+ /**
+ * {@code minecraft:entity.mooshroom.convert}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MOOSHROOM_CONVERT = create(key("entity.mooshroom.convert"));
+
+ /**
+ * {@code minecraft:entity.mooshroom.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MOOSHROOM_EAT = create(key("entity.mooshroom.eat"));
+
+ /**
+ * {@code minecraft:entity.mooshroom.milk}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MOOSHROOM_MILK = create(key("entity.mooshroom.milk"));
+
+ /**
+ * {@code minecraft:entity.mooshroom.shear}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MOOSHROOM_SHEAR = create(key("entity.mooshroom.shear"));
+
+ /**
+ * {@code minecraft:entity.mooshroom.suspicious_milk}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MOOSHROOM_SUSPICIOUS_MILK = create(key("entity.mooshroom.suspicious_milk"));
+
+ /**
+ * {@code minecraft:entity.mule.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MULE_AMBIENT = create(key("entity.mule.ambient"));
+
+ /**
+ * {@code minecraft:entity.mule.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MULE_ANGRY = create(key("entity.mule.angry"));
+
+ /**
+ * {@code minecraft:entity.mule.chest}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MULE_CHEST = create(key("entity.mule.chest"));
+
+ /**
+ * {@code minecraft:entity.mule.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MULE_DEATH = create(key("entity.mule.death"));
+
+ /**
+ * {@code minecraft:entity.mule.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MULE_EAT = create(key("entity.mule.eat"));
+
+ /**
+ * {@code minecraft:entity.mule.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MULE_HURT = create(key("entity.mule.hurt"));
+
+ /**
+ * {@code minecraft:entity.mule.jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_MULE_JUMP = create(key("entity.mule.jump"));
+
+ /**
+ * {@code minecraft:entity.ocelot.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_OCELOT_AMBIENT = create(key("entity.ocelot.ambient"));
+
+ /**
+ * {@code minecraft:entity.ocelot.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_OCELOT_DEATH = create(key("entity.ocelot.death"));
+
+ /**
+ * {@code minecraft:entity.ocelot.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_OCELOT_HURT = create(key("entity.ocelot.hurt"));
+
+ /**
+ * {@code minecraft:entity.painting.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PAINTING_BREAK = create(key("entity.painting.break"));
+
+ /**
+ * {@code minecraft:entity.painting.place}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PAINTING_PLACE = create(key("entity.painting.place"));
+
+ /**
+ * {@code minecraft:entity.panda.aggressive_ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_AGGRESSIVE_AMBIENT = create(key("entity.panda.aggressive_ambient"));
+
+ /**
+ * {@code minecraft:entity.panda.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_AMBIENT = create(key("entity.panda.ambient"));
+
+ /**
+ * {@code minecraft:entity.panda.bite}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_BITE = create(key("entity.panda.bite"));
+
+ /**
+ * {@code minecraft:entity.panda.cant_breed}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_CANT_BREED = create(key("entity.panda.cant_breed"));
+
+ /**
+ * {@code minecraft:entity.panda.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_DEATH = create(key("entity.panda.death"));
+
+ /**
+ * {@code minecraft:entity.panda.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_EAT = create(key("entity.panda.eat"));
+
+ /**
+ * {@code minecraft:entity.panda.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_HURT = create(key("entity.panda.hurt"));
+
+ /**
+ * {@code minecraft:entity.panda.pre_sneeze}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_PRE_SNEEZE = create(key("entity.panda.pre_sneeze"));
+
+ /**
+ * {@code minecraft:entity.panda.sneeze}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_SNEEZE = create(key("entity.panda.sneeze"));
+
+ /**
+ * {@code minecraft:entity.panda.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_STEP = create(key("entity.panda.step"));
+
+ /**
+ * {@code minecraft:entity.panda.worried_ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PANDA_WORRIED_AMBIENT = create(key("entity.panda.worried_ambient"));
+
+ /**
+ * {@code minecraft:entity.parrot.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_AMBIENT = create(key("entity.parrot.ambient"));
+
+ /**
+ * {@code minecraft:entity.parrot.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_DEATH = create(key("entity.parrot.death"));
+
+ /**
+ * {@code minecraft:entity.parrot.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_EAT = create(key("entity.parrot.eat"));
+
+ /**
+ * {@code minecraft:entity.parrot.fly}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_FLY = create(key("entity.parrot.fly"));
+
+ /**
+ * {@code minecraft:entity.parrot.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_HURT = create(key("entity.parrot.hurt"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.blaze}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_BLAZE = create(key("entity.parrot.imitate.blaze"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.bogged}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_BOGGED = create(key("entity.parrot.imitate.bogged"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.breeze}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_BREEZE = create(key("entity.parrot.imitate.breeze"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.creaking}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_CREAKING = create(key("entity.parrot.imitate.creaking"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.creeper}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_CREEPER = create(key("entity.parrot.imitate.creeper"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.drowned}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_DROWNED = create(key("entity.parrot.imitate.drowned"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.elder_guardian}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_ELDER_GUARDIAN = create(key("entity.parrot.imitate.elder_guardian"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.ender_dragon}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_ENDER_DRAGON = create(key("entity.parrot.imitate.ender_dragon"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.endermite}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_ENDERMITE = create(key("entity.parrot.imitate.endermite"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.evoker}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_EVOKER = create(key("entity.parrot.imitate.evoker"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.ghast}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_GHAST = create(key("entity.parrot.imitate.ghast"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.guardian}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_GUARDIAN = create(key("entity.parrot.imitate.guardian"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.hoglin}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_HOGLIN = create(key("entity.parrot.imitate.hoglin"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.husk}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_HUSK = create(key("entity.parrot.imitate.husk"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.illusioner}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_ILLUSIONER = create(key("entity.parrot.imitate.illusioner"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.magma_cube}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_MAGMA_CUBE = create(key("entity.parrot.imitate.magma_cube"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.phantom}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_PHANTOM = create(key("entity.parrot.imitate.phantom"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.piglin}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_PIGLIN = create(key("entity.parrot.imitate.piglin"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.piglin_brute}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_PIGLIN_BRUTE = create(key("entity.parrot.imitate.piglin_brute"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.pillager}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_PILLAGER = create(key("entity.parrot.imitate.pillager"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.ravager}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_RAVAGER = create(key("entity.parrot.imitate.ravager"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.shulker}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_SHULKER = create(key("entity.parrot.imitate.shulker"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.silverfish}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_SILVERFISH = create(key("entity.parrot.imitate.silverfish"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.skeleton}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_SKELETON = create(key("entity.parrot.imitate.skeleton"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.slime}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_SLIME = create(key("entity.parrot.imitate.slime"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.spider}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_SPIDER = create(key("entity.parrot.imitate.spider"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.stray}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_STRAY = create(key("entity.parrot.imitate.stray"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.vex}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_VEX = create(key("entity.parrot.imitate.vex"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.vindicator}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_VINDICATOR = create(key("entity.parrot.imitate.vindicator"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.warden}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_WARDEN = create(key("entity.parrot.imitate.warden"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.witch}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_WITCH = create(key("entity.parrot.imitate.witch"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.wither}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_WITHER = create(key("entity.parrot.imitate.wither"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.wither_skeleton}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_WITHER_SKELETON = create(key("entity.parrot.imitate.wither_skeleton"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.zoglin}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_ZOGLIN = create(key("entity.parrot.imitate.zoglin"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.zombie}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_ZOMBIE = create(key("entity.parrot.imitate.zombie"));
+
+ /**
+ * {@code minecraft:entity.parrot.imitate.zombie_villager}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_IMITATE_ZOMBIE_VILLAGER = create(key("entity.parrot.imitate.zombie_villager"));
+
+ /**
+ * {@code minecraft:entity.parrot.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PARROT_STEP = create(key("entity.parrot.step"));
+
+ /**
+ * {@code minecraft:entity.phantom.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PHANTOM_AMBIENT = create(key("entity.phantom.ambient"));
+
+ /**
+ * {@code minecraft:entity.phantom.bite}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PHANTOM_BITE = create(key("entity.phantom.bite"));
+
+ /**
+ * {@code minecraft:entity.phantom.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PHANTOM_DEATH = create(key("entity.phantom.death"));
+
+ /**
+ * {@code minecraft:entity.phantom.flap}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PHANTOM_FLAP = create(key("entity.phantom.flap"));
+
+ /**
+ * {@code minecraft:entity.phantom.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PHANTOM_HURT = create(key("entity.phantom.hurt"));
+
+ /**
+ * {@code minecraft:entity.phantom.swoop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PHANTOM_SWOOP = create(key("entity.phantom.swoop"));
+
+ /**
+ * {@code minecraft:entity.pig.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIG_AMBIENT = create(key("entity.pig.ambient"));
+
+ /**
+ * {@code minecraft:entity.pig.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIG_DEATH = create(key("entity.pig.death"));
+
+ /**
+ * {@code minecraft:entity.pig.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIG_HURT = create(key("entity.pig.hurt"));
+
+ /**
+ * {@code minecraft:entity.pig.saddle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIG_SADDLE = create(key("entity.pig.saddle"));
+
+ /**
+ * {@code minecraft:entity.pig.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIG_STEP = create(key("entity.pig.step"));
+
+ /**
+ * {@code minecraft:entity.piglin.admiring_item}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_ADMIRING_ITEM = create(key("entity.piglin.admiring_item"));
+
+ /**
+ * {@code minecraft:entity.piglin.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_AMBIENT = create(key("entity.piglin.ambient"));
+
+ /**
+ * {@code minecraft:entity.piglin.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_ANGRY = create(key("entity.piglin.angry"));
+
+ /**
+ * {@code minecraft:entity.piglin.celebrate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_CELEBRATE = create(key("entity.piglin.celebrate"));
+
+ /**
+ * {@code minecraft:entity.piglin.converted_to_zombified}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_CONVERTED_TO_ZOMBIFIED = create(key("entity.piglin.converted_to_zombified"));
+
+ /**
+ * {@code minecraft:entity.piglin.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_DEATH = create(key("entity.piglin.death"));
+
+ /**
+ * {@code minecraft:entity.piglin.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_HURT = create(key("entity.piglin.hurt"));
+
+ /**
+ * {@code minecraft:entity.piglin.jealous}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_JEALOUS = create(key("entity.piglin.jealous"));
+
+ /**
+ * {@code minecraft:entity.piglin.retreat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_RETREAT = create(key("entity.piglin.retreat"));
+
+ /**
+ * {@code minecraft:entity.piglin.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_STEP = create(key("entity.piglin.step"));
+
+ /**
+ * {@code minecraft:entity.piglin_brute.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_BRUTE_AMBIENT = create(key("entity.piglin_brute.ambient"));
+
+ /**
+ * {@code minecraft:entity.piglin_brute.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_BRUTE_ANGRY = create(key("entity.piglin_brute.angry"));
+
+ /**
+ * {@code minecraft:entity.piglin_brute.converted_to_zombified}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_BRUTE_CONVERTED_TO_ZOMBIFIED = create(key("entity.piglin_brute.converted_to_zombified"));
+
+ /**
+ * {@code minecraft:entity.piglin_brute.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_BRUTE_DEATH = create(key("entity.piglin_brute.death"));
+
+ /**
+ * {@code minecraft:entity.piglin_brute.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_BRUTE_HURT = create(key("entity.piglin_brute.hurt"));
+
+ /**
+ * {@code minecraft:entity.piglin_brute.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PIGLIN_BRUTE_STEP = create(key("entity.piglin_brute.step"));
+
+ /**
+ * {@code minecraft:entity.pillager.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PILLAGER_AMBIENT = create(key("entity.pillager.ambient"));
+
+ /**
+ * {@code minecraft:entity.pillager.celebrate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PILLAGER_CELEBRATE = create(key("entity.pillager.celebrate"));
+
+ /**
+ * {@code minecraft:entity.pillager.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PILLAGER_DEATH = create(key("entity.pillager.death"));
+
+ /**
+ * {@code minecraft:entity.pillager.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PILLAGER_HURT = create(key("entity.pillager.hurt"));
+
+ /**
+ * {@code minecraft:entity.player.attack.crit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_ATTACK_CRIT = create(key("entity.player.attack.crit"));
+
+ /**
+ * {@code minecraft:entity.player.attack.knockback}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_ATTACK_KNOCKBACK = create(key("entity.player.attack.knockback"));
+
+ /**
+ * {@code minecraft:entity.player.attack.nodamage}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_ATTACK_NODAMAGE = create(key("entity.player.attack.nodamage"));
+
+ /**
+ * {@code minecraft:entity.player.attack.strong}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_ATTACK_STRONG = create(key("entity.player.attack.strong"));
+
+ /**
+ * {@code minecraft:entity.player.attack.sweep}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_ATTACK_SWEEP = create(key("entity.player.attack.sweep"));
+
+ /**
+ * {@code minecraft:entity.player.attack.weak}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_ATTACK_WEAK = create(key("entity.player.attack.weak"));
+
+ /**
+ * {@code minecraft:entity.player.big_fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_BIG_FALL = create(key("entity.player.big_fall"));
+
+ /**
+ * {@code minecraft:entity.player.breath}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_BREATH = create(key("entity.player.breath"));
+
+ /**
+ * {@code minecraft:entity.player.burp}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_BURP = create(key("entity.player.burp"));
+
+ /**
+ * {@code minecraft:entity.player.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_DEATH = create(key("entity.player.death"));
+
+ /**
+ * {@code minecraft:entity.player.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_HURT = create(key("entity.player.hurt"));
+
+ /**
+ * {@code minecraft:entity.player.hurt_drown}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_HURT_DROWN = create(key("entity.player.hurt_drown"));
+
+ /**
+ * {@code minecraft:entity.player.hurt_freeze}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_HURT_FREEZE = create(key("entity.player.hurt_freeze"));
+
+ /**
+ * {@code minecraft:entity.player.hurt_on_fire}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_HURT_ON_FIRE = create(key("entity.player.hurt_on_fire"));
+
+ /**
+ * {@code minecraft:entity.player.hurt_sweet_berry_bush}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_HURT_SWEET_BERRY_BUSH = create(key("entity.player.hurt_sweet_berry_bush"));
+
+ /**
+ * {@code minecraft:entity.player.levelup}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_LEVELUP = create(key("entity.player.levelup"));
+
+ /**
+ * {@code minecraft:entity.player.small_fall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_SMALL_FALL = create(key("entity.player.small_fall"));
+
+ /**
+ * {@code minecraft:entity.player.splash}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_SPLASH = create(key("entity.player.splash"));
+
+ /**
+ * {@code minecraft:entity.player.splash.high_speed}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_SPLASH_HIGH_SPEED = create(key("entity.player.splash.high_speed"));
+
+ /**
+ * {@code minecraft:entity.player.swim}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_SWIM = create(key("entity.player.swim"));
+
+ /**
+ * {@code minecraft:entity.player.teleport}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PLAYER_TELEPORT = create(key("entity.player.teleport"));
+
+ /**
+ * {@code minecraft:entity.polar_bear.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_POLAR_BEAR_AMBIENT = create(key("entity.polar_bear.ambient"));
+
+ /**
+ * {@code minecraft:entity.polar_bear.ambient_baby}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_POLAR_BEAR_AMBIENT_BABY = create(key("entity.polar_bear.ambient_baby"));
+
+ /**
+ * {@code minecraft:entity.polar_bear.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_POLAR_BEAR_DEATH = create(key("entity.polar_bear.death"));
+
+ /**
+ * {@code minecraft:entity.polar_bear.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_POLAR_BEAR_HURT = create(key("entity.polar_bear.hurt"));
+
+ /**
+ * {@code minecraft:entity.polar_bear.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_POLAR_BEAR_STEP = create(key("entity.polar_bear.step"));
+
+ /**
+ * {@code minecraft:entity.polar_bear.warning}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_POLAR_BEAR_WARNING = create(key("entity.polar_bear.warning"));
+
+ /**
+ * {@code minecraft:entity.puffer_fish.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PUFFER_FISH_AMBIENT = create(key("entity.puffer_fish.ambient"));
+
+ /**
+ * {@code minecraft:entity.puffer_fish.blow_out}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PUFFER_FISH_BLOW_OUT = create(key("entity.puffer_fish.blow_out"));
+
+ /**
+ * {@code minecraft:entity.puffer_fish.blow_up}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PUFFER_FISH_BLOW_UP = create(key("entity.puffer_fish.blow_up"));
+
+ /**
+ * {@code minecraft:entity.puffer_fish.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PUFFER_FISH_DEATH = create(key("entity.puffer_fish.death"));
+
+ /**
+ * {@code minecraft:entity.puffer_fish.flop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PUFFER_FISH_FLOP = create(key("entity.puffer_fish.flop"));
+
+ /**
+ * {@code minecraft:entity.puffer_fish.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PUFFER_FISH_HURT = create(key("entity.puffer_fish.hurt"));
+
+ /**
+ * {@code minecraft:entity.puffer_fish.sting}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_PUFFER_FISH_STING = create(key("entity.puffer_fish.sting"));
+
+ /**
+ * {@code minecraft:entity.rabbit.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RABBIT_AMBIENT = create(key("entity.rabbit.ambient"));
+
+ /**
+ * {@code minecraft:entity.rabbit.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RABBIT_ATTACK = create(key("entity.rabbit.attack"));
+
+ /**
+ * {@code minecraft:entity.rabbit.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RABBIT_DEATH = create(key("entity.rabbit.death"));
+
+ /**
+ * {@code minecraft:entity.rabbit.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RABBIT_HURT = create(key("entity.rabbit.hurt"));
+
+ /**
+ * {@code minecraft:entity.rabbit.jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RABBIT_JUMP = create(key("entity.rabbit.jump"));
+
+ /**
+ * {@code minecraft:entity.ravager.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RAVAGER_AMBIENT = create(key("entity.ravager.ambient"));
+
+ /**
+ * {@code minecraft:entity.ravager.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RAVAGER_ATTACK = create(key("entity.ravager.attack"));
+
+ /**
+ * {@code minecraft:entity.ravager.celebrate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RAVAGER_CELEBRATE = create(key("entity.ravager.celebrate"));
+
+ /**
+ * {@code minecraft:entity.ravager.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RAVAGER_DEATH = create(key("entity.ravager.death"));
+
+ /**
+ * {@code minecraft:entity.ravager.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RAVAGER_HURT = create(key("entity.ravager.hurt"));
+
+ /**
+ * {@code minecraft:entity.ravager.roar}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RAVAGER_ROAR = create(key("entity.ravager.roar"));
+
+ /**
+ * {@code minecraft:entity.ravager.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RAVAGER_STEP = create(key("entity.ravager.step"));
+
+ /**
+ * {@code minecraft:entity.ravager.stunned}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_RAVAGER_STUNNED = create(key("entity.ravager.stunned"));
+
+ /**
+ * {@code minecraft:entity.salmon.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SALMON_AMBIENT = create(key("entity.salmon.ambient"));
+
+ /**
+ * {@code minecraft:entity.salmon.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SALMON_DEATH = create(key("entity.salmon.death"));
+
+ /**
+ * {@code minecraft:entity.salmon.flop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SALMON_FLOP = create(key("entity.salmon.flop"));
+
+ /**
+ * {@code minecraft:entity.salmon.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SALMON_HURT = create(key("entity.salmon.hurt"));
+
+ /**
+ * {@code minecraft:entity.sheep.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHEEP_AMBIENT = create(key("entity.sheep.ambient"));
+
+ /**
+ * {@code minecraft:entity.sheep.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHEEP_DEATH = create(key("entity.sheep.death"));
+
+ /**
+ * {@code minecraft:entity.sheep.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHEEP_HURT = create(key("entity.sheep.hurt"));
+
+ /**
+ * {@code minecraft:entity.sheep.shear}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHEEP_SHEAR = create(key("entity.sheep.shear"));
+
+ /**
+ * {@code minecraft:entity.sheep.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHEEP_STEP = create(key("entity.sheep.step"));
+
+ /**
+ * {@code minecraft:entity.shulker.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_AMBIENT = create(key("entity.shulker.ambient"));
+
+ /**
+ * {@code minecraft:entity.shulker.close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_CLOSE = create(key("entity.shulker.close"));
+
+ /**
+ * {@code minecraft:entity.shulker.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_DEATH = create(key("entity.shulker.death"));
+
+ /**
+ * {@code minecraft:entity.shulker.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_HURT = create(key("entity.shulker.hurt"));
+
+ /**
+ * {@code minecraft:entity.shulker.hurt_closed}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_HURT_CLOSED = create(key("entity.shulker.hurt_closed"));
+
+ /**
+ * {@code minecraft:entity.shulker.open}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_OPEN = create(key("entity.shulker.open"));
+
+ /**
+ * {@code minecraft:entity.shulker.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_SHOOT = create(key("entity.shulker.shoot"));
+
+ /**
+ * {@code minecraft:entity.shulker.teleport}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_TELEPORT = create(key("entity.shulker.teleport"));
+
+ /**
+ * {@code minecraft:entity.shulker_bullet.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_BULLET_HIT = create(key("entity.shulker_bullet.hit"));
+
+ /**
+ * {@code minecraft:entity.shulker_bullet.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SHULKER_BULLET_HURT = create(key("entity.shulker_bullet.hurt"));
+
+ /**
+ * {@code minecraft:entity.silverfish.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SILVERFISH_AMBIENT = create(key("entity.silverfish.ambient"));
+
+ /**
+ * {@code minecraft:entity.silverfish.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SILVERFISH_DEATH = create(key("entity.silverfish.death"));
+
+ /**
+ * {@code minecraft:entity.silverfish.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SILVERFISH_HURT = create(key("entity.silverfish.hurt"));
+
+ /**
+ * {@code minecraft:entity.silverfish.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SILVERFISH_STEP = create(key("entity.silverfish.step"));
+
+ /**
+ * {@code minecraft:entity.skeleton.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_AMBIENT = create(key("entity.skeleton.ambient"));
+
+ /**
+ * {@code minecraft:entity.skeleton.converted_to_stray}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_CONVERTED_TO_STRAY = create(key("entity.skeleton.converted_to_stray"));
+
+ /**
+ * {@code minecraft:entity.skeleton.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_DEATH = create(key("entity.skeleton.death"));
+
+ /**
+ * {@code minecraft:entity.skeleton.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_HURT = create(key("entity.skeleton.hurt"));
+
+ /**
+ * {@code minecraft:entity.skeleton.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_SHOOT = create(key("entity.skeleton.shoot"));
+
+ /**
+ * {@code minecraft:entity.skeleton.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_STEP = create(key("entity.skeleton.step"));
+
+ /**
+ * {@code minecraft:entity.skeleton_horse.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_HORSE_AMBIENT = create(key("entity.skeleton_horse.ambient"));
+
+ /**
+ * {@code minecraft:entity.skeleton_horse.ambient_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_HORSE_AMBIENT_WATER = create(key("entity.skeleton_horse.ambient_water"));
+
+ /**
+ * {@code minecraft:entity.skeleton_horse.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_HORSE_DEATH = create(key("entity.skeleton_horse.death"));
+
+ /**
+ * {@code minecraft:entity.skeleton_horse.gallop_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_HORSE_GALLOP_WATER = create(key("entity.skeleton_horse.gallop_water"));
+
+ /**
+ * {@code minecraft:entity.skeleton_horse.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_HORSE_HURT = create(key("entity.skeleton_horse.hurt"));
+
+ /**
+ * {@code minecraft:entity.skeleton_horse.jump_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_HORSE_JUMP_WATER = create(key("entity.skeleton_horse.jump_water"));
+
+ /**
+ * {@code minecraft:entity.skeleton_horse.step_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_HORSE_STEP_WATER = create(key("entity.skeleton_horse.step_water"));
+
+ /**
+ * {@code minecraft:entity.skeleton_horse.swim}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SKELETON_HORSE_SWIM = create(key("entity.skeleton_horse.swim"));
+
+ /**
+ * {@code minecraft:entity.slime.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SLIME_ATTACK = create(key("entity.slime.attack"));
+
+ /**
+ * {@code minecraft:entity.slime.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SLIME_DEATH = create(key("entity.slime.death"));
+
+ /**
+ * {@code minecraft:entity.slime.death_small}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SLIME_DEATH_SMALL = create(key("entity.slime.death_small"));
+
+ /**
+ * {@code minecraft:entity.slime.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SLIME_HURT = create(key("entity.slime.hurt"));
+
+ /**
+ * {@code minecraft:entity.slime.hurt_small}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SLIME_HURT_SMALL = create(key("entity.slime.hurt_small"));
+
+ /**
+ * {@code minecraft:entity.slime.jump}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SLIME_JUMP = create(key("entity.slime.jump"));
+
+ /**
+ * {@code minecraft:entity.slime.jump_small}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SLIME_JUMP_SMALL = create(key("entity.slime.jump_small"));
+
+ /**
+ * {@code minecraft:entity.slime.squish}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SLIME_SQUISH = create(key("entity.slime.squish"));
+
+ /**
+ * {@code minecraft:entity.slime.squish_small}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SLIME_SQUISH_SMALL = create(key("entity.slime.squish_small"));
+
+ /**
+ * {@code minecraft:entity.sniffer.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_DEATH = create(key("entity.sniffer.death"));
+
+ /**
+ * {@code minecraft:entity.sniffer.digging}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_DIGGING = create(key("entity.sniffer.digging"));
+
+ /**
+ * {@code minecraft:entity.sniffer.digging_stop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_DIGGING_STOP = create(key("entity.sniffer.digging_stop"));
+
+ /**
+ * {@code minecraft:entity.sniffer.drop_seed}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_DROP_SEED = create(key("entity.sniffer.drop_seed"));
+
+ /**
+ * {@code minecraft:entity.sniffer.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_EAT = create(key("entity.sniffer.eat"));
+
+ /**
+ * {@code minecraft:entity.sniffer.happy}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_HAPPY = create(key("entity.sniffer.happy"));
+
+ /**
+ * {@code minecraft:entity.sniffer.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_HURT = create(key("entity.sniffer.hurt"));
+
+ /**
+ * {@code minecraft:entity.sniffer.idle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_IDLE = create(key("entity.sniffer.idle"));
+
+ /**
+ * {@code minecraft:entity.sniffer.scenting}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_SCENTING = create(key("entity.sniffer.scenting"));
+
+ /**
+ * {@code minecraft:entity.sniffer.searching}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_SEARCHING = create(key("entity.sniffer.searching"));
+
+ /**
+ * {@code minecraft:entity.sniffer.sniffing}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_SNIFFING = create(key("entity.sniffer.sniffing"));
+
+ /**
+ * {@code minecraft:entity.sniffer.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNIFFER_STEP = create(key("entity.sniffer.step"));
+
+ /**
+ * {@code minecraft:entity.snow_golem.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNOW_GOLEM_AMBIENT = create(key("entity.snow_golem.ambient"));
+
+ /**
+ * {@code minecraft:entity.snow_golem.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNOW_GOLEM_DEATH = create(key("entity.snow_golem.death"));
+
+ /**
+ * {@code minecraft:entity.snow_golem.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNOW_GOLEM_HURT = create(key("entity.snow_golem.hurt"));
+
+ /**
+ * {@code minecraft:entity.snow_golem.shear}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNOW_GOLEM_SHEAR = create(key("entity.snow_golem.shear"));
+
+ /**
+ * {@code minecraft:entity.snow_golem.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNOW_GOLEM_SHOOT = create(key("entity.snow_golem.shoot"));
+
+ /**
+ * {@code minecraft:entity.snowball.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SNOWBALL_THROW = create(key("entity.snowball.throw"));
+
+ /**
+ * {@code minecraft:entity.spider.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SPIDER_AMBIENT = create(key("entity.spider.ambient"));
+
+ /**
+ * {@code minecraft:entity.spider.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SPIDER_DEATH = create(key("entity.spider.death"));
+
+ /**
+ * {@code minecraft:entity.spider.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SPIDER_HURT = create(key("entity.spider.hurt"));
+
+ /**
+ * {@code minecraft:entity.spider.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SPIDER_STEP = create(key("entity.spider.step"));
+
+ /**
+ * {@code minecraft:entity.splash_potion.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SPLASH_POTION_BREAK = create(key("entity.splash_potion.break"));
+
+ /**
+ * {@code minecraft:entity.splash_potion.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SPLASH_POTION_THROW = create(key("entity.splash_potion.throw"));
+
+ /**
+ * {@code minecraft:entity.squid.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SQUID_AMBIENT = create(key("entity.squid.ambient"));
+
+ /**
+ * {@code minecraft:entity.squid.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SQUID_DEATH = create(key("entity.squid.death"));
+
+ /**
+ * {@code minecraft:entity.squid.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SQUID_HURT = create(key("entity.squid.hurt"));
+
+ /**
+ * {@code minecraft:entity.squid.squirt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_SQUID_SQUIRT = create(key("entity.squid.squirt"));
+
+ /**
+ * {@code minecraft:entity.stray.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRAY_AMBIENT = create(key("entity.stray.ambient"));
+
+ /**
+ * {@code minecraft:entity.stray.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRAY_DEATH = create(key("entity.stray.death"));
+
+ /**
+ * {@code minecraft:entity.stray.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRAY_HURT = create(key("entity.stray.hurt"));
+
+ /**
+ * {@code minecraft:entity.stray.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRAY_STEP = create(key("entity.stray.step"));
+
+ /**
+ * {@code minecraft:entity.strider.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRIDER_AMBIENT = create(key("entity.strider.ambient"));
+
+ /**
+ * {@code minecraft:entity.strider.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRIDER_DEATH = create(key("entity.strider.death"));
+
+ /**
+ * {@code minecraft:entity.strider.eat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRIDER_EAT = create(key("entity.strider.eat"));
+
+ /**
+ * {@code minecraft:entity.strider.happy}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRIDER_HAPPY = create(key("entity.strider.happy"));
+
+ /**
+ * {@code minecraft:entity.strider.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRIDER_HURT = create(key("entity.strider.hurt"));
+
+ /**
+ * {@code minecraft:entity.strider.retreat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRIDER_RETREAT = create(key("entity.strider.retreat"));
+
+ /**
+ * {@code minecraft:entity.strider.saddle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRIDER_SADDLE = create(key("entity.strider.saddle"));
+
+ /**
+ * {@code minecraft:entity.strider.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRIDER_STEP = create(key("entity.strider.step"));
+
+ /**
+ * {@code minecraft:entity.strider.step_lava}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_STRIDER_STEP_LAVA = create(key("entity.strider.step_lava"));
+
+ /**
+ * {@code minecraft:entity.tadpole.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TADPOLE_DEATH = create(key("entity.tadpole.death"));
+
+ /**
+ * {@code minecraft:entity.tadpole.flop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TADPOLE_FLOP = create(key("entity.tadpole.flop"));
+
+ /**
+ * {@code minecraft:entity.tadpole.grow_up}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TADPOLE_GROW_UP = create(key("entity.tadpole.grow_up"));
+
+ /**
+ * {@code minecraft:entity.tadpole.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TADPOLE_HURT = create(key("entity.tadpole.hurt"));
+
+ /**
+ * {@code minecraft:entity.tnt.primed}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TNT_PRIMED = create(key("entity.tnt.primed"));
+
+ /**
+ * {@code minecraft:entity.tropical_fish.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TROPICAL_FISH_AMBIENT = create(key("entity.tropical_fish.ambient"));
+
+ /**
+ * {@code minecraft:entity.tropical_fish.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TROPICAL_FISH_DEATH = create(key("entity.tropical_fish.death"));
+
+ /**
+ * {@code minecraft:entity.tropical_fish.flop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TROPICAL_FISH_FLOP = create(key("entity.tropical_fish.flop"));
+
+ /**
+ * {@code minecraft:entity.tropical_fish.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TROPICAL_FISH_HURT = create(key("entity.tropical_fish.hurt"));
+
+ /**
+ * {@code minecraft:entity.turtle.ambient_land}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_AMBIENT_LAND = create(key("entity.turtle.ambient_land"));
+
+ /**
+ * {@code minecraft:entity.turtle.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_DEATH = create(key("entity.turtle.death"));
+
+ /**
+ * {@code minecraft:entity.turtle.death_baby}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_DEATH_BABY = create(key("entity.turtle.death_baby"));
+
+ /**
+ * {@code minecraft:entity.turtle.egg_break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_EGG_BREAK = create(key("entity.turtle.egg_break"));
+
+ /**
+ * {@code minecraft:entity.turtle.egg_crack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_EGG_CRACK = create(key("entity.turtle.egg_crack"));
+
+ /**
+ * {@code minecraft:entity.turtle.egg_hatch}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_EGG_HATCH = create(key("entity.turtle.egg_hatch"));
+
+ /**
+ * {@code minecraft:entity.turtle.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_HURT = create(key("entity.turtle.hurt"));
+
+ /**
+ * {@code minecraft:entity.turtle.hurt_baby}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_HURT_BABY = create(key("entity.turtle.hurt_baby"));
+
+ /**
+ * {@code minecraft:entity.turtle.lay_egg}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_LAY_EGG = create(key("entity.turtle.lay_egg"));
+
+ /**
+ * {@code minecraft:entity.turtle.shamble}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_SHAMBLE = create(key("entity.turtle.shamble"));
+
+ /**
+ * {@code minecraft:entity.turtle.shamble_baby}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_SHAMBLE_BABY = create(key("entity.turtle.shamble_baby"));
+
+ /**
+ * {@code minecraft:entity.turtle.swim}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_TURTLE_SWIM = create(key("entity.turtle.swim"));
+
+ /**
+ * {@code minecraft:entity.vex.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VEX_AMBIENT = create(key("entity.vex.ambient"));
+
+ /**
+ * {@code minecraft:entity.vex.charge}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VEX_CHARGE = create(key("entity.vex.charge"));
+
+ /**
+ * {@code minecraft:entity.vex.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VEX_DEATH = create(key("entity.vex.death"));
+
+ /**
+ * {@code minecraft:entity.vex.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VEX_HURT = create(key("entity.vex.hurt"));
+
+ /**
+ * {@code minecraft:entity.villager.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_AMBIENT = create(key("entity.villager.ambient"));
+
+ /**
+ * {@code minecraft:entity.villager.celebrate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_CELEBRATE = create(key("entity.villager.celebrate"));
+
+ /**
+ * {@code minecraft:entity.villager.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_DEATH = create(key("entity.villager.death"));
+
+ /**
+ * {@code minecraft:entity.villager.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_HURT = create(key("entity.villager.hurt"));
+
+ /**
+ * {@code minecraft:entity.villager.no}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_NO = create(key("entity.villager.no"));
+
+ /**
+ * {@code minecraft:entity.villager.trade}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_TRADE = create(key("entity.villager.trade"));
+
+ /**
+ * {@code minecraft:entity.villager.work_armorer}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_ARMORER = create(key("entity.villager.work_armorer"));
+
+ /**
+ * {@code minecraft:entity.villager.work_butcher}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_BUTCHER = create(key("entity.villager.work_butcher"));
+
+ /**
+ * {@code minecraft:entity.villager.work_cartographer}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_CARTOGRAPHER = create(key("entity.villager.work_cartographer"));
+
+ /**
+ * {@code minecraft:entity.villager.work_cleric}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_CLERIC = create(key("entity.villager.work_cleric"));
+
+ /**
+ * {@code minecraft:entity.villager.work_farmer}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_FARMER = create(key("entity.villager.work_farmer"));
+
+ /**
+ * {@code minecraft:entity.villager.work_fisherman}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_FISHERMAN = create(key("entity.villager.work_fisherman"));
+
+ /**
+ * {@code minecraft:entity.villager.work_fletcher}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_FLETCHER = create(key("entity.villager.work_fletcher"));
+
+ /**
+ * {@code minecraft:entity.villager.work_leatherworker}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_LEATHERWORKER = create(key("entity.villager.work_leatherworker"));
+
+ /**
+ * {@code minecraft:entity.villager.work_librarian}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_LIBRARIAN = create(key("entity.villager.work_librarian"));
+
+ /**
+ * {@code minecraft:entity.villager.work_mason}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_MASON = create(key("entity.villager.work_mason"));
+
+ /**
+ * {@code minecraft:entity.villager.work_shepherd}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_SHEPHERD = create(key("entity.villager.work_shepherd"));
+
+ /**
+ * {@code minecraft:entity.villager.work_toolsmith}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_TOOLSMITH = create(key("entity.villager.work_toolsmith"));
+
+ /**
+ * {@code minecraft:entity.villager.work_weaponsmith}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_WORK_WEAPONSMITH = create(key("entity.villager.work_weaponsmith"));
+
+ /**
+ * {@code minecraft:entity.villager.yes}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VILLAGER_YES = create(key("entity.villager.yes"));
+
+ /**
+ * {@code minecraft:entity.vindicator.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VINDICATOR_AMBIENT = create(key("entity.vindicator.ambient"));
+
+ /**
+ * {@code minecraft:entity.vindicator.celebrate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VINDICATOR_CELEBRATE = create(key("entity.vindicator.celebrate"));
+
+ /**
+ * {@code minecraft:entity.vindicator.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VINDICATOR_DEATH = create(key("entity.vindicator.death"));
+
+ /**
+ * {@code minecraft:entity.vindicator.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_VINDICATOR_HURT = create(key("entity.vindicator.hurt"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_AMBIENT = create(key("entity.wandering_trader.ambient"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_DEATH = create(key("entity.wandering_trader.death"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.disappeared}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_DISAPPEARED = create(key("entity.wandering_trader.disappeared"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.drink_milk}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_DRINK_MILK = create(key("entity.wandering_trader.drink_milk"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.drink_potion}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_DRINK_POTION = create(key("entity.wandering_trader.drink_potion"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_HURT = create(key("entity.wandering_trader.hurt"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.no}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_NO = create(key("entity.wandering_trader.no"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.reappeared}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_REAPPEARED = create(key("entity.wandering_trader.reappeared"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.trade}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_TRADE = create(key("entity.wandering_trader.trade"));
+
+ /**
+ * {@code minecraft:entity.wandering_trader.yes}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WANDERING_TRADER_YES = create(key("entity.wandering_trader.yes"));
+
+ /**
+ * {@code minecraft:entity.warden.agitated}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_AGITATED = create(key("entity.warden.agitated"));
+
+ /**
+ * {@code minecraft:entity.warden.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_AMBIENT = create(key("entity.warden.ambient"));
+
+ /**
+ * {@code minecraft:entity.warden.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_ANGRY = create(key("entity.warden.angry"));
+
+ /**
+ * {@code minecraft:entity.warden.attack_impact}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_ATTACK_IMPACT = create(key("entity.warden.attack_impact"));
+
+ /**
+ * {@code minecraft:entity.warden.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_DEATH = create(key("entity.warden.death"));
+
+ /**
+ * {@code minecraft:entity.warden.dig}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_DIG = create(key("entity.warden.dig"));
+
+ /**
+ * {@code minecraft:entity.warden.emerge}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_EMERGE = create(key("entity.warden.emerge"));
+
+ /**
+ * {@code minecraft:entity.warden.heartbeat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_HEARTBEAT = create(key("entity.warden.heartbeat"));
+
+ /**
+ * {@code minecraft:entity.warden.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_HURT = create(key("entity.warden.hurt"));
+
+ /**
+ * {@code minecraft:entity.warden.listening}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_LISTENING = create(key("entity.warden.listening"));
+
+ /**
+ * {@code minecraft:entity.warden.listening_angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_LISTENING_ANGRY = create(key("entity.warden.listening_angry"));
+
+ /**
+ * {@code minecraft:entity.warden.nearby_close}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_NEARBY_CLOSE = create(key("entity.warden.nearby_close"));
+
+ /**
+ * {@code minecraft:entity.warden.nearby_closer}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_NEARBY_CLOSER = create(key("entity.warden.nearby_closer"));
+
+ /**
+ * {@code minecraft:entity.warden.nearby_closest}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_NEARBY_CLOSEST = create(key("entity.warden.nearby_closest"));
+
+ /**
+ * {@code minecraft:entity.warden.roar}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_ROAR = create(key("entity.warden.roar"));
+
+ /**
+ * {@code minecraft:entity.warden.sniff}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_SNIFF = create(key("entity.warden.sniff"));
+
+ /**
+ * {@code minecraft:entity.warden.sonic_boom}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_SONIC_BOOM = create(key("entity.warden.sonic_boom"));
+
+ /**
+ * {@code minecraft:entity.warden.sonic_charge}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_SONIC_CHARGE = create(key("entity.warden.sonic_charge"));
+
+ /**
+ * {@code minecraft:entity.warden.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_STEP = create(key("entity.warden.step"));
+
+ /**
+ * {@code minecraft:entity.warden.tendril_clicks}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WARDEN_TENDRIL_CLICKS = create(key("entity.warden.tendril_clicks"));
+
+ /**
+ * {@code minecraft:entity.wind_charge.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WIND_CHARGE_THROW = create(key("entity.wind_charge.throw"));
+
+ /**
+ * {@code minecraft:entity.wind_charge.wind_burst}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WIND_CHARGE_WIND_BURST = create(key("entity.wind_charge.wind_burst"));
+
+ /**
+ * {@code minecraft:entity.witch.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITCH_AMBIENT = create(key("entity.witch.ambient"));
+
+ /**
+ * {@code minecraft:entity.witch.celebrate}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITCH_CELEBRATE = create(key("entity.witch.celebrate"));
+
+ /**
+ * {@code minecraft:entity.witch.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITCH_DEATH = create(key("entity.witch.death"));
+
+ /**
+ * {@code minecraft:entity.witch.drink}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITCH_DRINK = create(key("entity.witch.drink"));
+
+ /**
+ * {@code minecraft:entity.witch.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITCH_HURT = create(key("entity.witch.hurt"));
+
+ /**
+ * {@code minecraft:entity.witch.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITCH_THROW = create(key("entity.witch.throw"));
+
+ /**
+ * {@code minecraft:entity.wither.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_AMBIENT = create(key("entity.wither.ambient"));
+
+ /**
+ * {@code minecraft:entity.wither.break_block}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_BREAK_BLOCK = create(key("entity.wither.break_block"));
+
+ /**
+ * {@code minecraft:entity.wither.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_DEATH = create(key("entity.wither.death"));
+
+ /**
+ * {@code minecraft:entity.wither.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_HURT = create(key("entity.wither.hurt"));
+
+ /**
+ * {@code minecraft:entity.wither.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_SHOOT = create(key("entity.wither.shoot"));
+
+ /**
+ * {@code minecraft:entity.wither.spawn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_SPAWN = create(key("entity.wither.spawn"));
+
+ /**
+ * {@code minecraft:entity.wither_skeleton.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_SKELETON_AMBIENT = create(key("entity.wither_skeleton.ambient"));
+
+ /**
+ * {@code minecraft:entity.wither_skeleton.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_SKELETON_DEATH = create(key("entity.wither_skeleton.death"));
+
+ /**
+ * {@code minecraft:entity.wither_skeleton.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_SKELETON_HURT = create(key("entity.wither_skeleton.hurt"));
+
+ /**
+ * {@code minecraft:entity.wither_skeleton.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WITHER_SKELETON_STEP = create(key("entity.wither_skeleton.step"));
+
+ /**
+ * {@code minecraft:entity.wolf.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WOLF_AMBIENT = create(key("entity.wolf.ambient"));
+
+ /**
+ * {@code minecraft:entity.wolf.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WOLF_DEATH = create(key("entity.wolf.death"));
+
+ /**
+ * {@code minecraft:entity.wolf.growl}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WOLF_GROWL = create(key("entity.wolf.growl"));
+
+ /**
+ * {@code minecraft:entity.wolf.howl}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WOLF_HOWL = create(key("entity.wolf.howl"));
+
+ /**
+ * {@code minecraft:entity.wolf.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WOLF_HURT = create(key("entity.wolf.hurt"));
+
+ /**
+ * {@code minecraft:entity.wolf.pant}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WOLF_PANT = create(key("entity.wolf.pant"));
+
+ /**
+ * {@code minecraft:entity.wolf.shake}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WOLF_SHAKE = create(key("entity.wolf.shake"));
+
+ /**
+ * {@code minecraft:entity.wolf.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WOLF_STEP = create(key("entity.wolf.step"));
+
+ /**
+ * {@code minecraft:entity.wolf.whine}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_WOLF_WHINE = create(key("entity.wolf.whine"));
+
+ /**
+ * {@code minecraft:entity.zoglin.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOGLIN_AMBIENT = create(key("entity.zoglin.ambient"));
+
+ /**
+ * {@code minecraft:entity.zoglin.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOGLIN_ANGRY = create(key("entity.zoglin.angry"));
+
+ /**
+ * {@code minecraft:entity.zoglin.attack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOGLIN_ATTACK = create(key("entity.zoglin.attack"));
+
+ /**
+ * {@code minecraft:entity.zoglin.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOGLIN_DEATH = create(key("entity.zoglin.death"));
+
+ /**
+ * {@code minecraft:entity.zoglin.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOGLIN_HURT = create(key("entity.zoglin.hurt"));
+
+ /**
+ * {@code minecraft:entity.zoglin.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOGLIN_STEP = create(key("entity.zoglin.step"));
+
+ /**
+ * {@code minecraft:entity.zombie.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_AMBIENT = create(key("entity.zombie.ambient"));
+
+ /**
+ * {@code minecraft:entity.zombie.attack_iron_door}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_ATTACK_IRON_DOOR = create(key("entity.zombie.attack_iron_door"));
+
+ /**
+ * {@code minecraft:entity.zombie.attack_wooden_door}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_ATTACK_WOODEN_DOOR = create(key("entity.zombie.attack_wooden_door"));
+
+ /**
+ * {@code minecraft:entity.zombie.break_wooden_door}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_BREAK_WOODEN_DOOR = create(key("entity.zombie.break_wooden_door"));
+
+ /**
+ * {@code minecraft:entity.zombie.converted_to_drowned}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_CONVERTED_TO_DROWNED = create(key("entity.zombie.converted_to_drowned"));
+
+ /**
+ * {@code minecraft:entity.zombie.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_DEATH = create(key("entity.zombie.death"));
+
+ /**
+ * {@code minecraft:entity.zombie.destroy_egg}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_DESTROY_EGG = create(key("entity.zombie.destroy_egg"));
+
+ /**
+ * {@code minecraft:entity.zombie.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_HURT = create(key("entity.zombie.hurt"));
+
+ /**
+ * {@code minecraft:entity.zombie.infect}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_INFECT = create(key("entity.zombie.infect"));
+
+ /**
+ * {@code minecraft:entity.zombie.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_STEP = create(key("entity.zombie.step"));
+
+ /**
+ * {@code minecraft:entity.zombie_horse.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_HORSE_AMBIENT = create(key("entity.zombie_horse.ambient"));
+
+ /**
+ * {@code minecraft:entity.zombie_horse.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_HORSE_DEATH = create(key("entity.zombie_horse.death"));
+
+ /**
+ * {@code minecraft:entity.zombie_horse.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_HORSE_HURT = create(key("entity.zombie_horse.hurt"));
+
+ /**
+ * {@code minecraft:entity.zombie_villager.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_VILLAGER_AMBIENT = create(key("entity.zombie_villager.ambient"));
+
+ /**
+ * {@code minecraft:entity.zombie_villager.converted}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_VILLAGER_CONVERTED = create(key("entity.zombie_villager.converted"));
+
+ /**
+ * {@code minecraft:entity.zombie_villager.cure}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_VILLAGER_CURE = create(key("entity.zombie_villager.cure"));
+
+ /**
+ * {@code minecraft:entity.zombie_villager.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_VILLAGER_DEATH = create(key("entity.zombie_villager.death"));
+
+ /**
+ * {@code minecraft:entity.zombie_villager.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_VILLAGER_HURT = create(key("entity.zombie_villager.hurt"));
+
+ /**
+ * {@code minecraft:entity.zombie_villager.step}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIE_VILLAGER_STEP = create(key("entity.zombie_villager.step"));
+
+ /**
+ * {@code minecraft:entity.zombified_piglin.ambient}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIFIED_PIGLIN_AMBIENT = create(key("entity.zombified_piglin.ambient"));
+
+ /**
+ * {@code minecraft:entity.zombified_piglin.angry}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIFIED_PIGLIN_ANGRY = create(key("entity.zombified_piglin.angry"));
+
+ /**
+ * {@code minecraft:entity.zombified_piglin.death}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIFIED_PIGLIN_DEATH = create(key("entity.zombified_piglin.death"));
+
+ /**
+ * {@code minecraft:entity.zombified_piglin.hurt}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ENTITY_ZOMBIFIED_PIGLIN_HURT = create(key("entity.zombified_piglin.hurt"));
+
+ /**
+ * {@code minecraft:event.mob_effect.bad_omen}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> EVENT_MOB_EFFECT_BAD_OMEN = create(key("event.mob_effect.bad_omen"));
+
+ /**
+ * {@code minecraft:event.mob_effect.raid_omen}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> EVENT_MOB_EFFECT_RAID_OMEN = create(key("event.mob_effect.raid_omen"));
+
+ /**
+ * {@code minecraft:event.mob_effect.trial_omen}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> EVENT_MOB_EFFECT_TRIAL_OMEN = create(key("event.mob_effect.trial_omen"));
+
+ /**
+ * {@code minecraft:event.raid.horn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> EVENT_RAID_HORN = create(key("event.raid.horn"));
+
+ /**
+ * {@code minecraft:intentionally_empty}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> INTENTIONALLY_EMPTY = create(key("intentionally_empty"));
+
+ /**
+ * {@code minecraft:item.armor.equip_chain}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_CHAIN = create(key("item.armor.equip_chain"));
+
+ /**
+ * {@code minecraft:item.armor.equip_diamond}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_DIAMOND = create(key("item.armor.equip_diamond"));
+
+ /**
+ * {@code minecraft:item.armor.equip_elytra}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_ELYTRA = create(key("item.armor.equip_elytra"));
+
+ /**
+ * {@code minecraft:item.armor.equip_generic}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_GENERIC = create(key("item.armor.equip_generic"));
+
+ /**
+ * {@code minecraft:item.armor.equip_gold}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_GOLD = create(key("item.armor.equip_gold"));
+
+ /**
+ * {@code minecraft:item.armor.equip_iron}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_IRON = create(key("item.armor.equip_iron"));
+
+ /**
+ * {@code minecraft:item.armor.equip_leather}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_LEATHER = create(key("item.armor.equip_leather"));
+
+ /**
+ * {@code minecraft:item.armor.equip_netherite}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_NETHERITE = create(key("item.armor.equip_netherite"));
+
+ /**
+ * {@code minecraft:item.armor.equip_turtle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_TURTLE = create(key("item.armor.equip_turtle"));
+
+ /**
+ * {@code minecraft:item.armor.equip_wolf}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_EQUIP_WOLF = create(key("item.armor.equip_wolf"));
+
+ /**
+ * {@code minecraft:item.armor.unequip_wolf}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ARMOR_UNEQUIP_WOLF = create(key("item.armor.unequip_wolf"));
+
+ /**
+ * {@code minecraft:item.axe.scrape}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_AXE_SCRAPE = create(key("item.axe.scrape"));
+
+ /**
+ * {@code minecraft:item.axe.strip}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_AXE_STRIP = create(key("item.axe.strip"));
+
+ /**
+ * {@code minecraft:item.axe.wax_off}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_AXE_WAX_OFF = create(key("item.axe.wax_off"));
+
+ /**
+ * {@code minecraft:item.bone_meal.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BONE_MEAL_USE = create(key("item.bone_meal.use"));
+
+ /**
+ * {@code minecraft:item.book.page_turn}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BOOK_PAGE_TURN = create(key("item.book.page_turn"));
+
+ /**
+ * {@code minecraft:item.book.put}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BOOK_PUT = create(key("item.book.put"));
+
+ /**
+ * {@code minecraft:item.bottle.empty}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BOTTLE_EMPTY = create(key("item.bottle.empty"));
+
+ /**
+ * {@code minecraft:item.bottle.fill}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BOTTLE_FILL = create(key("item.bottle.fill"));
+
+ /**
+ * {@code minecraft:item.bottle.fill_dragonbreath}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BOTTLE_FILL_DRAGONBREATH = create(key("item.bottle.fill_dragonbreath"));
+
+ /**
+ * {@code minecraft:item.brush.brushing.generic}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BRUSH_BRUSHING_GENERIC = create(key("item.brush.brushing.generic"));
+
+ /**
+ * {@code minecraft:item.brush.brushing.gravel}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BRUSH_BRUSHING_GRAVEL = create(key("item.brush.brushing.gravel"));
+
+ /**
+ * {@code minecraft:item.brush.brushing.gravel.complete}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BRUSH_BRUSHING_GRAVEL_COMPLETE = create(key("item.brush.brushing.gravel.complete"));
+
+ /**
+ * {@code minecraft:item.brush.brushing.sand}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BRUSH_BRUSHING_SAND = create(key("item.brush.brushing.sand"));
+
+ /**
+ * {@code minecraft:item.brush.brushing.sand.complete}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BRUSH_BRUSHING_SAND_COMPLETE = create(key("item.brush.brushing.sand.complete"));
+
+ /**
+ * {@code minecraft:item.bucket.empty}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_EMPTY = create(key("item.bucket.empty"));
+
+ /**
+ * {@code minecraft:item.bucket.empty_axolotl}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_EMPTY_AXOLOTL = create(key("item.bucket.empty_axolotl"));
+
+ /**
+ * {@code minecraft:item.bucket.empty_fish}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_EMPTY_FISH = create(key("item.bucket.empty_fish"));
+
+ /**
+ * {@code minecraft:item.bucket.empty_lava}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_EMPTY_LAVA = create(key("item.bucket.empty_lava"));
+
+ /**
+ * {@code minecraft:item.bucket.empty_powder_snow}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_EMPTY_POWDER_SNOW = create(key("item.bucket.empty_powder_snow"));
+
+ /**
+ * {@code minecraft:item.bucket.empty_tadpole}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_EMPTY_TADPOLE = create(key("item.bucket.empty_tadpole"));
+
+ /**
+ * {@code minecraft:item.bucket.fill}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_FILL = create(key("item.bucket.fill"));
+
+ /**
+ * {@code minecraft:item.bucket.fill_axolotl}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_FILL_AXOLOTL = create(key("item.bucket.fill_axolotl"));
+
+ /**
+ * {@code minecraft:item.bucket.fill_fish}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_FILL_FISH = create(key("item.bucket.fill_fish"));
+
+ /**
+ * {@code minecraft:item.bucket.fill_lava}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_FILL_LAVA = create(key("item.bucket.fill_lava"));
+
+ /**
+ * {@code minecraft:item.bucket.fill_powder_snow}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_FILL_POWDER_SNOW = create(key("item.bucket.fill_powder_snow"));
+
+ /**
+ * {@code minecraft:item.bucket.fill_tadpole}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUCKET_FILL_TADPOLE = create(key("item.bucket.fill_tadpole"));
+
+ /**
+ * {@code minecraft:item.bundle.drop_contents}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUNDLE_DROP_CONTENTS = create(key("item.bundle.drop_contents"));
+
+ /**
+ * {@code minecraft:item.bundle.insert}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUNDLE_INSERT = create(key("item.bundle.insert"));
+
+ /**
+ * {@code minecraft:item.bundle.insert_fail}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUNDLE_INSERT_FAIL = create(key("item.bundle.insert_fail"));
+
+ /**
+ * {@code minecraft:item.bundle.remove_one}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_BUNDLE_REMOVE_ONE = create(key("item.bundle.remove_one"));
+
+ /**
+ * {@code minecraft:item.chorus_fruit.teleport}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CHORUS_FRUIT_TELEPORT = create(key("item.chorus_fruit.teleport"));
+
+ /**
+ * {@code minecraft:item.crop.plant}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CROP_PLANT = create(key("item.crop.plant"));
+
+ /**
+ * {@code minecraft:item.crossbow.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CROSSBOW_HIT = create(key("item.crossbow.hit"));
+
+ /**
+ * {@code minecraft:item.crossbow.loading_end}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CROSSBOW_LOADING_END = create(key("item.crossbow.loading_end"));
+
+ /**
+ * {@code minecraft:item.crossbow.loading_middle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CROSSBOW_LOADING_MIDDLE = create(key("item.crossbow.loading_middle"));
+
+ /**
+ * {@code minecraft:item.crossbow.loading_start}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CROSSBOW_LOADING_START = create(key("item.crossbow.loading_start"));
+
+ /**
+ * {@code minecraft:item.crossbow.quick_charge_1}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CROSSBOW_QUICK_CHARGE_1 = create(key("item.crossbow.quick_charge_1"));
+
+ /**
+ * {@code minecraft:item.crossbow.quick_charge_2}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CROSSBOW_QUICK_CHARGE_2 = create(key("item.crossbow.quick_charge_2"));
+
+ /**
+ * {@code minecraft:item.crossbow.quick_charge_3}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CROSSBOW_QUICK_CHARGE_3 = create(key("item.crossbow.quick_charge_3"));
+
+ /**
+ * {@code minecraft:item.crossbow.shoot}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_CROSSBOW_SHOOT = create(key("item.crossbow.shoot"));
+
+ /**
+ * {@code minecraft:item.dye.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_DYE_USE = create(key("item.dye.use"));
+
+ /**
+ * {@code minecraft:item.elytra.flying}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_ELYTRA_FLYING = create(key("item.elytra.flying"));
+
+ /**
+ * {@code minecraft:item.firecharge.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_FIRECHARGE_USE = create(key("item.firecharge.use"));
+
+ /**
+ * {@code minecraft:item.flintandsteel.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_FLINTANDSTEEL_USE = create(key("item.flintandsteel.use"));
+
+ /**
+ * {@code minecraft:item.glow_ink_sac.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_GLOW_INK_SAC_USE = create(key("item.glow_ink_sac.use"));
+
+ /**
+ * {@code minecraft:item.goat_horn.sound.0}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_GOAT_HORN_SOUND_0 = create(key("item.goat_horn.sound.0"));
+
+ /**
+ * {@code minecraft:item.goat_horn.sound.1}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_GOAT_HORN_SOUND_1 = create(key("item.goat_horn.sound.1"));
+
+ /**
+ * {@code minecraft:item.goat_horn.sound.2}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_GOAT_HORN_SOUND_2 = create(key("item.goat_horn.sound.2"));
+
+ /**
+ * {@code minecraft:item.goat_horn.sound.3}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_GOAT_HORN_SOUND_3 = create(key("item.goat_horn.sound.3"));
+
+ /**
+ * {@code minecraft:item.goat_horn.sound.4}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_GOAT_HORN_SOUND_4 = create(key("item.goat_horn.sound.4"));
+
+ /**
+ * {@code minecraft:item.goat_horn.sound.5}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_GOAT_HORN_SOUND_5 = create(key("item.goat_horn.sound.5"));
+
+ /**
+ * {@code minecraft:item.goat_horn.sound.6}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_GOAT_HORN_SOUND_6 = create(key("item.goat_horn.sound.6"));
+
+ /**
+ * {@code minecraft:item.goat_horn.sound.7}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_GOAT_HORN_SOUND_7 = create(key("item.goat_horn.sound.7"));
+
+ /**
+ * {@code minecraft:item.hoe.till}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_HOE_TILL = create(key("item.hoe.till"));
+
+ /**
+ * {@code minecraft:item.honey_bottle.drink}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_HONEY_BOTTLE_DRINK = create(key("item.honey_bottle.drink"));
+
+ /**
+ * {@code minecraft:item.honeycomb.wax_on}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_HONEYCOMB_WAX_ON = create(key("item.honeycomb.wax_on"));
+
+ /**
+ * {@code minecraft:item.ink_sac.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_INK_SAC_USE = create(key("item.ink_sac.use"));
+
+ /**
+ * {@code minecraft:item.lodestone_compass.lock}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_LODESTONE_COMPASS_LOCK = create(key("item.lodestone_compass.lock"));
+
+ /**
+ * {@code minecraft:item.mace.smash_air}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_MACE_SMASH_AIR = create(key("item.mace.smash_air"));
+
+ /**
+ * {@code minecraft:item.mace.smash_ground}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_MACE_SMASH_GROUND = create(key("item.mace.smash_ground"));
+
+ /**
+ * {@code minecraft:item.mace.smash_ground_heavy}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_MACE_SMASH_GROUND_HEAVY = create(key("item.mace.smash_ground_heavy"));
+
+ /**
+ * {@code minecraft:item.nether_wart.plant}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_NETHER_WART_PLANT = create(key("item.nether_wart.plant"));
+
+ /**
+ * {@code minecraft:item.ominous_bottle.dispose}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_OMINOUS_BOTTLE_DISPOSE = create(key("item.ominous_bottle.dispose"));
+
+ /**
+ * {@code minecraft:item.shield.block}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_SHIELD_BLOCK = create(key("item.shield.block"));
+
+ /**
+ * {@code minecraft:item.shield.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_SHIELD_BREAK = create(key("item.shield.break"));
+
+ /**
+ * {@code minecraft:item.shovel.flatten}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_SHOVEL_FLATTEN = create(key("item.shovel.flatten"));
+
+ /**
+ * {@code minecraft:item.spyglass.stop_using}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_SPYGLASS_STOP_USING = create(key("item.spyglass.stop_using"));
+
+ /**
+ * {@code minecraft:item.spyglass.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_SPYGLASS_USE = create(key("item.spyglass.use"));
+
+ /**
+ * {@code minecraft:item.totem.use}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_TOTEM_USE = create(key("item.totem.use"));
+
+ /**
+ * {@code minecraft:item.trident.hit}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_TRIDENT_HIT = create(key("item.trident.hit"));
+
+ /**
+ * {@code minecraft:item.trident.hit_ground}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_TRIDENT_HIT_GROUND = create(key("item.trident.hit_ground"));
+
+ /**
+ * {@code minecraft:item.trident.return}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_TRIDENT_RETURN = create(key("item.trident.return"));
+
+ /**
+ * {@code minecraft:item.trident.riptide_1}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_TRIDENT_RIPTIDE_1 = create(key("item.trident.riptide_1"));
+
+ /**
+ * {@code minecraft:item.trident.riptide_2}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_TRIDENT_RIPTIDE_2 = create(key("item.trident.riptide_2"));
+
+ /**
+ * {@code minecraft:item.trident.riptide_3}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_TRIDENT_RIPTIDE_3 = create(key("item.trident.riptide_3"));
+
+ /**
+ * {@code minecraft:item.trident.throw}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_TRIDENT_THROW = create(key("item.trident.throw"));
+
+ /**
+ * {@code minecraft:item.trident.thunder}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_TRIDENT_THUNDER = create(key("item.trident.thunder"));
+
+ /**
+ * {@code minecraft:item.wolf_armor.break}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_WOLF_ARMOR_BREAK = create(key("item.wolf_armor.break"));
+
+ /**
+ * {@code minecraft:item.wolf_armor.crack}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_WOLF_ARMOR_CRACK = create(key("item.wolf_armor.crack"));
+
+ /**
+ * {@code minecraft:item.wolf_armor.damage}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_WOLF_ARMOR_DAMAGE = create(key("item.wolf_armor.damage"));
+
+ /**
+ * {@code minecraft:item.wolf_armor.repair}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> ITEM_WOLF_ARMOR_REPAIR = create(key("item.wolf_armor.repair"));
+
+ /**
+ * {@code minecraft:music.creative}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_CREATIVE = create(key("music.creative"));
+
+ /**
+ * {@code minecraft:music.credits}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_CREDITS = create(key("music.credits"));
+
+ /**
+ * {@code minecraft:music.dragon}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DRAGON = create(key("music.dragon"));
+
+ /**
+ * {@code minecraft:music.end}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_END = create(key("music.end"));
+
+ /**
+ * {@code minecraft:music.game}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_GAME = create(key("music.game"));
+
+ /**
+ * {@code minecraft:music.menu}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_MENU = create(key("music.menu"));
+
+ /**
+ * {@code minecraft:music.nether.basalt_deltas}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_NETHER_BASALT_DELTAS = create(key("music.nether.basalt_deltas"));
+
+ /**
+ * {@code minecraft:music.nether.crimson_forest}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_NETHER_CRIMSON_FOREST = create(key("music.nether.crimson_forest"));
+
+ /**
+ * {@code minecraft:music.nether.nether_wastes}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_NETHER_NETHER_WASTES = create(key("music.nether.nether_wastes"));
+
+ /**
+ * {@code minecraft:music.nether.soul_sand_valley}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_NETHER_SOUL_SAND_VALLEY = create(key("music.nether.soul_sand_valley"));
+
+ /**
+ * {@code minecraft:music.nether.warped_forest}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_NETHER_WARPED_FOREST = create(key("music.nether.warped_forest"));
+
+ /**
+ * {@code minecraft:music.overworld.badlands}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_BADLANDS = create(key("music.overworld.badlands"));
+
+ /**
+ * {@code minecraft:music.overworld.bamboo_jungle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_BAMBOO_JUNGLE = create(key("music.overworld.bamboo_jungle"));
+
+ /**
+ * {@code minecraft:music.overworld.cherry_grove}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_CHERRY_GROVE = create(key("music.overworld.cherry_grove"));
+
+ /**
+ * {@code minecraft:music.overworld.deep_dark}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_DEEP_DARK = create(key("music.overworld.deep_dark"));
+
+ /**
+ * {@code minecraft:music.overworld.desert}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_DESERT = create(key("music.overworld.desert"));
+
+ /**
+ * {@code minecraft:music.overworld.dripstone_caves}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_DRIPSTONE_CAVES = create(key("music.overworld.dripstone_caves"));
+
+ /**
+ * {@code minecraft:music.overworld.flower_forest}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_FLOWER_FOREST = create(key("music.overworld.flower_forest"));
+
+ /**
+ * {@code minecraft:music.overworld.forest}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_FOREST = create(key("music.overworld.forest"));
+
+ /**
+ * {@code minecraft:music.overworld.frozen_peaks}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_FROZEN_PEAKS = create(key("music.overworld.frozen_peaks"));
+
+ /**
+ * {@code minecraft:music.overworld.grove}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_GROVE = create(key("music.overworld.grove"));
+
+ /**
+ * {@code minecraft:music.overworld.jagged_peaks}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_JAGGED_PEAKS = create(key("music.overworld.jagged_peaks"));
+
+ /**
+ * {@code minecraft:music.overworld.jungle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_JUNGLE = create(key("music.overworld.jungle"));
+
+ /**
+ * {@code minecraft:music.overworld.lush_caves}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_LUSH_CAVES = create(key("music.overworld.lush_caves"));
+
+ /**
+ * {@code minecraft:music.overworld.meadow}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_MEADOW = create(key("music.overworld.meadow"));
+
+ /**
+ * {@code minecraft:music.overworld.old_growth_taiga}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_OLD_GROWTH_TAIGA = create(key("music.overworld.old_growth_taiga"));
+
+ /**
+ * {@code minecraft:music.overworld.snowy_slopes}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_SNOWY_SLOPES = create(key("music.overworld.snowy_slopes"));
+
+ /**
+ * {@code minecraft:music.overworld.sparse_jungle}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_SPARSE_JUNGLE = create(key("music.overworld.sparse_jungle"));
+
+ /**
+ * {@code minecraft:music.overworld.stony_peaks}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_STONY_PEAKS = create(key("music.overworld.stony_peaks"));
+
+ /**
+ * {@code minecraft:music.overworld.swamp}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_OVERWORLD_SWAMP = create(key("music.overworld.swamp"));
+
+ /**
+ * {@code minecraft:music.under_water}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_UNDER_WATER = create(key("music.under_water"));
+
+ /**
+ * {@code minecraft:music_disc.11}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_11 = create(key("music_disc.11"));
+
+ /**
+ * {@code minecraft:music_disc.13}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_13 = create(key("music_disc.13"));
+
+ /**
+ * {@code minecraft:music_disc.5}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_5 = create(key("music_disc.5"));
+
+ /**
+ * {@code minecraft:music_disc.blocks}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_BLOCKS = create(key("music_disc.blocks"));
+
+ /**
+ * {@code minecraft:music_disc.cat}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_CAT = create(key("music_disc.cat"));
+
+ /**
+ * {@code minecraft:music_disc.chirp}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_CHIRP = create(key("music_disc.chirp"));
+
+ /**
+ * {@code minecraft:music_disc.creator}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_CREATOR = create(key("music_disc.creator"));
+
+ /**
+ * {@code minecraft:music_disc.creator_music_box}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_CREATOR_MUSIC_BOX = create(key("music_disc.creator_music_box"));
+
+ /**
+ * {@code minecraft:music_disc.far}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_FAR = create(key("music_disc.far"));
+
+ /**
+ * {@code minecraft:music_disc.mall}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_MALL = create(key("music_disc.mall"));
+
+ /**
+ * {@code minecraft:music_disc.mellohi}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_MELLOHI = create(key("music_disc.mellohi"));
+
+ /**
+ * {@code minecraft:music_disc.otherside}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_OTHERSIDE = create(key("music_disc.otherside"));
+
+ /**
+ * {@code minecraft:music_disc.pigstep}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_PIGSTEP = create(key("music_disc.pigstep"));
+
+ /**
+ * {@code minecraft:music_disc.precipice}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_PRECIPICE = create(key("music_disc.precipice"));
+
+ /**
+ * {@code minecraft:music_disc.relic}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_RELIC = create(key("music_disc.relic"));
+
+ /**
+ * {@code minecraft:music_disc.stal}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_STAL = create(key("music_disc.stal"));
+
+ /**
+ * {@code minecraft:music_disc.strad}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_STRAD = create(key("music_disc.strad"));
+
+ /**
+ * {@code minecraft:music_disc.wait}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_WAIT = create(key("music_disc.wait"));
+
+ /**
+ * {@code minecraft:music_disc.ward}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> MUSIC_DISC_WARD = create(key("music_disc.ward"));
+
+ /**
+ * {@code minecraft:particle.soul_escape}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> PARTICLE_SOUL_ESCAPE = create(key("particle.soul_escape"));
+
+ /**
+ * {@code minecraft:ui.button.click}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_BUTTON_CLICK = create(key("ui.button.click"));
+
+ /**
+ * {@code minecraft:ui.cartography_table.take_result}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_CARTOGRAPHY_TABLE_TAKE_RESULT = create(key("ui.cartography_table.take_result"));
+
+ /**
+ * {@code minecraft:ui.hud.bubble_pop}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_HUD_BUBBLE_POP = create(key("ui.hud.bubble_pop"));
+
+ /**
+ * {@code minecraft:ui.loom.select_pattern}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_LOOM_SELECT_PATTERN = create(key("ui.loom.select_pattern"));
+
+ /**
+ * {@code minecraft:ui.loom.take_result}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_LOOM_TAKE_RESULT = create(key("ui.loom.take_result"));
+
+ /**
+ * {@code minecraft:ui.stonecutter.select_recipe}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_STONECUTTER_SELECT_RECIPE = create(key("ui.stonecutter.select_recipe"));
+
+ /**
+ * {@code minecraft:ui.stonecutter.take_result}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_STONECUTTER_TAKE_RESULT = create(key("ui.stonecutter.take_result"));
+
+ /**
+ * {@code minecraft:ui.toast.challenge_complete}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_TOAST_CHALLENGE_COMPLETE = create(key("ui.toast.challenge_complete"));
+
+ /**
+ * {@code minecraft:ui.toast.in}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_TOAST_IN = create(key("ui.toast.in"));
+
+ /**
+ * {@code minecraft:ui.toast.out}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> UI_TOAST_OUT = create(key("ui.toast.out"));
+
+ /**
+ * {@code minecraft:weather.rain}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> WEATHER_RAIN = create(key("weather.rain"));
+
+ /**
+ * {@code minecraft:weather.rain.above}
+ *
+ * @apiNote This field is version-dependant and may be removed in future Minecraft versions
+ */
+ public static final TypedKey<Sound> WEATHER_RAIN_ABOVE = create(key("weather.rain.above"));
+
+ private SoundEventKeys() {
+ }
+
+ private static @NonNull TypedKey<Sound> create(final @NonNull Key key) {
+ return TypedKey.create(RegistryKey.SOUND_EVENT, key);
+ }
+}
diff --git a/paper-api-generator/src/main/java/io/papermc/generator/Generators.java b/paper-api-generator/src/main/java/io/papermc/generator/Generators.java
index 0ff8225f51..d5ddc06fa9 100644
--- a/paper-api-generator/src/main/java/io/papermc/generator/Generators.java
+++ b/paper-api-generator/src/main/java/io/papermc/generator/Generators.java
@@ -8,10 +8,12 @@ import io.papermc.paper.registry.RegistryKey;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
+import org.bukkit.Art;
import org.bukkit.Fluid;
import org.bukkit.GameEvent;
import org.bukkit.JukeboxSong;
import org.bukkit.MusicInstrument;
+import org.bukkit.Sound;
import org.bukkit.attribute.Attribute;
import org.bukkit.block.Biome;
import org.bukkit.block.BlockType;
@@ -49,6 +51,7 @@ public interface Generators {
simpleKey("MenuTypeKeys", MenuType.class, Registries.MENU, RegistryKey.MENU, false),
simpleKey("AttributeKeys", Attribute.class, Registries.ATTRIBUTE, RegistryKey.ATTRIBUTE, false),
simpleKey("FluidKeys", Fluid.class, Registries.FLUID, RegistryKey.FLUID, false),
+ simpleKey("SoundEventKeys", Sound.class, Registries.SOUND_EVENT, RegistryKey.SOUND_EVENT, false),
// data-driven
simpleKey("BiomeKeys", Biome.class, Registries.BIOME, RegistryKey.BIOME, true),
@@ -60,6 +63,7 @@ public interface Generators {
simpleKey("EnchantmentKeys", Enchantment.class, Registries.ENCHANTMENT, RegistryKey.ENCHANTMENT, false),
simpleKey("JukeboxSongKeys", JukeboxSong.class, Registries.JUKEBOX_SONG, RegistryKey.JUKEBOX_SONG, true),
simpleKey("BannerPatternKeys", PatternType.class, Registries.BANNER_PATTERN, RegistryKey.BANNER_PATTERN, true),
+ simpleKey("PaintingVariantKeys", Art.class, Registries.PAINTING_VARIANT, RegistryKey.PAINTING_VARIANT, true),
// tags
simpleTagKey("EnchantmentTagKeys", Enchantment.class, Registries.ENCHANTMENT, RegistryKey.ENCHANTMENT),
diff --git a/patches/api/0004-Code-Generation.patch b/patches/api/0004-Code-Generation.patch
index e265943f63..663b52929d 100644
--- a/patches/api/0004-Code-Generation.patch
+++ b/patches/api/0004-Code-Generation.patch
@@ -85,10 +85,10 @@ index 0000000000000000000000000000000000000000..2512dba27edfdccbc4430815b6cba048
+}
diff --git a/src/main/java/io/papermc/paper/registry/RegistryKey.java b/src/main/java/io/papermc/paper/registry/RegistryKey.java
new file mode 100644
-index 0000000000000000000000000000000000000000..fdef87eec3765523b00c987d4c1ccc289882e95d
+index 0000000000000000000000000000000000000000..d895b36e14f7fab6e3e78160dfa559d2c5331601
--- /dev/null
+++ b/src/main/java/io/papermc/paper/registry/RegistryKey.java
-@@ -0,0 +1,188 @@
+@@ -0,0 +1,196 @@
+package io.papermc.paper.registry;
+
+import net.kyori.adventure.key.Keyed;
@@ -214,6 +214,11 @@ index 0000000000000000000000000000000000000000..fdef87eec3765523b00c987d4c1ccc28
+ * @see io.papermc.paper.registry.keys.FluidKeys
+ */
+ RegistryKey<Fluid> FLUID = create("fluid");
++ /**
++ * Built-in registry for sound events.
++ * @see io.papermc.paper.registry.keys.SoundEventKeys
++ */
++ RegistryKey<Sound> SOUND_EVENT = create("sound_event");
+
+
+
@@ -265,16 +270,19 @@ index 0000000000000000000000000000000000000000..fdef87eec3765523b00c987d4c1ccc28
+ * @see io.papermc.paper.registry.keys.BannerPatternKeys
+ */
+ RegistryKey<PatternType> BANNER_PATTERN = create("banner_pattern");
++ /**
++ * Data-driven registry for painting variants.
++ * @see io.papermc.paper.registry.keys.PaintingVariantKeys
++ */
++ RegistryKey<Art> PAINTING_VARIANT = create("painting_variant");
+
+
+ /* ******************* *
+ * API-only Registries *
+ * ******************* */
-+ RegistryKey<Art> PAINTING_VARIANT = create("painting_variant");
+ RegistryKey<EntityType> ENTITY_TYPE = create("entity_type");
+ RegistryKey<Particle> PARTICLE_TYPE = create("particle_type");
+ RegistryKey<PotionType> POTION = create("potion");
-+ RegistryKey<Sound> SOUND_EVENT = create("sound_event");
+ RegistryKey<MemoryKey<?>> MEMORY_MODULE_TYPE = create("memory_module_type");
+}
diff --git a/src/main/java/io/papermc/paper/registry/RegistryKeyImpl.java b/src/main/java/io/papermc/paper/registry/RegistryKeyImpl.java
diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch
index db5ecc6561..b3b749455a 100644
--- a/patches/api/0006-Adventure.patch
+++ b/patches/api/0006-Adventure.patch
@@ -1494,27 +1494,27 @@ index 18a53194483410c4d5ad35f901c90d44efaeef60..aff43d77f31d81b82e5fc5fea6272dda
String getDisplayName();
diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java
-index 8824e83039195882fa9c2a854460b0aeedfb7d21..cf17af024b1953b6f21f18885411ea6a0baa1d4c 100644
+index 4204a7dac18c60f177a5f70693388cd4ddc3bc0c..04e890be72b18259f1af2833879b4d9af51b1f02 100644
--- a/src/main/java/org/bukkit/Sound.java
+++ b/src/main/java/org/bukkit/Sound.java
-@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
- * guarantee values will not be removed from this Enum. As such, you should not
+@@ -20,7 +20,7 @@ import org.jetbrains.annotations.NotNull;
+ * guarantee values will not be removed from this interface. As such, you should not
* depend on the ordinal values of this class.
*/
--public enum Sound implements Keyed {
-+public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Paper - implement Sound.Type
-
- AMBIENT_BASALT_DELTAS_ADDITIONS("ambient.basalt_deltas.additions"),
- AMBIENT_BASALT_DELTAS_LOOP("ambient.basalt_deltas.loop"),
-@@ -1660,4 +1660,11 @@ public enum Sound implements Keyed {
- public NamespacedKey getKey() {
- return key;
+-public interface Sound extends OldEnum<Sound>, Keyed {
++public interface Sound extends OldEnum<Sound>, Keyed, net.kyori.adventure.sound.Sound.Type { // Paper - implement Sound.Type
+
+ Sound AMBIENT_BASALT_DELTAS_ADDITIONS = getSound("ambient.basalt_deltas.additions");
+ Sound AMBIENT_BASALT_DELTAS_LOOP = getSound("ambient.basalt_deltas.loop");
+@@ -1698,4 +1698,11 @@ public interface Sound extends OldEnum<Sound>, Keyed {
+ static Sound[] values() {
+ return Lists.newArrayList(Registry.SOUNDS).toArray(new Sound[0]);
}
+
+ // Paper start
+ @Override
-+ public net.kyori.adventure.key.@NotNull Key key() {
-+ return this.key;
++ default net.kyori.adventure.key.@NotNull Key key() {
++ return this.getKey();
+ }
+ // Paper end
}
diff --git a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
index 300cf32990..8551ae81c5 100644
--- a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
+++ b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch
@@ -11,34 +11,6 @@ that continues to have use (internally).
These do not help plugin developers if they bring moise noise than value.
-diff --git a/src/main/java/org/bukkit/Art.java b/src/main/java/org/bukkit/Art.java
-index dadff073abb2dec39111e677ec77ffdb2b7ff9a9..042d1d932a33022e4fc873652f70dc6ed342d46a 100644
---- a/src/main/java/org/bukkit/Art.java
-+++ b/src/main/java/org/bukkit/Art.java
-@@ -96,9 +96,9 @@ public enum Art implements Keyed {
- * Get the ID of this painting.
- *
- * @return The ID of this painting
-- * @deprecated Magic value
-+ * @apiNote Internal Use Only
- */
-- @Deprecated
-+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
- public int getId() {
- return id;
- }
-@@ -114,9 +114,9 @@ public enum Art implements Keyed {
- *
- * @param id The ID
- * @return The painting
-- * @deprecated Magic value
-+ * @apiNote Internal Use Only
- */
-- @Deprecated
-+ @org.jetbrains.annotations.ApiStatus.Internal // Paper
- @Nullable
- public static Art getById(int id) {
- return BY_ID.get(id);
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 577b4b89b50441572f0edd9325047c38e25e782e..949ffc320502e46493183cc3ef621d9c4edbe7d6 100644
--- a/src/main/java/org/bukkit/Bukkit.java
@@ -453,7 +425,7 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f
return note;
}
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 774f9bd0ef95d385dc3f715753c83e05fcc2bdff..26399345dd02031712994da1553417186b8c7370 100644
+index f0e806865910578110f4794f7ebe93640516e7c1..b4f297f90e3c1deaa1fc3f4418418588ab19b6c5 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
@@ -248,14 +248,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
@@ -932,10 +904,10 @@ index 9e0137ea412ec8c65b2903a76499ba8222446ea3..db7dafba43b50146a32d749ec043c5d5
/**
diff --git a/src/main/java/org/bukkit/entity/Minecart.java b/src/main/java/org/bukkit/entity/Minecart.java
-index 4910075d0fb21b4dc4fab57894f9c7cca3093e3b..9125cc9f60258938946ee30932f0299edcd9573b 100644
+index e5c43a80375624b11653b0693a7883a490d73c6d..d9ad5fd48eec569eb4aef2aaf527ba24d2db3254 100644
--- a/src/main/java/org/bukkit/entity/Minecart.java
+++ b/src/main/java/org/bukkit/entity/Minecart.java
-@@ -106,7 +106,9 @@ public interface Minecart extends Vehicle {
+@@ -102,7 +102,9 @@ public interface Minecart extends Vehicle {
* Passing a null value will set the minecart to have no display block.
*
* @param material the material to set as display block.
@@ -945,7 +917,7 @@ index 4910075d0fb21b4dc4fab57894f9c7cca3093e3b..9125cc9f60258938946ee30932f0299e
public void setDisplayBlock(@Nullable MaterialData material);
/**
-@@ -114,8 +116,10 @@ public interface Minecart extends Vehicle {
+@@ -110,8 +112,10 @@ public interface Minecart extends Vehicle {
* This function will return the type AIR if none is set.
*
* @return the block displayed by this minecart.
diff --git a/patches/api/0225-Add-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/api/0225-Add-API-to-get-Material-from-Boats-and-Minecarts.patch
index 143ac8e614..9021d13c24 100644
--- a/patches/api/0225-Add-API-to-get-Material-from-Boats-and-Minecarts.patch
+++ b/patches/api/0225-Add-API-to-get-Material-from-Boats-and-Minecarts.patch
@@ -24,7 +24,7 @@ index dbdd2c1ad74a4d56e282736cd06d6937701f2e5c..a0fb3c44405f6362f8a1613661d507e4
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/entity/Minecart.java b/src/main/java/org/bukkit/entity/Minecart.java
-index 9125cc9f60258938946ee30932f0299edcd9573b..148d8cddba48a886eddef72a3de63d5eaa15949f 100644
+index d9ad5fd48eec569eb4aef2aaf527ba24d2db3254..c3c94a5694f1e8d79e5acc45af1cd2e0fa6a621f 100644
--- a/src/main/java/org/bukkit/entity/Minecart.java
+++ b/src/main/java/org/bukkit/entity/Minecart.java
@@ -1,6 +1,7 @@
@@ -35,7 +35,7 @@ index 9125cc9f60258938946ee30932f0299edcd9573b..148d8cddba48a886eddef72a3de63d5e
import org.bukkit.block.data.BlockData;
import org.bukkit.material.MaterialData;
import org.bukkit.util.Vector;
-@@ -152,4 +153,14 @@ public interface Minecart extends Vehicle {
+@@ -148,4 +149,14 @@ public interface Minecart extends Vehicle {
* @return the current block offset for this minecart.
*/
public int getDisplayBlockOffset();
diff --git a/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch
index 5c4084cf8c..91cfa52956 100644
--- a/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch
+++ b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch
@@ -207,10 +207,19 @@ index e0f652117e585882693736de8165ae9c689e1d68..fbe14c327ee9c1ac07893853ca7c699e
return server.getRegistry(tClass);
}
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0ed66181e 100644
+index b4f297f90e3c1deaa1fc3f4418418588ab19b6c5..099c8acc0338dc0e6ac81f77d99cd2a02a630535 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -92,20 +92,26 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -86,26 +86,34 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+ * Server art.
+ *
+ * @see Art
++ * @deprecated use {@link io.papermc.paper.registry.RegistryAccess#getRegistry(io.papermc.paper.registry.RegistryKey)} with {@link io.papermc.paper.registry.RegistryKey#PAINTING_VARIANT}
+ */
+- Registry<Art> ART = Objects.requireNonNull(Bukkit.getRegistry(Art.class), "No registry present for Art. This is a bug.");
++ @Deprecated(since = "1.21.3") // Paper
++ Registry<Art> ART = Objects.requireNonNull(io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(Art.class), "No registry present for Art. This is a bug.");
+ /**
* Attribute.
*
* @see Attribute
@@ -240,7 +249,7 @@ index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0
/**
* Server block types.
*
-@@ -113,7 +119,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -113,7 +121,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* @apiNote BlockType is not ready for public usage yet
*/
@ApiStatus.Internal
@@ -249,7 +258,7 @@ index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0
/**
* Custom boss bars.
*
-@@ -155,13 +161,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -155,13 +163,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @see Cat.Type
*/
@@ -267,7 +276,7 @@ index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0
/**
* Server entity types.
*
-@@ -173,7 +181,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -173,7 +183,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*
* @see MusicInstrument
*/
@@ -276,7 +285,7 @@ index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0
/**
* Server item types.
*
-@@ -181,7 +189,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -181,7 +191,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* @apiNote ItemType is not ready for public usage yet
*/
@ApiStatus.Internal
@@ -285,7 +294,7 @@ index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0
/**
* Default server loot tables.
*
-@@ -200,13 +208,13 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -200,13 +210,13 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* @see MenuType
*/
@ApiStatus.Experimental
@@ -301,7 +310,7 @@ index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0
/**
* Server particles.
*
-@@ -229,14 +237,16 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -229,58 +239,67 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* Server structures.
*
* @see Structure
@@ -320,7 +329,11 @@ index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0
/**
* Sound keys.
*
-@@ -247,40 +257,47 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+ * @see Sound
+ */
+- Registry<Sound> SOUNDS = Objects.requireNonNull(Bukkit.getRegistry(Sound.class), "No registry present for Sound. This is a bug.");
++ Registry<Sound> SOUNDS = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.SOUND_EVENT); // Paper
+ /**
* Trim materials.
*
* @see TrimMaterial
@@ -375,7 +388,7 @@ index 26399345dd02031712994da1553417186b8c7370..759925decc0b66e8f5861f3f8bd9bee0
/**
* Memory Keys.
*
-@@ -320,32 +337,36 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -320,32 +339,36 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* Server fluids.
*
* @see Fluid
diff --git a/patches/api/0329-More-PotionEffectType-API.patch b/patches/api/0329-More-PotionEffectType-API.patch
index 6ee4c1216b..fddc2d6886 100644
--- a/patches/api/0329-More-PotionEffectType-API.patch
+++ b/patches/api/0329-More-PotionEffectType-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] More PotionEffectType API
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 759925decc0b66e8f5861f3f8bd9bee0ed66181e..833eea6ee8c7fd8ccb3f2eed4285a3eb8311448c 100644
+index 099c8acc0338dc0e6ac81f77d99cd2a02a630535..a5db0a013921423f87abb14dc08b24f47d4093f6 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -367,6 +367,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -369,6 +369,15 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
* @see GameEvent
*/
Registry<GameEvent> GAME_EVENT = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.GAME_EVENT); // Paper
diff --git a/patches/api/0378-fix-Instruments.patch b/patches/api/0378-fix-Instruments.patch
index 468dc80a34..0bffaca02f 100644
--- a/patches/api/0378-fix-Instruments.patch
+++ b/patches/api/0378-fix-Instruments.patch
@@ -99,17 +99,27 @@ index 032d7b812ddc0a85e316882c8f7de0c5a0a4fd30..8df26e0d7bea77bb257cddbc2ab9e969
public static Instrument getByType(final byte type) {
return BY_DATA.get(type);
diff --git a/src/test/java/org/bukkit/InstrumentTest.java b/src/test/java/org/bukkit/InstrumentTest.java
-index 8c1d88885de7d56c1b7c78d2e6e059b0648c982a..b177a47a5bda05bfe3598ec5e6771b92a73f0edf 100644
+deleted file mode 100644
+index 6f27b260d9dbe76da733459c8341282e23440b8a..0000000000000000000000000000000000000000
--- a/src/test/java/org/bukkit/InstrumentTest.java
-+++ b/src/test/java/org/bukkit/InstrumentTest.java
-@@ -8,9 +8,7 @@ public class InstrumentTest {
- @Test
- public void getByType() {
- for (Instrument instrument : Instrument.values()) {
++++ /dev/null
+@@ -1,19 +0,0 @@
+-package org.bukkit;
+-
+-import static org.bukkit.support.MatcherAssert.*;
+-import static org.hamcrest.CoreMatchers.*;
+-import org.bukkit.support.AbstractTestingBase;
+-import org.junit.jupiter.api.Test;
+-
+-public class InstrumentTest extends AbstractTestingBase {
+- @Test
+- public void getByType() {
+- for (Instrument instrument : Instrument.values()) {
- if (instrument.getType() < 0) {
- continue;
- }
-+ // Paper - byte magic values are still used
-
- assertThat(Instrument.getByType(instrument.getType()), is(instrument));
- }
+-
+- assertThat(Instrument.getByType(instrument.getType()), is(instrument));
+- }
+- }
+-}
diff --git a/patches/api/0429-Improve-Registry.patch b/patches/api/0429-Improve-Registry.patch
index 13b36b1a92..0b2ade199c 100644
--- a/patches/api/0429-Improve-Registry.patch
+++ b/patches/api/0429-Improve-Registry.patch
@@ -10,12 +10,12 @@ getKey() methods on Keyed objects that have a registry
are marked as Deprecated or Obsolete.
diff --git a/src/main/java/org/bukkit/Art.java b/src/main/java/org/bukkit/Art.java
-index 042d1d932a33022e4fc873652f70dc6ed342d46a..e57e34064262b90221b0621f1d13e9705e68421a 100644
+index d24bf449f58fd7c1b8ffab8dbc42f9f1fef8c4ef..00a290f1bf58cdc2238c13fd5a6048a26b7871da 100644
--- a/src/main/java/org/bukkit/Art.java
+++ b/src/main/java/org/bukkit/Art.java
-@@ -103,6 +103,13 @@ public enum Art implements Keyed {
- return id;
- }
+@@ -97,6 +97,16 @@ public interface Art extends OldEnum<Art>, Keyed {
+ @Deprecated(since = "1.6.2")
+ int getId();
+ // Paper start - deprecate getKey
+ /**
@@ -23,10 +23,13 @@ index 042d1d932a33022e4fc873652f70dc6ed342d46a..e57e34064262b90221b0621f1d13e970
+ * and {@link io.papermc.paper.registry.RegistryKey#PAINTING_VARIANT}. Painting variants can exist without a key.
+ */
+ @Deprecated(since = "1.21")
++ @Override
++ @NotNull NamespacedKey getKey();
+ // Paper end - deprecate getKey
- @NotNull
- @Override
- public NamespacedKey getKey() {
++
+ /**
+ * Get a painting by its numeric ID
+ *
diff --git a/src/main/java/org/bukkit/MusicInstrument.java b/src/main/java/org/bukkit/MusicInstrument.java
index c9f02466a04d20579fe2258bb02acf98e163ca81..bffd4ab2d08e5c3f83a49a31e1e55cc1eab7b319 100644
--- a/src/main/java/org/bukkit/MusicInstrument.java
@@ -49,10 +52,10 @@ index c9f02466a04d20579fe2258bb02acf98e163ca81..bffd4ab2d08e5c3f83a49a31e1e55cc1
@Override
public @NotNull String translationKey() {
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index 833eea6ee8c7fd8ccb3f2eed4285a3eb8311448c..e4d4ac6436f341f5d9de95e1ab56461fd68a3dc2 100644
+index a5db0a013921423f87abb14dc08b24f47d4093f6..9ed61b649d7e7056bd9ebcbb77f17c6c5798bf2d 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -385,6 +385,79 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -387,6 +387,79 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
@Nullable
T get(@NotNull NamespacedKey key);
@@ -132,7 +135,7 @@ index 833eea6ee8c7fd8ccb3f2eed4285a3eb8311448c..e4d4ac6436f341f5d9de95e1ab56461f
/**
* Get the object by its key.
*
-@@ -481,5 +554,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -483,5 +556,12 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
public Class<T> getType() {
return this.type;
}
@@ -146,11 +149,11 @@ index 833eea6ee8c7fd8ccb3f2eed4285a3eb8311448c..e4d4ac6436f341f5d9de95e1ab56461f
}
}
diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java
-index cf17af024b1953b6f21f18885411ea6a0baa1d4c..f32a035317f3f8e200bb8076e6a326cb1e87cfe1 100644
+index 04e890be72b18259f1af2833879b4d9af51b1f02..97c4fc9615e28c7268cd8340b50029c8f7de56b7 100644
--- a/src/main/java/org/bukkit/Sound.java
+++ b/src/main/java/org/bukkit/Sound.java
-@@ -1655,6 +1655,13 @@ public enum Sound implements Keyed, net.kyori.adventure.sound.Sound.Type { // Pa
- this.key = NamespacedKey.minecraft(key);
+@@ -1689,6 +1689,16 @@ public interface Sound extends OldEnum<Sound>, Keyed, net.kyori.adventure.sound.
+ return sound;
}
+ // Paper start - deprecate getKey
@@ -159,10 +162,13 @@ index cf17af024b1953b6f21f18885411ea6a0baa1d4c..f32a035317f3f8e200bb8076e6a326cb
+ * can exist without a key.
+ */
+ @Deprecated(since = "1.20.5")
++ @Override
++ @NotNull NamespacedKey getKey();
+ // Paper end - deprecate getKey
- @NotNull
- @Override
- public NamespacedKey getKey() {
++
+ /**
+ * @return an array of all known sounds.
+ * @deprecated use {@link Registry#iterator()}.
diff --git a/src/main/java/org/bukkit/block/banner/PatternType.java b/src/main/java/org/bukkit/block/banner/PatternType.java
index eaf6cd758344eeba29f00f822a50c93704af8bda..eb192030832e1741850871bec9bf999f014b6fc1 100644
--- a/src/main/java/org/bukkit/block/banner/PatternType.java
diff --git a/patches/api/0471-Registry-Modification-API.patch b/patches/api/0471-Registry-Modification-API.patch
index bc1c27afcd..f616c8fd1a 100644
--- a/patches/api/0471-Registry-Modification-API.patch
+++ b/patches/api/0471-Registry-Modification-API.patch
@@ -809,10 +809,10 @@ index 0000000000000000000000000000000000000000..bf49125acc8a0508bf59674bba3ed350
+ }
+}
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
-index e4d4ac6436f341f5d9de95e1ab56461fd68a3dc2..b56e8fc3fba40637396abef27c08806f5157b3b4 100644
+index 9ed61b649d7e7056bd9ebcbb77f17c6c5798bf2d..16bef936a9aef957a73c33e45be7573584943a6b 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
-@@ -384,6 +384,27 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -386,6 +386,27 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
*/
@Nullable
T get(@NotNull NamespacedKey key);
@@ -840,7 +840,7 @@ index e4d4ac6436f341f5d9de95e1ab56461fd68a3dc2..b56e8fc3fba40637396abef27c08806f
// Paper start - improve Registry
/**
-@@ -458,6 +479,34 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -460,6 +481,34 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
}
// Paper end - improve Registry
@@ -875,7 +875,7 @@ index e4d4ac6436f341f5d9de95e1ab56461fd68a3dc2..b56e8fc3fba40637396abef27c08806f
/**
* Get the object by its key.
*
-@@ -561,5 +610,23 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
+@@ -563,5 +612,23 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
return value.getKey();
}
// Paper end - improve Registry
diff --git a/patches/server/0004-Test-changes.patch b/patches/server/0004-Test-changes.patch
index 2bf3cdb566..2c3baac94d 100644
--- a/patches/server/0004-Test-changes.patch
+++ b/patches/server/0004-Test-changes.patch
@@ -452,3 +452,81 @@ index 5781c2fab2d407b4a22d5fc80e1c03e907617316..68ae998b30bbcacae3604fb6581ceca3
RegistryHelper.registry = layers.compositeAccess().freeze();
// Register vanilla pack
RegistryHelper.dataPack = ReloadableServerResources.loadResources(ireloadableresourcemanager, layers, list, featureFlagSet, Commands.CommandSelection.DEDICATED, 0, MoreExecutors.directExecutor(), MoreExecutors.directExecutor()).join();
+diff --git a/src/test/java/org/bukkit/support/suite/AllFeaturesTestSuite.java b/src/test/java/org/bukkit/support/suite/AllFeaturesTestSuite.java
+index d78661198815b78d041288eb62076514926428ad..2d268498b545db48efa106d2c7afca7f7b74c76d 100644
+--- a/src/test/java/org/bukkit/support/suite/AllFeaturesTestSuite.java
++++ b/src/test/java/org/bukkit/support/suite/AllFeaturesTestSuite.java
+@@ -14,7 +14,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
+ @Suite(failIfNoTests = false)
+ @SuiteDisplayName("Test suite for test which need registry values present, with all feature flags set")
+ @IncludeTags("AllFeatures")
+-@SelectPackages("org.bukkit")
++@SelectPackages({"org.bukkit", "io.papermc"})
+ @SelectClasses({RegistryClassTest.class, PerRegistryTest.class, RegistryConversionTest.class}) // Make sure general registry tests are run first
+ @ExcludeClassNamePatterns("org.bukkit.craftbukkit.inventory.ItemStack.*Test")
+ @ConfigurationParameter(key = "TestSuite", value = "AllFeatures")
+diff --git a/src/test/java/org/bukkit/support/suite/BundleFeatureTestSuite.java b/src/test/java/org/bukkit/support/suite/BundleFeatureTestSuite.java
+index 8faaffd16fb05bd3d976b6a63835cfa547ec2445..c1ee709083276acb14b474993800dd4894febc47 100644
+--- a/src/test/java/org/bukkit/support/suite/BundleFeatureTestSuite.java
++++ b/src/test/java/org/bukkit/support/suite/BundleFeatureTestSuite.java
+@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
+ @Suite(failIfNoTests = false)
+ @SuiteDisplayName("Test suite for test which need registry values present, with the bundle feature flag set")
+ @IncludeTags("BundleFeature")
+-@SelectPackages("org.bukkit")
++@SelectPackages({"org.bukkit", "io.papermc"})
+ @ConfigurationParameter(key = "TestSuite", value = "BundleFeature")
+ public class BundleFeatureTestSuite {
+ }
+diff --git a/src/test/java/org/bukkit/support/suite/LegacyTestSuite.java b/src/test/java/org/bukkit/support/suite/LegacyTestSuite.java
+index 576c35e086345c96325628cf1a048599f9ed6950..ac3c1c88ce5de4b623d17ab0af11a7d04caec869 100644
+--- a/src/test/java/org/bukkit/support/suite/LegacyTestSuite.java
++++ b/src/test/java/org/bukkit/support/suite/LegacyTestSuite.java
+@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
+ @Suite(failIfNoTests = false)
+ @SuiteDisplayName("Test suite for legacy tests")
+ @IncludeTags("Legacy")
+-@SelectPackages("org.bukkit")
++@SelectPackages({"org.bukkit", "io.papermc"})
+ @ConfigurationParameter(key = "TestSuite", value = "Legacy")
+ public class LegacyTestSuite {
+ }
+diff --git a/src/test/java/org/bukkit/support/suite/NormalTestSuite.java b/src/test/java/org/bukkit/support/suite/NormalTestSuite.java
+index 661c49c83b9a81512cf181b50f6353dc76e9f0bc..76f61fb60612160477b7da0b095f1c7e4822d4fb 100644
+--- a/src/test/java/org/bukkit/support/suite/NormalTestSuite.java
++++ b/src/test/java/org/bukkit/support/suite/NormalTestSuite.java
+@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
+ @Suite(failIfNoTests = false)
+ @SuiteDisplayName("Test suite for standalone tests, which don't need any registry values present")
+ @IncludeTags("Normal")
+-@SelectPackages("org.bukkit")
++@SelectPackages({"org.bukkit", "io.papermc"})
+ @ConfigurationParameter(key = "TestSuite", value = "Normal")
+ public class NormalTestSuite {
+ }
+diff --git a/src/test/java/org/bukkit/support/suite/SlowTestSuite.java b/src/test/java/org/bukkit/support/suite/SlowTestSuite.java
+index f95ff2e9930f4fd0ff284f714fc39afb6b7789ca..60be4c20101bbae8cf027270ff0e1e138d2fe9d2 100644
+--- a/src/test/java/org/bukkit/support/suite/SlowTestSuite.java
++++ b/src/test/java/org/bukkit/support/suite/SlowTestSuite.java
+@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
+ @Suite(failIfNoTests = false)
+ @SuiteDisplayName("Test suite for slow tests, which don't need to run every time")
+ @IncludeTags("Slow")
+-@SelectPackages("org.bukkit")
++@SelectPackages({"org.bukkit", "io.papermc"})
+ @ConfigurationParameter(key = "TestSuite", value = "Slow")
+ public class SlowTestSuite {
+ }
+diff --git a/src/test/java/org/bukkit/support/suite/VanillaFeatureTestSuite.java b/src/test/java/org/bukkit/support/suite/VanillaFeatureTestSuite.java
+index 5ee48e92d2b5134a4ba15802087f6afe58c1cb8d..d0e2eacfcd487e2852eff4b1828031dd3649e41a 100644
+--- a/src/test/java/org/bukkit/support/suite/VanillaFeatureTestSuite.java
++++ b/src/test/java/org/bukkit/support/suite/VanillaFeatureTestSuite.java
+@@ -9,7 +9,7 @@ import org.junit.platform.suite.api.SuiteDisplayName;
+ @Suite(failIfNoTests = false)
+ @SuiteDisplayName("Test suite for test which need vanilla registry values present")
+ @IncludeTags("VanillaFeature")
+-@SelectPackages("org.bukkit")
++@SelectPackages({"org.bukkit", "io.papermc"})
+ @ConfigurationParameter(key = "TestSuite", value = "VanillaFeature")
+ public class VanillaFeatureTestSuite {
+ }
diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch
index f656e93a64..ede5f9988d 100644
--- a/patches/server/0009-MC-Utils.patch
+++ b/patches/server/0009-MC-Utils.patch
@@ -5594,7 +5594,7 @@ index a1f4ebcd0877a6d0c41493eff5d70a408bf98e59..f1725ef766c35aa623ace58fe8bf31fc
public BlockState getBlockState(BlockPos pos) {
return this.getChunk(SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ())).getBlockState(pos);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 23a611c9a83d1cea5ab2f64cdbd696c39872477d..bf660a057d135563b47e7b74d927a82a20b8ef75 100644
+index d7095aab94a9f3b9f06a033ba4d414dfae42f620..7bb87d2bdf0ead0fdca38a9685e2e15b249ec2cb 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -181,6 +181,7 @@ public abstract class PlayerList {
@@ -5624,10 +5624,10 @@ index ae25aec117a7272735c824a00c1ed117fa52a921..d6e942aca1bcc769c390504a4119d661
@Override
public void schedule(R runnable) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 1631ea62aab53d6e5e0ae44f63367416ac424410..c010d18061f58a583c69e85fc29305497523f569 100644
+index 4c9ff26332e2f5224d0308e4cb64b7b6c474fb3f..0fa9bcd7e7f1c4d1c8c57a061f0a782de1bfbf8b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -342,6 +342,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -343,6 +343,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.level.hasChunk((int) Math.floor(this.getX()) >> 4, (int) Math.floor(this.getZ()) >> 4);
}
// CraftBukkit end
@@ -5640,7 +5640,7 @@ index 1631ea62aab53d6e5e0ae44f63367416ac424410..c010d18061f58a583c69e85fc2930549
public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 47712d062ece9914de058153272ab1fa535af372..9aa4e70f1d1c4de2138d31701dceaed25062e69c 100644
+index 17f706d401154035a7f1ed47b04a38e4eef24263..1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -296,6 +296,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -6162,7 +6162,7 @@ index 34933c5324126f9afdc5cba9dea997ace8f01806..4eb0b0969325f39a7ae65492cccd4825
return false;
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 3882ae04173cd125fe490692a6bc2b4d8b20ff7b..eb61712ea067b277e7f32f887e3528faca275450 100644
+index 6c8a69b7c1b45549b2c388a8df2258184c587309..49102177454765b8e53d0d7f47fe4bf4a33549af 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2617,4 +2617,9 @@ public final class CraftServer implements Server {
@@ -6386,10 +6386,10 @@ index e837d76e833d73d888bc1dad3515c2b82bc0e437..4705aed1dd98378c146bf9e346df1a17
public WorldBorder getWorldBorder() {
throw new UnsupportedOperationException("Not supported yet.");
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index 1bf87b4915edf341ad55f8274cef324e0bc28547..3591b79481ac17bd02e59ac3c623d1c6991abd84 100644
+index fb83cadf384712e2dff1cb001bdbeec8f5e89ada..5baf68732cb0e5ecab9d809df54a42e8252f1624 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
-@@ -34,6 +34,9 @@ public class ActivationRange
+@@ -35,6 +35,9 @@ public class ActivationRange
public enum ActivationType
{
diff --git a/patches/server/0021-Hook-into-CB-plugin-rewrites.patch b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch
index 4b98c18cbf..213edbe281 100644
--- a/patches/server/0021-Hook-into-CB-plugin-rewrites.patch
+++ b/patches/server/0021-Hook-into-CB-plugin-rewrites.patch
@@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're
debugging in an IDE pre-relocate.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-index 79b386af9eb2450b0a8abe3342bc53d3f0b86fd9..58df23162aed12f3058b5e0921a9e30b89f56a10 100644
+index 40fbbff1df7e65ca01bb82e213eeefbb38c85a7a..7d2d5c4ee244e7118a4c38628e2e69c79b11b98d 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
@@ -12,6 +12,7 @@ import java.util.Arrays;
@@ -27,7 +27,7 @@ index 79b386af9eb2450b0a8abe3342bc53d3f0b86fd9..58df23162aed12f3058b5e0921a9e30b
import joptsimple.OptionParser;
import joptsimple.OptionSet;
import joptsimple.OptionSpec;
-@@ -126,6 +128,40 @@ public class Commodore {
+@@ -128,6 +130,40 @@ public class Commodore {
return this.reroutes;
}
@@ -68,7 +68,7 @@ index 79b386af9eb2450b0a8abe3342bc53d3f0b86fd9..58df23162aed12f3058b5e0921a9e30b
public static void main(String[] args) {
OptionParser parser = new OptionParser();
OptionSpec<File> inputFlag = parser.acceptsAll(Arrays.asList("i", "input")).withRequiredArg().ofType(File.class).required();
-@@ -281,9 +317,49 @@ public class Commodore {
+@@ -283,9 +319,49 @@ public class Commodore {
}
return new MethodVisitor(this.api, super.visitMethod(access, name, desc, signature, exceptions)) {
@@ -118,7 +118,7 @@ index 79b386af9eb2450b0a8abe3342bc53d3f0b86fd9..58df23162aed12f3058b5e0921a9e30b
name = FieldRename.rename(pluginVersion, owner, name);
if (modern) {
-@@ -396,6 +472,13 @@ public class Commodore {
+@@ -398,6 +474,13 @@ public class Commodore {
return;
}
@@ -132,7 +132,7 @@ index 79b386af9eb2450b0a8abe3342bc53d3f0b86fd9..58df23162aed12f3058b5e0921a9e30b
if (modern) {
if (owner.equals("org/bukkit/Material") || (instantiatedMethodType != null && instantiatedMethodType.getDescriptor().startsWith("(Lorg/bukkit/Material;)"))) {
switch (name) {
-@@ -492,6 +575,13 @@ public class Commodore {
+@@ -494,6 +577,13 @@ public class Commodore {
@Override
public void visitLdcInsn(Object value) {
@@ -146,7 +146,7 @@ index 79b386af9eb2450b0a8abe3342bc53d3f0b86fd9..58df23162aed12f3058b5e0921a9e30b
if (value instanceof String && ((String) value).equals("com.mysql.jdbc.Driver")) {
super.visitLdcInsn("com.mysql.cj.jdbc.Driver");
return;
-@@ -502,6 +592,14 @@ public class Commodore {
+@@ -504,6 +594,14 @@ public class Commodore {
@Override
public void visitInvokeDynamicInsn(String name, String descriptor, Handle bootstrapMethodHandle, Object... bootstrapMethodArguments) {
@@ -161,7 +161,7 @@ index 79b386af9eb2450b0a8abe3342bc53d3f0b86fd9..58df23162aed12f3058b5e0921a9e30b
if (bootstrapMethodHandle.getOwner().equals("java/lang/invoke/LambdaMetafactory")
&& bootstrapMethodHandle.getName().equals("metafactory") && bootstrapMethodArguments.length == 3) {
Type samMethodType = (Type) bootstrapMethodArguments[0];
-@@ -518,7 +616,7 @@ public class Commodore {
+@@ -520,7 +618,7 @@ public class Commodore {
methodArgs.add(new Handle(newOpcode, newOwner, newName, newDescription, newItf));
methodArgs.add(newInstantiated);
@@ -170,7 +170,7 @@ index 79b386af9eb2450b0a8abe3342bc53d3f0b86fd9..58df23162aed12f3058b5e0921a9e30b
}, implMethod.getTag(), implMethod.getOwner(), implMethod.getName(), implMethod.getDesc(), implMethod.isInterface(), samMethodType, instantiatedMethodType);
return;
}
-@@ -569,6 +667,12 @@ public class Commodore {
+@@ -571,6 +669,12 @@ public class Commodore {
@Override
public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) {
diff --git a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch
index d424e1f6fc..13f71c1f92 100644
--- a/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch
+++ b/patches/server/0022-Remap-reflection-calls-in-plugins-using-internals.patch
@@ -645,10 +645,10 @@ index 242811578a786e3807a1a7019d472d5a68f87116..0b65fdf53124f3dd042b2363b1b8df8e
return traceElements;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-index 58df23162aed12f3058b5e0921a9e30b89f56a10..ba104635c7713b04ce624bc4c7bd390462bc0edb 100644
+index 7d2d5c4ee244e7118a4c38628e2e69c79b11b98d..371d31266a532e59c49dbb106e354296b119fa5e 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-@@ -129,36 +129,26 @@ public class Commodore {
+@@ -131,36 +131,26 @@ public class Commodore {
}
// Paper start - Plugin rewrites
@@ -696,7 +696,7 @@ index 58df23162aed12f3058b5e0921a9e30b89f56a10..ba104635c7713b04ce624bc4c7bd3904
}
// Paper end - Plugin rewrites
-@@ -243,6 +233,7 @@ public class Commodore {
+@@ -245,6 +235,7 @@ public class Commodore {
visitor = new LimitedClassRemapper(cw, new SimpleRemapper(Commodore.ENUM_RENAMES));
}
diff --git a/patches/server/0024-Remove-Spigot-timings.patch b/patches/server/0024-Remove-Spigot-timings.patch
index 6913a8e21f..b3b6ebc014 100644
--- a/patches/server/0024-Remove-Spigot-timings.patch
+++ b/patches/server/0024-Remove-Spigot-timings.patch
@@ -330,10 +330,10 @@ index 18d56058073b6cc4f9020f0a6137e4ac26eed0b2..fddc6b5abbad66ebe556ff8565c38c60
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index c010d18061f58a583c69e85fc29305497523f569..c8b8102d84119dfb6093f4b79aa3124c594f9a88 100644
+index 0fa9bcd7e7f1c4d1c8c57a061f0a782de1bfbf8b..aba3e1b5d86940f91034ee6415c909529503a184 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -148,7 +148,6 @@ import org.bukkit.command.CommandSender;
+@@ -149,7 +149,6 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Hanging;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Vehicle;
@@ -341,7 +341,7 @@ index c010d18061f58a583c69e85fc29305497523f569..c8b8102d84119dfb6093f4b79aa3124c
import org.bukkit.event.entity.EntityCombustByEntityEvent;
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
-@@ -326,7 +325,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -327,7 +326,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// Marks an entity, that it was removed by a plugin via Entity#remove
// Main use case currently is for SPIGOT-7487, preventing dropping of leash when leash is removed
public boolean pluginRemoved = false;
@@ -349,7 +349,7 @@ index c010d18061f58a583c69e85fc29305497523f569..c8b8102d84119dfb6093f4b79aa3124c
// Spigot start
public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
public final boolean defaultActivationState;
-@@ -866,7 +864,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -867,7 +865,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void move(MoverType type, Vec3 movement) {
@@ -357,7 +357,7 @@ index c010d18061f58a583c69e85fc29305497523f569..c8b8102d84119dfb6093f4b79aa3124c
if (this.noPhysics) {
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
} else {
-@@ -978,7 +975,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -979,7 +976,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
gameprofilerfiller.pop();
}
}
@@ -366,7 +366,7 @@ index c010d18061f58a583c69e85fc29305497523f569..c8b8102d84119dfb6093f4b79aa3124c
private void applyMovementEmissionAndPlaySound(Entity.MovementEmission moveEffect, Vec3 movement, BlockPos landingPos, BlockState landingState) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6dba567e9f7a197af16598647f216b5323d1b601 100644
+index 1d7af970b8f5eaa46fe4cd2b7d076f3cdd371216..900ab23f587e9d990afe29492058390dc1c13f2d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -162,8 +162,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -378,7 +378,7 @@ index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6dba567e9f7a197af16598647f216b53
public abstract class LivingEntity extends Entity implements Attackable {
private static final Logger LOGGER = LogUtils.getLogger();
-@@ -3090,7 +3088,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3091,7 +3089,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
public void tick() {
@@ -386,7 +386,7 @@ index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6dba567e9f7a197af16598647f216b53
super.tick();
this.updatingUsingItem();
this.updateSwimAmount();
-@@ -3132,9 +3129,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3133,9 +3130,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
if (!this.isRemoved()) {
@@ -396,7 +396,7 @@ index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6dba567e9f7a197af16598647f216b53
}
double d0 = this.getX() - this.xo;
-@@ -3228,7 +3223,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3229,7 +3224,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.elytraAnimationState.tick();
@@ -404,7 +404,7 @@ index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6dba567e9f7a197af16598647f216b53
}
public void detectEquipmentUpdatesPublic() { // CraftBukkit
-@@ -3435,7 +3429,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3436,7 +3430,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("ai");
@@ -412,7 +412,7 @@ index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6dba567e9f7a197af16598647f216b53
if (this.isImmobile()) {
this.jumping = false;
this.xxa = 0.0F;
-@@ -3445,7 +3438,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3446,7 +3439,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.serverAiStep();
gameprofilerfiller.pop();
}
@@ -420,7 +420,7 @@ index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6dba567e9f7a197af16598647f216b53
gameprofilerfiller.pop();
gameprofilerfiller.push("jump");
-@@ -3488,7 +3480,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3489,7 +3481,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.resetFallDistance();
}
@@ -428,7 +428,7 @@ index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6dba567e9f7a197af16598647f216b53
label112:
{
LivingEntity entityliving = this.getControllingPassenger();
-@@ -3502,7 +3493,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3503,7 +3494,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.travel(vec3d1);
}
@@ -436,7 +436,7 @@ index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6dba567e9f7a197af16598647f216b53
if (!this.level().isClientSide() || this.isControlledByLocalInstance()) {
this.applyEffectsFromBlocks();
-@@ -3538,9 +3528,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3539,9 +3529,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox());
}
@@ -595,7 +595,7 @@ index d1b82dec25069a7027aaf53086b1829e511fc301..4367ccc628bb4f404d6a081083002518
};
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 7c5b0db8115dc4032a3a364299ca06c88efd9a26..5650b4cfcd4008ac7f351d5bfb1fb8cc81da4caa 100644
+index f3bc8196b43bfdfdd85e03769c4d109c2fe1930c..f401fb3261a883019083f3c6c145d0ff74f149f4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -379,7 +379,6 @@ public final class CraftServer implements Server {
@@ -919,10 +919,10 @@ index f97eccb6a17c7876e1e002d798eb67bbe80571a0..dba31a2cbcfebe1f28883545ce4a70fc
+ }
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index 3591b79481ac17bd02e59ac3c623d1c6991abd84..263df52c7f5e172a6b9118b4bc4672e443adedba 100644
+index 5baf68732cb0e5ecab9d809df54a42e8252f1624..0338ceaddc1a0921f5f8796d5eac75c301bafac2 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
-@@ -27,7 +27,6 @@ import net.minecraft.world.entity.projectile.ThrownTrident;
+@@ -28,7 +28,6 @@ import net.minecraft.world.entity.projectile.ThrownTrident;
import net.minecraft.world.entity.raid.Raider;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB;
@@ -930,7 +930,7 @@ index 3591b79481ac17bd02e59ac3c623d1c6991abd84..263df52c7f5e172a6b9118b4bc4672e4
public class ActivationRange
{
-@@ -110,7 +109,6 @@ public class ActivationRange
+@@ -111,7 +110,6 @@ public class ActivationRange
*/
public static void activateEntities(Level world)
{
@@ -938,7 +938,7 @@ index 3591b79481ac17bd02e59ac3c623d1c6991abd84..263df52c7f5e172a6b9118b4bc4672e4
final int miscActivationRange = world.spigotConfig.miscActivationRange;
final int raiderActivationRange = world.spigotConfig.raiderActivationRange;
final int animalActivationRange = world.spigotConfig.animalActivationRange;
-@@ -137,7 +135,6 @@ public class ActivationRange
+@@ -138,7 +136,6 @@ public class ActivationRange
world.getEntities().get(ActivationRange.maxBB, ActivationRange::activateEntity);
}
@@ -946,18 +946,18 @@ index 3591b79481ac17bd02e59ac3c623d1c6991abd84..263df52c7f5e172a6b9118b4bc4672e4
}
/**
-@@ -232,10 +229,8 @@ public class ActivationRange
+@@ -233,10 +230,8 @@ public class ActivationRange
*/
public static boolean checkIfActive(Entity entity)
{
- SpigotTimings.checkIfActiveTimer.startTiming();
- // Never safe to skip fireworks or entities not yet added to chunk
- if ( entity instanceof FireworkRocketEntity ) {
+ // Never safe to skip fireworks or item gravity
+ if (entity instanceof FireworkRocketEntity || (entity instanceof ItemEntity && (entity.tickCount + entity.getId() + 1) % 4 == 0)) {
- SpigotTimings.checkIfActiveTimer.stopTiming();
return true;
}
-@@ -259,7 +254,6 @@ public class ActivationRange
+@@ -260,7 +255,6 @@ public class ActivationRange
{
isActive = false;
}
diff --git a/patches/server/0036-Entity-Origin-API.patch b/patches/server/0036-Entity-Origin-API.patch
index 47721fa03d..3f9282aee9 100644
--- a/patches/server/0036-Entity-Origin-API.patch
+++ b/patches/server/0036-Entity-Origin-API.patch
@@ -25,10 +25,10 @@ index f3633da64f990972cddc03f2fcfd34ced2955a7a..025363e6b51ff8aa089715b1ec2a0fa1
public void onTrackingEnd(Entity entity) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index c8b8102d84119dfb6093f4b79aa3124c594f9a88..e97853cbfa6da8ecdb4c92cf634831492e1fc7e3 100644
+index aba3e1b5d86940f91034ee6415c909529503a184..57960530e15f0e4b8fb40b725ff03aaf8ce6ffac 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -331,7 +331,27 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -332,7 +332,27 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public long activatedTick = Integer.MIN_VALUE;
public void inactiveTick() { }
// Spigot end
@@ -56,7 +56,7 @@ index c8b8102d84119dfb6093f4b79aa3124c594f9a88..e97853cbfa6da8ecdb4c92cf63483149
public float getBukkitYaw() {
return this.yRot;
}
-@@ -2269,6 +2289,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2270,6 +2290,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.bukkitEntity.storeBukkitValues(nbttagcompound);
}
// CraftBukkit end
@@ -72,7 +72,7 @@ index c8b8102d84119dfb6093f4b79aa3124c594f9a88..e97853cbfa6da8ecdb4c92cf63483149
return nbttagcompound;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
-@@ -2397,6 +2426,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2398,6 +2427,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
// CraftBukkit end
diff --git a/patches/server/0038-Configurable-top-of-nether-void-damage.patch b/patches/server/0038-Configurable-top-of-nether-void-damage.patch
index 5f97b3e150..07e4a617c7 100644
--- a/patches/server/0038-Configurable-top-of-nether-void-damage.patch
+++ b/patches/server/0038-Configurable-top-of-nether-void-damage.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable top of nether void damage
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index e97853cbfa6da8ecdb4c92cf634831492e1fc7e3..49df5f4b09926556986e3a45d52ff299b878af76 100644
+index 57960530e15f0e4b8fb40b725ff03aaf8ce6ffac..2828ef013fe2c35292990cccd824a76a5551c952 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -720,7 +720,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -721,7 +721,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void checkBelowWorld() {
diff --git a/patches/server/0040-Add-more-entities-to-activation-range-ignore-list.patch b/patches/server/0040-Add-more-entities-to-activation-range-ignore-list.patch
index 2c4e1fe578..ad1700365a 100644
--- a/patches/server/0040-Add-more-entities-to-activation-range-ignore-list.patch
+++ b/patches/server/0040-Add-more-entities-to-activation-range-ignore-list.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add more entities to activation range ignore list
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index 263df52c7f5e172a6b9118b4bc4672e443adedba..dd1c5bc7522a4710cbfdd4764f6431e1e28d63cc 100644
+index 0338ceaddc1a0921f5f8796d5eac75c301bafac2..bd522080d17b5b470ec3ab42aa4ecc3082248c8a 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
-@@ -91,6 +91,9 @@ public class ActivationRange
+@@ -92,6 +92,9 @@ public class ActivationRange
|| entity instanceof AbstractHurtingProjectile
|| entity instanceof LightningBolt
|| entity instanceof PrimedTnt
diff --git a/patches/server/0063-Disable-Scoreboards-for-non-players-by-default.patch b/patches/server/0063-Disable-Scoreboards-for-non-players-by-default.patch
index 3d53b13e30..fbca7a5ea1 100644
--- a/patches/server/0063-Disable-Scoreboards-for-non-players-by-default.patch
+++ b/patches/server/0063-Disable-Scoreboards-for-non-players-by-default.patch
@@ -11,10 +11,10 @@ So avoid looking up scoreboards and short circuit to the "not on a team"
logic which is most likely to be true.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 49df5f4b09926556986e3a45d52ff299b878af76..8a61ca3cba2888e03e440519714705fe50b81267 100644
+index 2828ef013fe2c35292990cccd824a76a5551c952..0c2389e73e98ec48ed636f616a36e6e1cefa7b93 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3057,6 +3057,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3058,6 +3058,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@Nullable
public PlayerTeam getTeam() {
@@ -23,7 +23,7 @@ index 49df5f4b09926556986e3a45d52ff299b878af76..8a61ca3cba2888e03e440519714705fe
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 6dba567e9f7a197af16598647f216b5323d1b601..47403887721914b632565947efae0dfa7c841588 100644
+index 900ab23f587e9d990afe29492058390dc1c13f2d..c177e3ba30b8807eb41ad7741706d9a017ab9717 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -871,6 +871,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0073-Custom-replacement-for-eaten-items.patch b/patches/server/0073-Custom-replacement-for-eaten-items.patch
index 25ce947852..bc3c20320f 100644
--- a/patches/server/0073-Custom-replacement-for-eaten-items.patch
+++ b/patches/server/0073-Custom-replacement-for-eaten-items.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Custom replacement for eaten items
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 47403887721914b632565947efae0dfa7c841588..031b7f51959d1b8ca30e4a9fda0a2832516c9c0c 100644
+index c177e3ba30b8807eb41ad7741706d9a017ab9717..21a356b3c7d3dec73e5c8feaa4afda479a7ec1a2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3982,10 +3982,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3983,10 +3983,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!this.useItem.isEmpty() && this.isUsingItem()) {
// CraftBukkit start - fire PlayerItemConsumeEvent
ItemStack itemstack;
@@ -21,7 +21,7 @@ index 47403887721914b632565947efae0dfa7c841588..031b7f51959d1b8ca30e4a9fda0a2832
this.level().getCraftServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
-@@ -4003,6 +4004,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4004,6 +4005,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
} else {
itemstack = this.useItem.finishUsingItem(this.level(), this);
}
@@ -34,7 +34,7 @@ index 47403887721914b632565947efae0dfa7c841588..031b7f51959d1b8ca30e4a9fda0a2832
// CraftBukkit end
if (itemstack != this.useItem) {
-@@ -4010,6 +4017,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4011,6 +4018,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.stopUsingItem();
diff --git a/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index d019f5b8cb..3095ce36ae 100644
--- a/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 031b7f51959d1b8ca30e4a9fda0a2832516c9c0c..e5d1877f570b302f0b193e77ff5fdd7e89532513 100644
+index 21a356b3c7d3dec73e5c8feaa4afda479a7ec1a2..cd7837935003775688281882b19f0808512a2e0d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -831,7 +831,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -34,7 +34,7 @@ index 031b7f51959d1b8ca30e4a9fda0a2832516c9c0c..e5d1877f570b302f0b193e77ff5fdd7e
// CraftBukkit start - Handle scaled health
if (this instanceof ServerPlayer) {
org.bukkit.craftbukkit.entity.CraftPlayer player = ((ServerPlayer) this).getBukkitEntity();
-@@ -3839,7 +3849,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3840,7 +3850,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public final void setAbsorptionAmount(float absorptionAmount) {
diff --git a/patches/server/0075-Use-a-Shared-Random-for-Entities.patch b/patches/server/0075-Use-a-Shared-Random-for-Entities.patch
index b053616a5f..6cc939258e 100644
--- a/patches/server/0075-Use-a-Shared-Random-for-Entities.patch
+++ b/patches/server/0075-Use-a-Shared-Random-for-Entities.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Use a Shared Random for Entities
Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8a61ca3cba2888e03e440519714705fe50b81267..847fd720f11e89d906430c820bc92afe0454761d 100644
+index 0c2389e73e98ec48ed636f616a36e6e1cefa7b93..27a0f0651ac961c06626df1e4beb5525b4dacd48 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -183,6 +183,79 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -184,6 +184,79 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
}
@@ -89,7 +89,7 @@ index 8a61ca3cba2888e03e440519714705fe50b81267..847fd720f11e89d906430c820bc92afe
private CraftEntity bukkitEntity;
public CraftEntity getBukkitEntity() {
-@@ -373,7 +446,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -374,7 +447,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.bb = Entity.INITIAL_AABB;
this.stuckSpeedMultiplier = Vec3.ZERO;
this.nextStep = 1.0F;
diff --git a/patches/server/0126-Cap-Entity-Collisions.patch b/patches/server/0126-Cap-Entity-Collisions.patch
index 0a1d097e37..fe97d68719 100644
--- a/patches/server/0126-Cap-Entity-Collisions.patch
+++ b/patches/server/0126-Cap-Entity-Collisions.patch
@@ -12,10 +12,10 @@ just as it does in Vanilla, but entity pushing logic will be capped.
You can set this to 0 to disable collisions.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 847fd720f11e89d906430c820bc92afe0454761d..b1b26e7c0f66f0697bcfe9eb045d45f31cd9ab06 100644
+index 27a0f0651ac961c06626df1e4beb5525b4dacd48..2b5d1bc6d3b3fd04bcbf4984035a00b9151cf2ee 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -404,6 +404,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -405,6 +405,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public long activatedTick = Integer.MIN_VALUE;
public void inactiveTick() { }
// Spigot end
@@ -24,10 +24,10 @@ index 847fd720f11e89d906430c820bc92afe0454761d..b1b26e7c0f66f0697bcfe9eb045d45f3
@javax.annotation.Nullable
private org.bukkit.util.Vector origin;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 7a648a8c3f25397e1c883a42648b21a05901513f..bcc0137fec45406e70231b4e2a5bd69dc08ffb5a 100644
+index 6c29a05e91a6bac634ca3e5394b90112b65cdbd6..009539fa39c81c610ac34747cc09082a0756c79d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3640,10 +3640,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3641,10 +3641,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
Iterator iterator1 = list.iterator();
diff --git a/patches/server/0141-Entity-fromMobSpawner.patch b/patches/server/0141-Entity-fromMobSpawner.patch
index 4d78b98a0b..c03cb1fa0d 100644
--- a/patches/server/0141-Entity-fromMobSpawner.patch
+++ b/patches/server/0141-Entity-fromMobSpawner.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity#fromMobSpawner()
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index b1b26e7c0f66f0697bcfe9eb045d45f31cd9ab06..99794276626d26849150d4956abbbc2296543907 100644
+index 2b5d1bc6d3b3fd04bcbf4984035a00b9151cf2ee..aa70b6437cabdd875cec446db4bcf2422ab2cbc6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -405,6 +405,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -406,6 +406,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public void inactiveTick() { }
// Spigot end
protected int numCollisions = 0; // Paper - Cap entity collisions
@@ -16,7 +16,7 @@ index b1b26e7c0f66f0697bcfe9eb045d45f31cd9ab06..99794276626d26849150d4956abbbc22
// Paper start - Entity origin API
@javax.annotation.Nullable
private org.bukkit.util.Vector origin;
-@@ -2375,6 +2376,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2376,6 +2377,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
nbttagcompound.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ()));
}
@@ -27,7 +27,7 @@ index b1b26e7c0f66f0697bcfe9eb045d45f31cd9ab06..99794276626d26849150d4956abbbc22
// Paper end
return nbttagcompound;
} catch (Throwable throwable) {
-@@ -2516,6 +2521,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2517,6 +2522,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.originWorld = originWorld;
origin = new org.bukkit.util.Vector(originTag.getDouble(0), originTag.getDouble(1), originTag.getDouble(2));
}
diff --git a/patches/server/0156-Add-PlayerArmorChangeEvent.patch b/patches/server/0156-Add-PlayerArmorChangeEvent.patch
index 1f465410c3..0097500daf 100644
--- a/patches/server/0156-Add-PlayerArmorChangeEvent.patch
+++ b/patches/server/0156-Add-PlayerArmorChangeEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerArmorChangeEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index bcc0137fec45406e70231b4e2a5bd69dc08ffb5a..84e11e2c62e643f959f1a570a27f6ad07df165d4 100644
+index 009539fa39c81c610ac34747cc09082a0756c79d..08322f6147b78d140a2e0d6c3189ee95270c3c71 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3283,6 +3283,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3284,6 +3284,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
itemstack = this.getItemBySlot(enumitemslot);
if (this.equipmentHasChanged(itemstack2, itemstack)) {
diff --git a/patches/server/0176-Player.setPlayerProfile-API.patch b/patches/server/0176-Player.setPlayerProfile-API.patch
index 42216ef379..fd09301185 100644
--- a/patches/server/0176-Player.setPlayerProfile-API.patch
+++ b/patches/server/0176-Player.setPlayerProfile-API.patch
@@ -207,10 +207,10 @@ index 128fcd537783986d816dae6d1ce2afb7af07d45a..32eeca2467189c6c97f7da5529d4fe93
public void onEntityRemove(Entity entity) {
this.invertedVisibilityEntities.remove(entity.getUUID());
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-index ba104635c7713b04ce624bc4c7bd390462bc0edb..9a6857f325d72c1b5ce403c3240e0b1a3f43bc38 100644
+index 371d31266a532e59c49dbb106e354296b119fa5e..61d617d4abb9c9cf5c711459aa98c8b173597a9a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-@@ -470,6 +470,13 @@ public class Commodore {
+@@ -472,6 +472,13 @@ public class Commodore {
}
// Paper end - Rewrite plugins
diff --git a/patches/server/0193-Add-EntityTeleportEndGatewayEvent.patch b/patches/server/0193-Add-EntityTeleportEndGatewayEvent.patch
index 2a5ab478ab..48430a9c1c 100644
--- a/patches/server/0193-Add-EntityTeleportEndGatewayEvent.patch
+++ b/patches/server/0193-Add-EntityTeleportEndGatewayEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityTeleportEndGatewayEvent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 99794276626d26849150d4956abbbc2296543907..087f030985180b91a809fb45244e23106da62e34 100644
+index aa70b6437cabdd875cec446db4bcf2422ab2cbc6..46cb5722be10182af7af41f733405ab5fe137576 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3429,8 +3429,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3430,8 +3430,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// CraftBukkit start
PositionMoveRotation absolutePosition = PositionMoveRotation.calculateAbsolute(PositionMoveRotation.of(this), PositionMoveRotation.of(teleportTarget), teleportTarget.relatives());
Location to = CraftLocation.toBukkit(absolutePosition.position(), teleportTarget.newLevel().getWorld(), absolutePosition.yRot(), absolutePosition.xRot());
diff --git a/patches/server/0198-Make-shield-blocking-delay-configurable.patch b/patches/server/0198-Make-shield-blocking-delay-configurable.patch
index 0c056446f0..e1dfd5efbf 100644
--- a/patches/server/0198-Make-shield-blocking-delay-configurable.patch
+++ b/patches/server/0198-Make-shield-blocking-delay-configurable.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Make shield blocking delay configurable
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 84e11e2c62e643f959f1a570a27f6ad07df165d4..08a2fbca50e26938e46e49dae7b101cfc375b02e 100644
+index 08322f6147b78d140a2e0d6c3189ee95270c3c71..9e21f77689eb246ad72cdbd7ee19211dcb2ed738 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4101,12 +4101,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4102,12 +4102,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (this.isUsingItem() && !this.useItem.isEmpty()) {
Item item = this.useItem.getItem();
diff --git a/patches/server/0201-Add-entity-knockback-events.patch b/patches/server/0201-Add-entity-knockback-events.patch
index 8615d22e3d..3e29b55d3e 100644
--- a/patches/server/0201-Add-entity-knockback-events.patch
+++ b/patches/server/0201-Add-entity-knockback-events.patch
@@ -11,10 +11,10 @@ Co-authored-by: aerulion <[email protected]>
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 087f030985180b91a809fb45244e23106da62e34..011006bc2e88a9fec98796f939c07d884b92126b 100644
+index 46cb5722be10182af7af41f733405ab5fe137576..ab7740d1753cd8540189c77053e5ca1f71c1b024 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2050,7 +2050,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2051,7 +2051,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void push(double deltaX, double deltaY, double deltaZ) {
@@ -38,7 +38,7 @@ index 087f030985180b91a809fb45244e23106da62e34..011006bc2e88a9fec98796f939c07d88
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 08a2fbca50e26938e46e49dae7b101cfc375b02e..cfff596d720efe5f5ee4ad1990c3ee0fd6e4e836 100644
+index 9e21f77689eb246ad72cdbd7ee19211dcb2ed738..61124dfec84792fa23ce1b0f03cbd97b1a6bde5b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1563,7 +1563,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0209-add-more-information-to-Entity.toString.patch b/patches/server/0209-add-more-information-to-Entity.toString.patch
index a7a8976cca..ec05b0c235 100644
--- a/patches/server/0209-add-more-information-to-Entity.toString.patch
+++ b/patches/server/0209-add-more-information-to-Entity.toString.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString()
UUID, ticks lived, valid, dead
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 011006bc2e88a9fec98796f939c07d884b92126b..79a3d586ddf404c449b7c0aa1996e9b9897b2383 100644
+index ab7740d1753cd8540189c77053e5ca1f71c1b024..659ed49cebb8ed2a6e1c88fb1e4d95f0520820d4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3406,7 +3406,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3407,7 +3407,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public String toString() {
String s = this.level() == null ? "~NULL~" : this.level().toString();
diff --git a/patches/server/0239-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0239-Add-ray-tracing-methods-to-LivingEntity.patch
index 4ad440ffa3..e9b2e45d29 100644
--- a/patches/server/0239-Add-ray-tracing-methods-to-LivingEntity.patch
+++ b/patches/server/0239-Add-ray-tracing-methods-to-LivingEntity.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add ray tracing methods to LivingEntity
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index cfff596d720efe5f5ee4ad1990c3ee0fd6e4e836..5b8e0931be2acb1eb4ac6f399ecc0a5ebc5db586 100644
+index 61124dfec84792fa23ce1b0f03cbd97b1a6bde5b..30343efb680edf3dc355498b04c5db9ebecbf270 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4112,6 +4112,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4113,6 +4113,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
// Paper start - Make shield blocking delay configurable
diff --git a/patches/server/0251-Add-LivingEntity-getTargetEntity.patch b/patches/server/0251-Add-LivingEntity-getTargetEntity.patch
index 8f5a3aa5fa..de209ef73f 100644
--- a/patches/server/0251-Add-LivingEntity-getTargetEntity.patch
+++ b/patches/server/0251-Add-LivingEntity-getTargetEntity.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#getTargetEntity
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 7a89c25fcd1c76e4b176c257600db89788aa0f21..3bcf2ba5f065d946ded4020b9882bc4e19af0e08 100644
+index 781568c0aef7556fd4422574d31c0ad790f0afa7..8f6f73fd6f1fce3b78e472f454e0a34043a00125 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4176,6 +4176,38 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4177,6 +4177,38 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.level().clip(raytrace);
}
diff --git a/patches/server/0266-force-entity-dismount-during-teleportation.patch b/patches/server/0266-force-entity-dismount-during-teleportation.patch
index e01ab14535..70b6f602f8 100644
--- a/patches/server/0266-force-entity-dismount-during-teleportation.patch
+++ b/patches/server/0266-force-entity-dismount-during-teleportation.patch
@@ -41,10 +41,10 @@ index cef054ba95ed7d2b0e2ee575edae3e94b77f58b6..8d958ac09bd9484d879eee6acb6aaea2
Iterator iterator = entityliving.getActiveEffects().iterator();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 79a3d586ddf404c449b7c0aa1996e9b9897b2383..5d551a50e1043e369ebf3ddfe181be1e24cfd068 100644
+index 659ed49cebb8ed2a6e1c88fb1e4d95f0520820d4..2e1628a9b5507ff6b1f00ac83247fc033b2db1c4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2821,17 +2821,28 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2822,17 +2822,28 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void removeVehicle() {
@@ -75,7 +75,7 @@ index 79a3d586ddf404c449b7c0aa1996e9b9897b2383..5d551a50e1043e369ebf3ddfe181be1e
}
protected void addPassenger(Entity passenger) {
-@@ -2856,7 +2867,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2857,7 +2868,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}
@@ -87,7 +87,7 @@ index 79a3d586ddf404c449b7c0aa1996e9b9897b2383..5d551a50e1043e369ebf3ddfe181be1e
if (entity.getVehicle() == this) {
throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)");
} else {
-@@ -2866,7 +2880,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2867,7 +2881,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (this.getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) {
VehicleExitEvent event = new VehicleExitEvent(
(Vehicle) this.getBukkitEntity(),
@@ -96,7 +96,7 @@ index 79a3d586ddf404c449b7c0aa1996e9b9897b2383..5d551a50e1043e369ebf3ddfe181be1e
);
// Suppress during worldgen
if (this.valid) {
-@@ -2879,7 +2893,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2880,7 +2894,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}
@@ -106,10 +106,10 @@ index 79a3d586ddf404c449b7c0aa1996e9b9897b2383..5d551a50e1043e369ebf3ddfe181be1e
if (this.valid) {
Bukkit.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 3bcf2ba5f065d946ded4020b9882bc4e19af0e08..63d1c5e8441eb5a32fc298ff2d2f3157cbd19557 100644
+index 8f6f73fd6f1fce3b78e472f454e0a34043a00125..7e684a7df64b64e25ba602c39488712eefdfbcfa 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3756,9 +3756,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3757,9 +3757,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
public void stopRiding() {
diff --git a/patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch b/patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch
index cc586b335c..94f0e11703 100644
--- a/patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch
+++ b/patches/server/0278-Fixes-and-additions-to-the-spawn-reason-API.patch
@@ -51,7 +51,7 @@ index 9cfd0b457f6c462921667b9439a7b3e32d019758..62412b37d4f7d37b3fec0966ab700c2a
if (entity == null) {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index c75bc7427bd818e9d23ca0af2b08cb160f3c432e..fd1fe9a72a1d4e87b97a34fc79ab1429d31207e5 100644
+index 97b48186a48ca037645d4a5ae84e3a95fd413a33..a04cfa09d9f8594a7ad3120855efe1641abb7a47 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -223,6 +223,11 @@ public abstract class PlayerList {
@@ -67,10 +67,10 @@ index c75bc7427bd818e9d23ca0af2b08cb160f3c432e..fd1fe9a72a1d4e87b97a34fc79ab1429
String s1 = connection.getLoggableAddress(this.server.logIPs());
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 5d551a50e1043e369ebf3ddfe181be1e24cfd068..463d34e7b54efd503c4879d1386b2439474863dd 100644
+index 2e1628a9b5507ff6b1f00ac83247fc033b2db1c4..e7b4809aa7220597ae92cf8f941f61e874d45d46 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -255,6 +255,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -256,6 +256,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}
// Paper end - Share random for entities to make them more random
@@ -78,7 +78,7 @@ index 5d551a50e1043e369ebf3ddfe181be1e24cfd068..463d34e7b54efd503c4879d1386b2439
private CraftEntity bukkitEntity;
-@@ -2390,6 +2391,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2391,6 +2392,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
nbttagcompound.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ()));
}
@@ -88,7 +88,7 @@ index 5d551a50e1043e369ebf3ddfe181be1e24cfd068..463d34e7b54efd503c4879d1386b2439
// Save entity's from mob spawner status
if (spawnedViaMobSpawner) {
nbttagcompound.putBoolean("Paper.FromMobSpawner", true);
-@@ -2537,6 +2541,26 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2538,6 +2542,26 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
diff --git a/patches/server/0293-Prevent-consuming-the-wrong-itemstack.patch b/patches/server/0293-Prevent-consuming-the-wrong-itemstack.patch
index ec94a92f4d..6da3d543fa 100644
--- a/patches/server/0293-Prevent-consuming-the-wrong-itemstack.patch
+++ b/patches/server/0293-Prevent-consuming-the-wrong-itemstack.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent consuming the wrong itemstack
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 63d1c5e8441eb5a32fc298ff2d2f3157cbd19557..ebfea3adbedd2695f645421019a276efbc73ee63 100644
+index 7e684a7df64b64e25ba602c39488712eefdfbcfa..ba78e8b73793292830f3260f9a12c50c698bb881 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3993,9 +3993,14 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3994,9 +3994,14 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public void startUsingItem(InteractionHand hand) {
@@ -24,7 +24,7 @@ index 63d1c5e8441eb5a32fc298ff2d2f3157cbd19557..ebfea3adbedd2695f645421019a276ef
this.useItem = itemstack;
this.useItemRemaining = itemstack.getUseDuration(this);
if (!this.level().isClientSide) {
-@@ -4066,6 +4071,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4067,6 +4072,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.releaseUsingItem();
} else {
if (!this.useItem.isEmpty() && this.isUsingItem()) {
@@ -32,7 +32,7 @@ index 63d1c5e8441eb5a32fc298ff2d2f3157cbd19557..ebfea3adbedd2695f645421019a276ef
// CraftBukkit start - fire PlayerItemConsumeEvent
ItemStack itemstack;
PlayerItemConsumeEvent event = null; // Paper
-@@ -4103,8 +4109,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4104,8 +4110,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.stopUsingItem();
diff --git a/patches/server/0302-Fix-item-EAR-ticks.patch b/patches/server/0302-Fix-item-EAR-ticks.patch
index 8fd577191b..aef64b6c5a 100644
--- a/patches/server/0302-Fix-item-EAR-ticks.patch
+++ b/patches/server/0302-Fix-item-EAR-ticks.patch
@@ -21,15 +21,12 @@ index 75ebf09777e19645eee296a9edabac39c858ffb9..c21fa55c62d97d9511e41a1e313e9043
this.applyEffectsFromBlocks();
float f = 0.98F;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index dd1c5bc7522a4710cbfdd4764f6431e1e28d63cc..05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6 100644
+index bd522080d17b5b470ec3ab42aa4ecc3082248c8a..964e3e81ab522ceebfceb651dfe3309d7b87c688 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
-@@ -251,12 +251,11 @@ public class ActivationRange
- entity.activatedTick = MinecraftServer.currentTick + 20;
+@@ -253,11 +253,8 @@ public class ActivationRange
}
isActive = true;
-+ } else if (entity instanceof net.minecraft.world.entity.item.ItemEntity && (entity.tickCount + entity.getId()) % 4 == 0) { // Paper - Needed for item gravity, see ItemEntity tick
-+ isActive = true;
}
- // Add a little performance juice to active entities. Skip 1/4 if not immune.
- } else if ( !entity.defaultActivationState && entity.tickCount % 4 == 0 && !ActivationRange.checkEntityImmunities( entity ) )
diff --git a/patches/server/0313-Entity-Jump-API.patch b/patches/server/0313-Entity-Jump-API.patch
index 66167bd061..e9ef901729 100644
--- a/patches/server/0313-Entity-Jump-API.patch
+++ b/patches/server/0313-Entity-Jump-API.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Entity Jump API
public net.minecraft.world.entity.LivingEntity jumping
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index ebfea3adbedd2695f645421019a276efbc73ee63..724fe482f1711008dc43fef96c4512a18ed54a48 100644
+index ba78e8b73793292830f3260f9a12c50c698bb881..a874913997c80c8f47f395e2ef4bb959aaa3e76d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3537,8 +3537,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3538,8 +3538,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
} else if (this.isInLava() && (!this.onGround() || d3 > d4)) {
this.jumpInLiquid(FluidTags.LAVA);
} else if ((this.onGround() || flag && d3 <= d4) && this.noJumpDelay == 0) {
diff --git a/patches/server/0314-Add-option-to-nerf-pigmen-from-nether-portals.patch b/patches/server/0314-Add-option-to-nerf-pigmen-from-nether-portals.patch
index 81ec1db92d..85acae1cfa 100644
--- a/patches/server/0314-Add-option-to-nerf-pigmen-from-nether-portals.patch
+++ b/patches/server/0314-Add-option-to-nerf-pigmen-from-nether-portals.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to nerf pigmen from nether portals
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 463d34e7b54efd503c4879d1386b2439474863dd..fa80b6220aba144521dc0a2a35914c10046c1963 100644
+index e7b4809aa7220597ae92cf8f941f61e874d45d46..01ea0f81aecbf642d238e6cf6409df2cc83000f3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -406,6 +406,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -407,6 +407,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public void inactiveTick() { }
// Spigot end
protected int numCollisions = 0; // Paper - Cap entity collisions
@@ -16,7 +16,7 @@ index 463d34e7b54efd503c4879d1386b2439474863dd..fa80b6220aba144521dc0a2a35914c10
public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one
// Paper start - Entity origin API
@javax.annotation.Nullable
-@@ -2398,6 +2399,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2399,6 +2400,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (spawnedViaMobSpawner) {
nbttagcompound.putBoolean("Paper.FromMobSpawner", true);
}
@@ -26,7 +26,7 @@ index 463d34e7b54efd503c4879d1386b2439474863dd..fa80b6220aba144521dc0a2a35914c10
// Paper end
return nbttagcompound;
} catch (Throwable throwable) {
-@@ -2541,6 +2545,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2542,6 +2546,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
diff --git a/patches/server/0336-Don-t-run-entity-collision-code-if-not-needed.patch b/patches/server/0336-Don-t-run-entity-collision-code-if-not-needed.patch
index 543230b850..3f5d224512 100644
--- a/patches/server/0336-Don-t-run-entity-collision-code-if-not-needed.patch
+++ b/patches/server/0336-Don-t-run-entity-collision-code-if-not-needed.patch
@@ -12,10 +12,10 @@ The entity's current team collision rule causes them to NEVER collide.
Co-authored-by: Owen1212055 <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 724fe482f1711008dc43fef96c4512a18ed54a48..4fb99e3ee14d2e7fe2720e25af1c890004b0c250 100644
+index a874913997c80c8f47f395e2ef4bb959aaa3e76d..b01e472a8a5f05e586bfa35e33abfd3875518ab3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3681,10 +3681,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3682,10 +3682,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!(world instanceof ServerLevel worldserver)) {
this.level().getEntities(EntityTypeTest.forClass(net.minecraft.world.entity.player.Player.class), this.getBoundingBox(), EntitySelector.pushableBy(this)).forEach(this::doPush);
} else {
diff --git a/patches/server/0340-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/patches/server/0340-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch
index 3dae78af46..abd396810f 100644
--- a/patches/server/0340-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch
+++ b/patches/server/0340-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch
@@ -10,7 +10,7 @@ Co-authored-by: Wyatt Childers <[email protected]>
Co-authored-by: Jake Potrebic <[email protected]>
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 4ff14dc6996634b0fcd365f76055023601ad2be0..530369764cad77466995f8f65070eec6a5de74f2 100644
+index ac5725230b04bc1a333863e251fe86580f909ea9..54de4e701adea123c0fdfb5787e951699305bb81 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -197,6 +197,7 @@ public abstract class PlayerList {
@@ -84,10 +84,10 @@ index 4ff14dc6996634b0fcd365f76055023601ad2be0..530369764cad77466995f8f65070eec6
}
// Paper end - Entity#getEntitySpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index fa80b6220aba144521dc0a2a35914c10046c1963..5b8e264098f1b713de15f714bae59d3efda365cf 100644
+index 01ea0f81aecbf642d238e6cf6409df2cc83000f3..416e76f2124aba0c9ad6e6ecb052e73a8b743f37 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2502,27 +2502,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2503,27 +2503,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
// CraftBukkit end
diff --git a/patches/server/0341-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/server/0341-Add-PlayerAttackEntityCooldownResetEvent.patch
index 620e81e210..9d2516951e 100644
--- a/patches/server/0341-Add-PlayerAttackEntityCooldownResetEvent.patch
+++ b/patches/server/0341-Add-PlayerAttackEntityCooldownResetEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerAttackEntityCooldownResetEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 4fb99e3ee14d2e7fe2720e25af1c890004b0c250..25a2085ed68d393afbb658b63a1cd39af98f39fa 100644
+index b01e472a8a5f05e586bfa35e33abfd3875518ab3..33d969e09372930e740a8a4a84e5503284df9c28 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2352,7 +2352,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2353,7 +2353,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
if (damagesource.getEntity() instanceof net.minecraft.world.entity.player.Player) {
diff --git a/patches/server/0344-Fix-item-duplication-and-teleport-issues.patch b/patches/server/0344-Fix-item-duplication-and-teleport-issues.patch
index fb6c0286ae..9ba828b0c5 100644
--- a/patches/server/0344-Fix-item-duplication-and-teleport-issues.patch
+++ b/patches/server/0344-Fix-item-duplication-and-teleport-issues.patch
@@ -16,10 +16,10 @@ So even if something NEW comes up, it would be impossible to drop the
same item twice because the source was destroyed.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 5b8e264098f1b713de15f714bae59d3efda365cf..e3228ad3825adedbd1a8326ac3bea329b539b18f 100644
+index 416e76f2124aba0c9ad6e6ecb052e73a8b743f37..8b4ded85500379bd7dafba51a91732dc56b815e6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2630,11 +2630,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2631,11 +2631,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
} else {
// CraftBukkit start - Capture drops for death event
if (this instanceof net.minecraft.world.entity.LivingEntity && !((net.minecraft.world.entity.LivingEntity) this).forceDrops) {
@@ -34,7 +34,7 @@ index 5b8e264098f1b713de15f714bae59d3efda365cf..e3228ad3825adedbd1a8326ac3bea329
entityitem.setDefaultPickUpDelay();
// CraftBukkit start
-@@ -3462,6 +3463,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3463,6 +3464,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public Entity teleport(TeleportTransition teleportTarget) {
Level world = this.level();
@@ -47,7 +47,7 @@ index 5b8e264098f1b713de15f714bae59d3efda365cf..e3228ad3825adedbd1a8326ac3bea329
if (world instanceof ServerLevel worldserver) {
if (!this.isRemoved()) {
// CraftBukkit start
-@@ -3550,6 +3557,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3551,6 +3558,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
gameprofilerfiller.pop();
return null;
} else {
@@ -59,7 +59,7 @@ index 5b8e264098f1b713de15f714bae59d3efda365cf..e3228ad3825adedbd1a8326ac3bea329
entity.restoreFrom(this);
this.removeAfterChangingDimensions();
// CraftBukkit start - Forward the CraftEntity to the new entity
-@@ -3662,6 +3674,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3663,6 +3675,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public boolean canTeleport(Level from, Level to) {
@@ -68,7 +68,7 @@ index 5b8e264098f1b713de15f714bae59d3efda365cf..e3228ad3825adedbd1a8326ac3bea329
Iterator iterator = this.getPassengers().iterator();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 25a2085ed68d393afbb658b63a1cd39af98f39fa..718ccabb46d4520ba363d21a33e06eb2c9ff62ee 100644
+index 33d969e09372930e740a8a4a84e5503284df9c28..4d39aa2fdc311acb34d7b674365141b995c324b7 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1765,9 +1765,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0369-Ensure-Entity-position-and-AABB-are-never-invalid.patch b/patches/server/0369-Ensure-Entity-position-and-AABB-are-never-invalid.patch
index 09ccee390d..8d67ff41dd 100644
--- a/patches/server/0369-Ensure-Entity-position-and-AABB-are-never-invalid.patch
+++ b/patches/server/0369-Ensure-Entity-position-and-AABB-are-never-invalid.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Ensure Entity position and AABB are never invalid
Co-authored-by: Spottedleaf <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index d5f96ed753e8298085e40c6181285cd6ea838ca2..8993c16254ac05d509bd8ac1cd21e7cc7c4097b8 100644
+index 8b4ded85500379bd7dafba51a91732dc56b815e6..65144603a545903b8f11ee1b2b1ac2795af81381 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -677,8 +677,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -678,8 +678,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void setPos(double x, double y, double z) {
@@ -20,7 +20,7 @@ index d5f96ed753e8298085e40c6181285cd6ea838ca2..8993c16254ac05d509bd8ac1cd21e7cc
}
protected AABB makeBoundingBox() {
-@@ -4412,7 +4412,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4442,7 +4442,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.getZ((2.0D * this.random.nextDouble() - 1.0D) * widthScale);
}
@@ -50,7 +50,7 @@ index d5f96ed753e8298085e40c6181285cd6ea838ca2..8993c16254ac05d509bd8ac1cd21e7cc
if (this.position.x != x || this.position.y != y || this.position.z != z) {
this.position = new Vec3(x, y, z);
int i = Mth.floor(x);
-@@ -4430,6 +4452,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4460,6 +4482,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.levelCallback.onMove();
}
diff --git a/patches/server/0380-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/server/0380-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
index c46cb6a919..444ff88b49 100644
--- a/patches/server/0380-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
+++ b/patches/server/0380-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't check chunk for portal on world gen entity add
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 718ccabb46d4520ba363d21a33e06eb2c9ff62ee..7e3670bee52407d768d1f7c0be66d7c0d0f72c46 100644
+index 4d39aa2fdc311acb34d7b674365141b995c324b7..6a2f54a70b484effb903f084a5a109981ef38114 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3796,7 +3796,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3797,7 +3797,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
Entity entity = this.getVehicle();
super.stopRiding(suppressCancellation); // Paper - Force entity dismount during teleportation
diff --git a/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
index 4545d0671c..fe42787910 100644
--- a/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
+++ b/patches/server/0404-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch
@@ -22,10 +22,10 @@ index 00ce20359f6d73acf3f1016806e5f4f3b6d01bcd..1754e413dc1b7a18b3fc0b981eae1128
this.lastGoodY = this.awaitingPositionFromClient.y;
this.lastGoodZ = this.awaitingPositionFromClient.z;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8993c16254ac05d509bd8ac1cd21e7cc7c4097b8..2c9e57436469f94beb45f656a1df71aba7b1e408 100644
+index 65144603a545903b8f11ee1b2b1ac2795af81381..906a5cc5671b707ef90d1f25d8ba5642c7a483bc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -179,6 +179,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -180,6 +180,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// CraftBukkit start
private static final int CURRENT_LEVEL = 2;
@@ -33,7 +33,7 @@ index 8993c16254ac05d509bd8ac1cd21e7cc7c4097b8..2c9e57436469f94beb45f656a1df71ab
static boolean isLevelAtLeast(CompoundTag tag, int level) {
return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
}
-@@ -1943,6 +1944,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1944,6 +1945,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void moveTo(double x, double y, double z, float yaw, float pitch) {
diff --git a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
index 71b2a9d8d1..cf630764ef 100644
--- a/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
+++ b/patches/server/0408-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 2c9e57436469f94beb45f656a1df71aba7b1e408..c3e28cc070993be5afe9323c2c2d54ffc81d82f3 100644
+index 906a5cc5671b707ef90d1f25d8ba5642c7a483bc..3f0a44db707176c25e306f55fa63da9314d682a1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -4704,4 +4704,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4734,4 +4734,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
void accept(Entity entity, double x, double y, double z);
}
diff --git a/patches/server/0410-Entity-isTicking.patch b/patches/server/0410-Entity-isTicking.patch
index ce16852635..0a46bb21ad 100644
--- a/patches/server/0410-Entity-isTicking.patch
+++ b/patches/server/0410-Entity-isTicking.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index c3e28cc070993be5afe9323c2c2d54ffc81d82f3..6cefe8e0de375d3b192cc8be2b553a2dcbe098f5 100644
+index 3f0a44db707176c25e306f55fa63da9314d682a1..4a26795d22c0276980f4d0ad266861389d8471a8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -4709,5 +4709,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4739,5 +4739,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public static int nextEntityId() {
return ENTITY_COUNTER.incrementAndGet();
}
diff --git a/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch
index cb1a5d5b2a..41081acffa 100644
--- a/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch
+++ b/patches/server/0435-Climbing-should-not-bypass-cramming-gamerule.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 6cefe8e0de375d3b192cc8be2b553a2dcbe098f5..7feed6383fdc367796ccb943bd086814ec989e6d 100644
+index 4a26795d22c0276980f4d0ad266861389d8471a8..9ebce90de425989014466d2c5ce68fce505d1dcd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2195,6 +2195,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2196,6 +2196,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public boolean isPushable() {
@@ -44,10 +44,10 @@ index b8d57e25851dd7da905100dfd4022e4b99fd7f02..721321a19ce056f82de2bef44a8791dc
} else if (entity1 instanceof Player && entity instanceof Player && !io.papermc.paper.configuration.GlobalConfiguration.get().collisions.enablePlayerCollisions) { // Paper - Configurable player collision
return false;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 7e3670bee52407d768d1f7c0be66d7c0d0f72c46..d361e39ba50958e7bdaea0b95c37d13f48a89771 100644
+index 6a2f54a70b484effb903f084a5a109981ef38114..499e4fbb919ae3875aaa371d6ee206b8b144387b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3710,7 +3710,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3711,7 +3711,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
return;
}
// Paper end - don't run getEntities if we're not going to use its result
@@ -56,7 +56,7 @@ index 7e3670bee52407d768d1f7c0be66d7c0d0f72c46..d361e39ba50958e7bdaea0b95c37d13f
if (!list.isEmpty()) {
// Paper - don't run getEntities if we're not going to use its result; moved up
-@@ -3915,9 +3915,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3916,9 +3916,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
return !this.isRemoved() && this.collides; // CraftBukkit
}
@@ -142,7 +142,7 @@ index b0373df16a3e6910fb5f4a2ab7ca2523ced84a22..a9661ab34bc98c19d525eb4b60b1f0d0
}
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
-index a8fc89f78181abf9963bd1523f3bbefa911847d8..50c0055d80735313c280821991bd2a76e427f082 100644
+index a4ab0e50a245790b1767047c384859f06c3f9526..fb9f0a62201dfeccd0eec9bb399f9edc6a01f1f0 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -161,7 +161,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
diff --git a/patches/server/0436-Add-missing-default-perms-for-commands.patch b/patches/server/0436-Add-missing-default-perms-for-commands.patch
index 0ff16975d2..95a842cb3f 100644
--- a/patches/server/0436-Add-missing-default-perms-for-commands.patch
+++ b/patches/server/0436-Add-missing-default-perms-for-commands.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add missing default perms for commands
diff --git a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java
-index a9ea2e38e4673686c9994a58c94ad19e59fd423c..52649f82351ab4f675c3cc3cd6640956b0f76b91 100644
+index a9ea2e38e4673686c9994a58c94ad19e59fd423c..b3169c551b8410f5861f9db0543c785439ecba7c 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/permissions/CommandPermissions.java
-@@ -24,13 +24,75 @@ public final class CommandPermissions {
+@@ -24,13 +24,76 @@ public final class CommandPermissions {
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "stop", "Allows the user to stop the server", PermissionDefault.OP, commands);
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "list", "Allows the user to list all online players", PermissionDefault.OP, commands);
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "gamemode", "Allows the user to change the gamemode of another player", PermissionDefault.OP, commands);
@@ -82,6 +82,7 @@ index a9ea2e38e4673686c9994a58c94ad19e59fd423c..52649f82351ab4f675c3cc3cd6640956
+ DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "place", "Allows the user to place features and structures", PermissionDefault.OP, commands);
+ DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "return", "Allows the user to use the /return command", PermissionDefault.OP, commands);
+ DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "random", "Allows the user to generate a random number", PermissionDefault.OP, commands);
++ DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "rotate", "Allows the user to change the rotation of entities", PermissionDefault.OP, commands);
+ // Paper end
DefaultPermissions.registerPermission("minecraft.admin.command_feedback", "Receive command broadcasts when sendCommandFeedback is true", PermissionDefault.OP, commands);
diff --git a/patches/server/0439-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0439-Fix-CraftSound-backwards-compatibility.patch
index 9ca7f86992..604e24920d 100644
--- a/patches/server/0439-Fix-CraftSound-backwards-compatibility.patch
+++ b/patches/server/0439-Fix-CraftSound-backwards-compatibility.patch
@@ -5,12 +5,12 @@ Subject: [PATCH] Fix CraftSound backwards compatibility
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java
-index 260a738d5d61cf931b939502ea9c66451855b91e..dce716b6ac407d1e1ae07272ee5c8b14f891f5fa 100644
+index e53d6d33bfe9ed14fce0f5df0ab7648f18489c39..5b6e6902db19b078bb8598014a87c06f1267acc4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java
-@@ -40,4 +40,10 @@ public class CraftSound {
- throw new IllegalArgumentException("No Reference holder found for " + bukkit
- + ", this can happen if a plugin creates its own sound effect with out properly registering it.");
+@@ -106,4 +106,10 @@ public class CraftSound implements Sound, Handleable<SoundEvent> {
+ public int hashCode() {
+ return this.getKey().hashCode();
}
+
+ // Paper start
diff --git a/patches/server/0446-MC-4-Fix-item-position-desync.patch b/patches/server/0446-MC-4-Fix-item-position-desync.patch
index f4858b59c3..dcfe9fecf4 100644
--- a/patches/server/0446-MC-4-Fix-item-position-desync.patch
+++ b/patches/server/0446-MC-4-Fix-item-position-desync.patch
@@ -28,10 +28,10 @@ index 488ebd443903af812913437f1ade3002093f2470..a043ac10834562d357ef0b5aded2e916
public Vec3 decode(long x, long y, long z) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 7feed6383fdc367796ccb943bd086814ec989e6d..7c07ffaabce7a3964114b0859ad0028d52c662cc 100644
+index 9ebce90de425989014466d2c5ce68fce505d1dcd..282863951033f7e036b0e58393651e1a22fada23 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -4449,6 +4449,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4479,6 +4479,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return;
}
// Paper end - Block invalid positions and bounding box
diff --git a/patches/server/0448-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/server/0448-API-to-get-Material-from-Boats-and-Minecarts.patch
index 4194a22c19..d3e0aece3c 100644
--- a/patches/server/0448-API-to-get-Material-from-Boats-and-Minecarts.patch
+++ b/patches/server/0448-API-to-get-Material-from-Boats-and-Minecarts.patch
@@ -25,10 +25,10 @@ index c101d01b55472efc9fc2829b8c17db5377ed57ff..5d51a49228eaee94f91cd04843e27c79
public Status getStatus() {
return CraftBoat.boatStatusFromNms(this.getHandle().status);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java
-index ee010d53f8c671d17d68f3f43dca9978e23ac8ab..d35c1a10e58932b19c8053c5dacdc25fd7f22e8c 100644
+index c4db7c00c66e064993b8b2158f226d063eea798c..8192ccb01ed4efe9e987cab94952c172ed876581 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java
-@@ -3,6 +3,7 @@ package org.bukkit.craftbukkit.entity;
+@@ -4,6 +4,7 @@ import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.vehicle.AbstractMinecart;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
@@ -36,7 +36,7 @@ index ee010d53f8c671d17d68f3f43dca9978e23ac8ab..d35c1a10e58932b19c8053c5dacdc25f
import org.bukkit.block.data.BlockData;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
-@@ -68,6 +69,24 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
+@@ -69,6 +70,24 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
this.getHandle().setDerailedVelocityMod(derailed);
}
diff --git a/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch b/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch
index 81d859b6fb..878e2016df 100644
--- a/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch
+++ b/patches/server/0467-Add-RegistryAccess-for-managing-Registries.patch
@@ -12,10 +12,10 @@ public net.minecraft.server.RegistryLayer STATIC_ACCESS
diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
new file mode 100644
-index 0000000000000000000000000000000000000000..9657c35ffbcc12061b394b97c97224e699c99b4f
+index 0000000000000000000000000000000000000000..39120c63ed25d45a4083523fbfe79d871f4d892e
--- /dev/null
+++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
-@@ -0,0 +1,152 @@
+@@ -0,0 +1,156 @@
+package io.papermc.paper.registry;
+
+import io.papermc.paper.adventure.PaperAdventure;
@@ -28,19 +28,23 @@ index 0000000000000000000000000000000000000000..9657c35ffbcc12061b394b97c97224e6
+import net.minecraft.core.Registry;
+import net.minecraft.core.registries.Registries;
+import net.minecraft.resources.ResourceKey;
++import org.bukkit.Art;
+import org.bukkit.Fluid;
+import org.bukkit.GameEvent;
+import org.bukkit.JukeboxSong;
+import org.bukkit.Keyed;
+import org.bukkit.MusicInstrument;
++import org.bukkit.Sound;
+import org.bukkit.attribute.Attribute;
+import org.bukkit.block.Biome;
+import org.bukkit.block.BlockType;
+import org.bukkit.block.banner.PatternType;
++import org.bukkit.craftbukkit.CraftArt;
+import org.bukkit.craftbukkit.CraftFluid;
+import org.bukkit.craftbukkit.CraftGameEvent;
+import org.bukkit.craftbukkit.CraftJukeboxSong;
+import org.bukkit.craftbukkit.CraftMusicInstrument;
++import org.bukkit.craftbukkit.CraftSound;
+import org.bukkit.craftbukkit.attribute.CraftAttribute;
+import org.bukkit.craftbukkit.block.CraftBiome;
+import org.bukkit.craftbukkit.block.CraftBlockType;
@@ -106,6 +110,7 @@ index 0000000000000000000000000000000000000000..9657c35ffbcc12061b394b97c97224e6
+ entry(Registries.MENU, RegistryKey.MENU, MenuType.class, CraftMenuType::new),
+ entry(Registries.ATTRIBUTE, RegistryKey.ATTRIBUTE, Attribute.class, CraftAttribute::new),
+ entry(Registries.FLUID, RegistryKey.FLUID, Fluid.class, CraftFluid::new),
++ entry(Registries.SOUND_EVENT, RegistryKey.SOUND_EVENT, Sound.class, CraftSound::new),
+
+ // data-drivens
+ entry(Registries.BIOME, RegistryKey.BIOME, Biome.class, CraftBiome::new).delayed(),
@@ -117,13 +122,12 @@ index 0000000000000000000000000000000000000000..9657c35ffbcc12061b394b97c97224e6
+ entry(Registries.ENCHANTMENT, RegistryKey.ENCHANTMENT, Enchantment.class, CraftEnchantment::new).withSerializationUpdater(FieldRename.ENCHANTMENT_RENAME).delayed(),
+ entry(Registries.JUKEBOX_SONG, RegistryKey.JUKEBOX_SONG, JukeboxSong.class, CraftJukeboxSong::new).delayed(),
+ entry(Registries.BANNER_PATTERN, RegistryKey.BANNER_PATTERN, PatternType.class, CraftPatternType::new).delayed(),
++ entry(Registries.PAINTING_VARIANT, RegistryKey.PAINTING_VARIANT, Art.class, CraftArt::new).delayed(),
+
+ // api-only
-+ apiOnly(Registries.PAINTING_VARIANT, RegistryKey.PAINTING_VARIANT, () -> org.bukkit.Registry.ART),
+ apiOnly(Registries.ENTITY_TYPE, RegistryKey.ENTITY_TYPE, () -> org.bukkit.Registry.ENTITY_TYPE),
+ apiOnly(Registries.PARTICLE_TYPE, RegistryKey.PARTICLE_TYPE, () -> org.bukkit.Registry.PARTICLE_TYPE),
+ apiOnly(Registries.POTION, RegistryKey.POTION, () -> org.bukkit.Registry.POTION),
-+ apiOnly(Registries.SOUND_EVENT, RegistryKey.SOUND_EVENT, () -> org.bukkit.Registry.SOUNDS),
+ apiOnly(Registries.MEMORY_MODULE_TYPE, RegistryKey.MEMORY_MODULE_TYPE, () -> (org.bukkit.Registry<MemoryKey<?>>) (org.bukkit.Registry) org.bukkit.Registry.MEMORY_MODULE_TYPE)
+ );
+ final Map<RegistryKey<?>, RegistryEntry<?, ?>> byRegistryKey = new IdentityHashMap<>(REGISTRY_ENTRIES.size());
@@ -749,10 +753,10 @@ index 8e8d6214adbd21a221147f0fc0d91cd9c06a080c..6fddef967b6314ca0158f5bd4b889867
String string = Registries.elementsDirPath(type.registryKey());
SimpleJsonResourceReloadListener.scanDirectory(resourceManager, string, ops, type.codec(), map);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-index d7e3371ebc08b5534c259ea45d89a969dfbe491a..16985dc1f54d64c44f96b045012612f16ba9ae8a 100644
+index 0d091c7b328fb70a82f5b5ded7dec61b7cd3d59a..249f0dcad04a35244da6dab837a461bb42aad00a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -125,90 +125,12 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -127,96 +127,12 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+ ", this can happen if a plugin creates its own registry entry with out properly registering it.");
}
@@ -764,6 +768,9 @@ index d7e3371ebc08b5534c259ea45d89a969dfbe491a..16985dc1f54d64c44f96b045012612f1
- * @return the bukkit registry of the provided class
- */
- public static <B extends Keyed> Registry<?> createRegistry(Class<? super B> bukkitClass, RegistryAccess registryHolder) {
+- if (bukkitClass == Art.class) {
+- return new CraftRegistry<>(Art.class, registryHolder.lookupOrThrow(Registries.PAINTING_VARIANT), CraftArt::new, FieldRename.NONE);
+- }
- if (bukkitClass == Attribute.class) {
- return new CraftRegistry<>(Attribute.class, registryHolder.lookupOrThrow(Registries.ATTRIBUTE), CraftAttribute::new, FieldRename.ATTRIBUTE_RENAME);
- }
@@ -788,6 +795,9 @@ index d7e3371ebc08b5534c259ea45d89a969dfbe491a..16985dc1f54d64c44f96b045012612f1
- if (bukkitClass == PotionEffectType.class) {
- return new CraftRegistry<>(PotionEffectType.class, registryHolder.lookupOrThrow(Registries.MOB_EFFECT), CraftPotionEffectType::new, FieldRename.NONE);
- }
+- if (bukkitClass == Sound.class) {
+- return new CraftRegistry<>(Sound.class, registryHolder.lookupOrThrow(Registries.SOUND_EVENT), CraftSound::new, FieldRename.NONE);
+- }
- if (bukkitClass == Structure.class) {
- return new CraftRegistry<>(Structure.class, registryHolder.lookupOrThrow(Registries.STRUCTURE), CraftStructure::new, FieldRename.NONE);
- }
@@ -846,7 +856,7 @@ index d7e3371ebc08b5534c259ea45d89a969dfbe491a..16985dc1f54d64c44f96b045012612f1
}
if (bukkit instanceof Registry.SimpleRegistry<?> simple) {
-@@ -226,23 +148,21 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -234,23 +150,21 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
return bukkit.get(namespacedKey);
}
@@ -930,10 +940,10 @@ index 091e11934bddb180f0b2e51efb3921c62275d41d..12fe2f8d0dcb715545e071023490a321
// PatternType
private static final FieldRenameData PATTERN_TYPE_DATA = FieldRenameData.Builder.newBuilder()
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-index 9a6857f325d72c1b5ce403c3240e0b1a3f43bc38..e4b79d92a8c41eb37d989248425b1e5a963b476c 100644
+index 61d617d4abb9c9cf5c711459aa98c8b173597a9a..c9b789c2a904c2caff516ee9aeff4a6b368766f4 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-@@ -218,20 +218,10 @@ public class Commodore {
+@@ -220,20 +220,10 @@ public class Commodore {
public byte[] convert(byte[] b, final String pluginName, final ApiVersion pluginVersion, final Set<String> activeCompatibilities) {
final boolean modern = pluginVersion.isNewerThanOrSameAs(ApiVersion.FLATTENING);
@@ -954,7 +964,7 @@ index 9a6857f325d72c1b5ce403c3240e0b1a3f43bc38..e4b79d92a8c41eb37d989248425b1e5a
visitor = io.papermc.paper.pluginremap.reflect.ReflectionRemapper.visitor(visitor); // Paper
cr.accept(new ClassRemapper(new ClassVisitor(Opcodes.ASM9, visitor) {
-@@ -298,15 +288,6 @@ public class Commodore {
+@@ -300,15 +290,6 @@ public class Commodore {
@Override
public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
@@ -1259,7 +1269,7 @@ index bbd5dd5b27937ddc3d8c57f2b604331495b0f311..626c3033e36897846fe84a77d05e2e91
CraftRegistry.setMinecraftRegistry(RegistryHelper.getRegistry());
}
diff --git a/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java b/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java
-index c0e02198200c93e3d0ff2461d267e856db087532..bbabfad54c58f74cb5d70cbce4d140ad69a56abb 100644
+index bfec6280e8b753a29ad2d9eb88808beb79ec65ea..b717a5ffa567781b0687bbe238b62844214db284 100644
--- a/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java
+++ b/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java
@@ -1,6 +1,7 @@
@@ -1270,11 +1280,12 @@ index c0e02198200c93e3d0ff2461d267e856db087532..bbabfad54c58f74cb5d70cbce4d140ad
import java.util.List;
import java.util.stream.Stream;
import net.minecraft.core.registries.Registries;
-@@ -67,39 +68,38 @@ public class RegistriesArgumentProvider implements ArgumentsProvider {
+@@ -73,41 +74,40 @@ public class RegistriesArgumentProvider implements ArgumentsProvider {
private static final List<Arguments> DATA = Lists.newArrayList();
static {
- // Order: Bukkit class, Minecraft Registry key, CraftBukkit class, Minecraft class
+- register(Art.class, Registries.PAINTING_VARIANT, CraftArt.class, PaintingVariant.class);
- register(Attribute.class, Registries.ATTRIBUTE, CraftAttribute.class, net.minecraft.world.entity.ai.attributes.Attribute.class);
- register(Biome.class, Registries.BIOME, CraftBiome.class, net.minecraft.world.level.biome.Biome.class);
- register(Enchantment.class, Registries.ENCHANTMENT, CraftEnchantment.class, net.minecraft.world.item.enchantment.Enchantment.class);
@@ -1283,6 +1294,7 @@ index c0e02198200c93e3d0ff2461d267e856db087532..bbabfad54c58f74cb5d70cbce4d140ad
- register(MusicInstrument.class, Registries.INSTRUMENT, CraftMusicInstrument.class, Instrument.class);
- register(MenuType.class, Registries.MENU, CraftMenuType.class, net.minecraft.world.inventory.MenuType.class);
- register(PotionEffectType.class, Registries.MOB_EFFECT, CraftPotionEffectType.class, MobEffect.class);
+- register(Sound.class, Registries.SOUND_EVENT, CraftSound.class, SoundEvent.class);
- register(Structure.class, Registries.STRUCTURE, CraftStructure.class, net.minecraft.world.level.levelgen.structure.Structure.class);
- register(StructureType.class, Registries.STRUCTURE_TYPE, CraftStructureType.class, net.minecraft.world.level.levelgen.structure.StructureType.class);
- register(Villager.Type.class, Registries.VILLAGER_TYPE, CraftVillager.CraftType.class, VillagerType.class);
@@ -1300,6 +1312,7 @@ index c0e02198200c93e3d0ff2461d267e856db087532..bbabfad54c58f74cb5d70cbce4d140ad
- register(PatternType.class, Registries.BANNER_PATTERN, CraftPatternType.class, BannerPattern.class);
-
+ // Order: RegistryKey, Bukkit class, Minecraft Registry key, CraftBukkit class, Minecraft class
++ register(RegistryKey.PAINTING_VARIANT, Art.class, Registries.PAINTING_VARIANT, CraftArt.class, PaintingVariant.class);
+ register(RegistryKey.ATTRIBUTE, Attribute.class, Registries.ATTRIBUTE, CraftAttribute.class, net.minecraft.world.entity.ai.attributes.Attribute.class);
+ register(RegistryKey.BIOME, Biome.class, Registries.BIOME, CraftBiome.class, net.minecraft.world.level.biome.Biome.class);
+ register(RegistryKey.ENCHANTMENT, Enchantment.class, Registries.ENCHANTMENT, CraftEnchantment.class, net.minecraft.world.item.enchantment.Enchantment.class);
@@ -1307,6 +1320,7 @@ index c0e02198200c93e3d0ff2461d267e856db087532..bbabfad54c58f74cb5d70cbce4d140ad
+ register(RegistryKey.GAME_EVENT, GameEvent.class, Registries.GAME_EVENT, CraftGameEvent.class, net.minecraft.world.level.gameevent.GameEvent.class);
+ register(RegistryKey.INSTRUMENT, MusicInstrument.class, Registries.INSTRUMENT, CraftMusicInstrument.class, Instrument.class);
+ register(RegistryKey.MOB_EFFECT, PotionEffectType.class, Registries.MOB_EFFECT, CraftPotionEffectType.class, MobEffect.class);
++ register(RegistryKey.SOUND_EVENT, Sound.class, Registries.SOUND_EVENT, CraftSound.class, SoundEvent.class);
+ register(RegistryKey.STRUCTURE, Structure.class, Registries.STRUCTURE, CraftStructure.class, net.minecraft.world.level.levelgen.structure.Structure.class);
+ register(RegistryKey.STRUCTURE_TYPE, StructureType.class, Registries.STRUCTURE_TYPE, CraftStructureType.class, net.minecraft.world.level.levelgen.structure.StructureType.class);
+ register(RegistryKey.VILLAGER_TYPE, Villager.Type.class, Registries.VILLAGER_TYPE, CraftVillager.CraftType.class, VillagerType.class);
diff --git a/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch
index f939c99a24..ebae0a4ce9 100644
--- a/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch
+++ b/patches/server/0469-Collision-option-for-requiring-a-player-participant.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Collision option for requiring a player participant
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 7c07ffaabce7a3964114b0859ad0028d52c662cc..0d10abc918e31bf8a529706b3350c80dec11b313 100644
+index 282863951033f7e036b0e58393651e1a22fada23..fa070c7243a4d800edc7bde2905773022788fa14 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2024,6 +2024,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2025,6 +2025,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public void push(Entity entity) {
if (!this.isPassengerOfSameVehicle(entity)) {
if (!entity.noPhysics && !this.noPhysics) {
@@ -29,7 +29,7 @@ index a9661ab34bc98c19d525eb4b60b1f0d05d73241e..3590f4bc1af829cdb6e0cfdc8fa68571
if (entity.getBoundingBox().minY < this.getBoundingBox().maxY) {
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
-index 50c0055d80735313c280821991bd2a76e427f082..ee7350e19a86ffa115e4bce6b186a2422951e89b 100644
+index fb9f0a62201dfeccd0eec9bb399f9edc6a01f1f0..9a864b4bacc5e180f36a6af2a0d63dc6d10ab0e5 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -562,6 +562,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
diff --git a/patches/server/0477-Expand-EntityUnleashEvent.patch b/patches/server/0477-Expand-EntityUnleashEvent.patch
index 214eb8dd8c..efca64ffff 100644
--- a/patches/server/0477-Expand-EntityUnleashEvent.patch
+++ b/patches/server/0477-Expand-EntityUnleashEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expand EntityUnleashEvent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 0d10abc918e31bf8a529706b3350c80dec11b313..3479b7c89741ba93e49e7e51fe4b45bb14fbc419 100644
+index fa070c7243a4d800edc7bde2905773022788fa14..963c190e4c445131659cc9e2e72b0272324666e2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2689,12 +2689,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2690,12 +2690,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (leashable.getLeashHolder() == player) {
if (!this.level().isClientSide()) {
// CraftBukkit start - fire PlayerUnleashEntityEvent
@@ -26,7 +26,7 @@ index 0d10abc918e31bf8a529706b3350c80dec11b313..3479b7c89741ba93e49e7e51fe4b45bb
this.gameEvent(GameEvent.ENTITY_INTERACT, player);
}
-@@ -3659,9 +3662,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3660,9 +3663,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
protected void removeAfterChangingDimensions() {
this.setRemoved(Entity.RemovalReason.CHANGED_DIMENSION, null); // CraftBukkit - add Bukkit remove cause
@@ -140,7 +140,7 @@ index 4b44830ef5d08887274ebb39e2780606fe3a76b4..d3a7953a3f42a0020342845e9107c699
flag1 = true;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index a25e814978a2f19fa6fe74aaa5c529a524240d71..5064dd8c97f45f0c4e2d1402500e7cf67a263dfa 100644
+index 6d1d3451054af05e2381d70d71b99869f37c0901..697c69b60aa45b6a229f3bec77dc728e50a895ce 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1596,8 +1596,10 @@ public class CraftEventFactory {
diff --git a/patches/server/0480-Add-EntityMoveEvent.patch b/patches/server/0480-Add-EntityMoveEvent.patch
index 0b0cf39bac..33f2f9fd9d 100644
--- a/patches/server/0480-Add-EntityMoveEvent.patch
+++ b/patches/server/0480-Add-EntityMoveEvent.patch
@@ -29,10 +29,10 @@ index 0e984f3521b578779dd9d0142bce7db433b78f07..1c3f41d7ed7320342fe68c5ab6eb57db
public LevelChunk getChunkIfLoaded(int x, int z) {
return this.chunkSource.getChunk(x, z, false);
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index d361e39ba50958e7bdaea0b95c37d13f48a89771..ce9369e730ba8862cd1e6e26f8825c35b16fcfb9 100644
+index 499e4fbb919ae3875aaa371d6ee206b8b144387b..a0b90b18e8f8970e722ebd0e78113f55ff54a55b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3626,6 +3626,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3627,6 +3627,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.pushEntities();
gameprofilerfiller.pop();
diff --git a/patches/server/0503-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0503-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
index fddb117aea..62877c839b 100644
--- a/patches/server/0503-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
+++ b/patches/server/0503-Fix-PlayerItemConsumeEvent-cancelling-properly.patch
@@ -9,10 +9,10 @@ till their item is switched.
This patch clears the active item when the event is cancelled
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index ce9369e730ba8862cd1e6e26f8825c35b16fcfb9..502a5455533113ef580cd23399dc1dcad530b0ae 100644
+index a0b90b18e8f8970e722ebd0e78113f55ff54a55b..6eda6f62e54eefddad51033e7d69c76ffc110a6d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4141,6 +4141,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4142,6 +4142,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
entityPlayer.getBukkitEntity().updateInventory();
entityPlayer.getBukkitEntity().updateScaledHealth();
diff --git a/patches/server/0548-Line-Of-Sight-Changes.patch b/patches/server/0548-Line-Of-Sight-Changes.patch
index 9675120b2a..1efc0eee46 100644
--- a/patches/server/0548-Line-Of-Sight-Changes.patch
+++ b/patches/server/0548-Line-Of-Sight-Changes.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Line Of Sight Changes
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 502a5455533113ef580cd23399dc1dcad530b0ae..83557da78340e3327f8c9a3050662413ecc3fc17 100644
+index 6eda6f62e54eefddad51033e7d69c76ffc110a6d..5415cade10ab36709f722cabc20ea3f1b9c285d9 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3905,7 +3905,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3906,7 +3906,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
Vec3 vec3d = new Vec3(this.getX(), this.getEyeY(), this.getZ());
Vec3 vec3d1 = new Vec3(entity.getX(), entityY.getAsDouble(), entity.getZ());
diff --git a/patches/server/0571-Optimize-indirect-passenger-iteration.patch b/patches/server/0571-Optimize-indirect-passenger-iteration.patch
index dcb94ae602..2db947b001 100644
--- a/patches/server/0571-Optimize-indirect-passenger-iteration.patch
+++ b/patches/server/0571-Optimize-indirect-passenger-iteration.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Optimize indirect passenger iteration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 3479b7c89741ba93e49e7e51fe4b45bb14fbc419..fe9cdd104d6203233a90068b55e0876be4964afe 100644
+index 963c190e4c445131659cc9e2e72b0272324666e2..5ddab7fde91ab1089c9ea35f441a21dfd5df2ef8 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -4087,20 +4087,34 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4088,20 +4088,34 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
private Stream<Entity> getIndirectPassengersStream() {
@@ -43,7 +43,7 @@ index 3479b7c89741ba93e49e7e51fe4b45bb14fbc419..fe9cdd104d6203233a90068b55e0876b
return () -> {
return this.getIndirectPassengersStream().iterator();
};
-@@ -4113,6 +4127,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4114,6 +4128,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public boolean hasExactlyOnePlayerPassenger() {
diff --git a/patches/server/0578-Add-back-EntityPortalExitEvent.patch b/patches/server/0578-Add-back-EntityPortalExitEvent.patch
index 5e3f9b5ffd..9eb82702cb 100644
--- a/patches/server/0578-Add-back-EntityPortalExitEvent.patch
+++ b/patches/server/0578-Add-back-EntityPortalExitEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add back EntityPortalExitEvent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index fe9cdd104d6203233a90068b55e0876be4964afe..88d3b1997bba632c5746d295bb39095f5d328369 100644
+index 5ddab7fde91ab1089c9ea35f441a21dfd5df2ef8..3d9bf236eb1535cc2547f1421ee2a09b2c44fc52 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3491,6 +3491,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3492,6 +3492,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (!this.isRemoved()) {
// CraftBukkit start
PositionMoveRotation absolutePosition = PositionMoveRotation.calculateAbsolute(PositionMoveRotation.of(this), PositionMoveRotation.of(teleportTarget), teleportTarget.relatives());
@@ -16,7 +16,7 @@ index fe9cdd104d6203233a90068b55e0876be4964afe..88d3b1997bba632c5746d295bb39095f
Location to = CraftLocation.toBukkit(absolutePosition.position(), teleportTarget.newLevel().getWorld(), absolutePosition.yRot(), absolutePosition.xRot());
// Paper start - gateway-specific teleport event
final EntityTeleportEvent teleEvent;
-@@ -3507,7 +3508,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3508,7 +3509,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (!to.equals(teleEvent.getTo())) {
to = teleEvent.getTo();
teleportTarget = new TeleportTransition(((CraftWorld) to.getWorld()).getHandle(), CraftLocation.toVec3D(to), Vec3.ZERO, to.getYaw(), to.getPitch(), teleportTarget.missingRespawnBlock(), teleportTarget.asPassenger(), Set.of(), teleportTarget.postTeleportTransition(), teleportTarget.cause());
diff --git a/patches/server/0582-Add-more-advancement-API.patch b/patches/server/0582-Add-more-advancement-API.patch
index ac526b9045..1875c743c1 100644
--- a/patches/server/0582-Add-more-advancement-API.patch
+++ b/patches/server/0582-Add-more-advancement-API.patch
@@ -164,10 +164,10 @@ index 8ca86852319d7463f60832bc98b825b0b4325995..62ada73302c6b3ce3fb2dcc8c31a1d9c
private final DisplayInfo handle;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-index e4b79d92a8c41eb37d989248425b1e5a963b476c..1f25fa2b2ce8fae5bce29232cbb51966b86dae85 100644
+index c9b789c2a904c2caff516ee9aeff4a6b368766f4..52a507ff2770bd46494e805956b4569f0d4d21ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-@@ -456,6 +456,11 @@ public class Commodore {
+@@ -458,6 +458,11 @@ public class Commodore {
super.visitMethodInsn(opcode, owner, name, "()Lcom/destroystokyo/paper/profile/PlayerProfile;", itf);
return;
}
diff --git a/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch
index 52f7274600..ec4a572edf 100644
--- a/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch
+++ b/patches/server/0583-Add-ItemFactory-getSpawnEgg-API.patch
@@ -37,10 +37,10 @@ index cab7a3d21699605cb7fc480830d7529f70e69e88..ad86ee4372e55c82968fd4fc6a65deba
+ // Paper end - old getSpawnEgg API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-index 1f25fa2b2ce8fae5bce29232cbb51966b86dae85..f10e7a847e9f57d2a987b118215c0ceab251a5b0 100644
+index 52a507ff2770bd46494e805956b4569f0d4d21ee..5a7aa491e0846ca8133bc4bb6e74b93cff85fb17 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-@@ -463,6 +463,15 @@ public class Commodore {
+@@ -465,6 +465,15 @@ public class Commodore {
}
// Paper end
diff --git a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch
index 404023dde8..bad6f65ffd 100644
--- a/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch
+++ b/patches/server/0589-Add-Raw-Byte-Entity-Serialization.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization
public net.minecraft.world.entity.Entity setLevel(Lnet/minecraft/world/level/Level;)V
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 88d3b1997bba632c5746d295bb39095f5d328369..900765b0129e8bf485aca93af6f523c9948e288b 100644
+index 3d9bf236eb1535cc2547f1421ee2a09b2c44fc52..9755d8a40a5a5b4863ce057f576f393773cee3e4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2260,6 +2260,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2261,6 +2261,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}
diff --git a/patches/server/0590-Vanilla-command-permission-fixes.patch b/patches/server/0590-Vanilla-command-permission-fixes.patch
index 4c4787c7fc..f69e58a368 100644
--- a/patches/server/0590-Vanilla-command-permission-fixes.patch
+++ b/patches/server/0590-Vanilla-command-permission-fixes.patch
@@ -51,10 +51,10 @@ index 7acd7f60327106d55e8f48247650bc0064dd1b58..bee79fab7f8195e14f6bd22d9cd59bfc
}
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-index 87c93ee9bbbfff785b7b6a1f0c4b932e36362943..4e81c26fdbd089961b2577168c716bf29d504d40 100644
+index 71bc74071e7bbce1d6aa5b0f0fb244c93dae168e..732655bf8dd279167f799e01b1516b4dd5fa7464 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-@@ -86,7 +86,21 @@ public final class VanillaCommandWrapper extends BukkitCommand {
+@@ -91,7 +91,21 @@ public final class VanillaCommandWrapper extends BukkitCommand {
}
public static String getPermission(CommandNode<CommandSourceStack> vanillaCommand) {
diff --git a/patches/server/0615-Update-head-rotation-in-missing-places.patch b/patches/server/0615-Update-head-rotation-in-missing-places.patch
index 51b3e36d06..201c4c942d 100644
--- a/patches/server/0615-Update-head-rotation-in-missing-places.patch
+++ b/patches/server/0615-Update-head-rotation-in-missing-places.patch
@@ -8,10 +8,10 @@ This is because bukkit uses a separate head rotation field for yaw.
This issue only applies to players.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 900765b0129e8bf485aca93af6f523c9948e288b..3903bbc53d541e66d9362eea27029ed320a74772 100644
+index 9755d8a40a5a5b4863ce057f576f393773cee3e4..2ab2cfddae9f1bb3a1ca3c3bfd0916a14409b205 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1914,6 +1914,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1915,6 +1915,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.setXRot(Mth.clamp(pitch, -90.0F, 90.0F) % 360.0F);
this.yRotO = this.getYRot();
this.xRotO = this.getXRot();
@@ -19,7 +19,7 @@ index 900765b0129e8bf485aca93af6f523c9948e288b..3903bbc53d541e66d9362eea27029ed3
}
public void absMoveTo(double x, double y, double z) {
-@@ -1956,6 +1957,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1957,6 +1958,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.setXRot(pitch);
this.setOldPosAndRot();
this.reapplyPosition();
diff --git a/patches/server/0621-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0621-don-t-attempt-to-teleport-dead-entities.patch
index 92fa7ea854..08f5268772 100644
--- a/patches/server/0621-don-t-attempt-to-teleport-dead-entities.patch
+++ b/patches/server/0621-don-t-attempt-to-teleport-dead-entities.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] don't attempt to teleport dead entities
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 3903bbc53d541e66d9362eea27029ed320a74772..d6bbefe3d3b21c6fc9be3cfe3ba304226bab6883 100644
+index 2ab2cfddae9f1bb3a1ca3c3bfd0916a14409b205..d05fd90a000c723e9c3bef0fde1b59aea2367f7f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -713,7 +713,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -714,7 +714,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// CraftBukkit start
public void postTick() {
// No clean way to break out of ticking once the entity has been copied to a new world, so instead we move the portalling later in the tick cycle
diff --git a/patches/server/0622-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0622-Prevent-excessive-velocity-through-repeated-crits.patch
index d138c932cb..51b492f145 100644
--- a/patches/server/0622-Prevent-excessive-velocity-through-repeated-crits.patch
+++ b/patches/server/0622-Prevent-excessive-velocity-through-repeated-crits.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent excessive velocity through repeated crits
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 4f13d792a2cc504f174766d4c0d924d9ca51df9c..2ae65d0303a01536bae6ef8f900b23b94d72dc22 100644
+index 924db96764ef1d0b9596be01f344065f8e1a721e..f06fe310e8dd950fa68ed3b7a7ba5e43a23b9316 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2863,17 +2863,29 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2864,17 +2864,29 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.hasEffect(MobEffects.JUMP) ? 0.1F * ((float) this.getEffect(MobEffects.JUMP).getAmplifier() + 1.0F) : 0.0F;
}
diff --git a/patches/server/0631-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0631-Forward-CraftEntity-in-teleport-command.patch
index 9d0cbe0595..d7c7c656a0 100644
--- a/patches/server/0631-Forward-CraftEntity-in-teleport-command.patch
+++ b/patches/server/0631-Forward-CraftEntity-in-teleport-command.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Forward CraftEntity in teleport command
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index d6bbefe3d3b21c6fc9be3cfe3ba304226bab6883..06d7aed2539a0f38fabe5b10c91d8da10c43605f 100644
+index d05fd90a000c723e9c3bef0fde1b59aea2367f7f..0eda06b3919e0cc4ddaec4b644c17011a01ccdeb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3480,6 +3480,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3481,6 +3481,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void restoreFrom(Entity original) {
@@ -22,7 +22,7 @@ index d6bbefe3d3b21c6fc9be3cfe3ba304226bab6883..06d7aed2539a0f38fabe5b10c91d8da1
CompoundTag nbttagcompound = original.saveWithoutId(new CompoundTag());
nbttagcompound.remove("Dimension");
-@@ -3617,8 +3624,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3618,8 +3625,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
entity.restoreFrom(this);
this.removeAfterChangingDimensions();
// CraftBukkit start - Forward the CraftEntity to the new entity
diff --git a/patches/server/0650-Freeze-Tick-Lock-API.patch b/patches/server/0650-Freeze-Tick-Lock-API.patch
index db82c2c3bc..937e4ae987 100644
--- a/patches/server/0650-Freeze-Tick-Lock-API.patch
+++ b/patches/server/0650-Freeze-Tick-Lock-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Freeze Tick Lock API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 06d7aed2539a0f38fabe5b10c91d8da10c43605f..4b0b768a4563281ec4ef1a16a3a21c24a1272849 100644
+index 0eda06b3919e0cc4ddaec4b644c17011a01ccdeb..a390e1791b4fb3eae5555fc9b760588e410be900 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -414,6 +414,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -415,6 +415,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
private org.bukkit.util.Vector origin;
@javax.annotation.Nullable
private UUID originWorld;
@@ -16,7 +16,7 @@ index 06d7aed2539a0f38fabe5b10c91d8da10c43605f..4b0b768a4563281ec4ef1a16a3a21c24
public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector();
-@@ -759,7 +760,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -760,7 +761,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.setRemainingFireTicks(this.remainingFireTicks - 1);
}
@@ -25,7 +25,7 @@ index 06d7aed2539a0f38fabe5b10c91d8da10c43605f..4b0b768a4563281ec4ef1a16a3a21c24
this.setTicksFrozen(0);
this.level().levelEvent((Player) null, 1009, this.blockPosition, 1);
}
-@@ -2428,6 +2429,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2429,6 +2430,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (fromNetherPortal) {
nbttagcompound.putBoolean("Paper.FromNetherPortal", true);
}
@@ -35,7 +35,7 @@ index 06d7aed2539a0f38fabe5b10c91d8da10c43605f..4b0b768a4563281ec4ef1a16a3a21c24
// Paper end
return nbttagcompound;
} catch (Throwable throwable) {
-@@ -2573,6 +2577,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2574,6 +2578,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (spawnReason == null) {
spawnReason = org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT;
}
@@ -46,10 +46,10 @@ index 06d7aed2539a0f38fabe5b10c91d8da10c43605f..4b0b768a4563281ec4ef1a16a3a21c24
} catch (Throwable throwable) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 2ae65d0303a01536bae6ef8f900b23b94d72dc22..f0a3a1342610966f954d8f25fd38281b2af80f06 100644
+index f06fe310e8dd950fa68ed3b7a7ba5e43a23b9316..36277d10822a4fd19b6159a90a455c237b5b177f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3609,7 +3609,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3610,7 +3610,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.calculateEntityAnimation(this instanceof FlyingAnimal);
gameprofilerfiller.pop();
gameprofilerfiller.push("freezing");
diff --git a/patches/server/0653-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0653-API-for-creating-command-sender-which-forwards-feedb.patch
index 76a09348af..981105e5be 100644
--- a/patches/server/0653-API-for-creating-command-sender-which-forwards-feedb.patch
+++ b/patches/server/0653-API-for-creating-command-sender-which-forwards-feedb.patch
@@ -122,7 +122,7 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6d32505266fef119289bcf6761c1948368238eb9..9de7978c7383f8364feba82e9cd3efbfcce00e3c 100644
+index 23b2233f7435f03902e640152cc6fe1501fb3820..c89aee30e4a4f4eec48e23b04e0558e17d95587c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2165,6 +2165,13 @@ public final class CraftServer implements Server {
@@ -153,10 +153,10 @@ index 7f22950ae61436e91a59cd29a345809c42bbe739..1e3091687735b461d3b6a313ab876112
protected ServerCommandSender() {
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-index 4e81c26fdbd089961b2577168c716bf29d504d40..a35e2d2f53e8308d51e5a07b34c56d05a707bc14 100644
+index 732655bf8dd279167f799e01b1516b4dd5fa7464..4d4a1ac9d75908bbd105a1e5756d2c0932b2d238 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-@@ -81,6 +81,11 @@ public final class VanillaCommandWrapper extends BukkitCommand {
+@@ -86,6 +86,11 @@ public final class VanillaCommandWrapper extends BukkitCommand {
if (sender instanceof ProxiedCommandSender) {
return ((ProxiedNativeCommandSender) sender).getHandle();
}
diff --git a/patches/server/0680-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0680-Ensure-entity-passenger-world-matches-ridden-entity.patch
index e85a7e4019..60380e62f3 100644
--- a/patches/server/0680-Ensure-entity-passenger-world-matches-ridden-entity.patch
+++ b/patches/server/0680-Ensure-entity-passenger-world-matches-ridden-entity.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Ensure entity passenger world matches ridden entity
Bad plugins doing this would cause some obvious problems...
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 4b0b768a4563281ec4ef1a16a3a21c24a1272849..dcd6cb204d5d19da17664e446da7f3edef104b80 100644
+index a390e1791b4fb3eae5555fc9b760588e410be900..612abe47627f0e7c69aa8bfaeee1de4fda528a57 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2802,7 +2802,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2803,7 +2803,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public boolean startRiding(Entity entity, boolean force) {
diff --git a/patches/server/0693-Add-PlayerStopUsingItemEvent.patch b/patches/server/0693-Add-PlayerStopUsingItemEvent.patch
index cbf893f693..b6d477aded 100644
--- a/patches/server/0693-Add-PlayerStopUsingItemEvent.patch
+++ b/patches/server/0693-Add-PlayerStopUsingItemEvent.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerStopUsingItemEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index f0a3a1342610966f954d8f25fd38281b2af80f06..94cc2bc2f5e6ed32173f675c3b27ab602dbcd7f8 100644
+index 36277d10822a4fd19b6159a90a455c237b5b177f..aef73b8ebc6b7784dea32a70e972fa9adb7d303e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4202,6 +4202,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4203,6 +4203,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public void releaseUsingItem() {
if (!this.useItem.isEmpty()) {
diff --git a/patches/server/0701-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0701-Prevent-entity-loading-causing-async-lookups.patch
index 9330384446..077b25253a 100644
--- a/patches/server/0701-Prevent-entity-loading-causing-async-lookups.patch
+++ b/patches/server/0701-Prevent-entity-loading-causing-async-lookups.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Prevent entity loading causing async lookups
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index dcd6cb204d5d19da17664e446da7f3edef104b80..736b8bb59631a4e6f8639d84715a7d8cf9dbb775 100644
+index 612abe47627f0e7c69aa8bfaeee1de4fda528a57..828535741f9e39693fe9055ae1f5af2258668ae3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -724,6 +724,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -725,6 +725,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
ProfilerFiller gameprofilerfiller = Profiler.get();
gameprofilerfiller.push("entityBaseTick");
diff --git a/patches/server/0713-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0713-Add-various-missing-EntityDropItemEvent-calls.patch
index 9b07c23cf8..965a338282 100644
--- a/patches/server/0713-Add-various-missing-EntityDropItemEvent-calls.patch
+++ b/patches/server/0713-Add-various-missing-EntityDropItemEvent-calls.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Add various missing EntityDropItemEvent calls
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 736b8bb59631a4e6f8639d84715a7d8cf9dbb775..0de6c90c195439564810036c90f31e8296538666 100644
+index 828535741f9e39693fe9055ae1f5af2258668ae3..7d4817cf9d2783f7be5882748323391a8cae5673 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2672,6 +2672,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2673,6 +2673,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
stack.setCount(0); // Paper - destroy this item - if this ever leaks due to game bugs, ensure it doesn't dupe
entityitem.setDefaultPickUpDelay();
diff --git a/patches/server/0728-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0728-Stop-large-look-changes-from-crashing-the-server.patch
index 0b36d67e7b..cbf9f9f9f8 100644
--- a/patches/server/0728-Stop-large-look-changes-from-crashing-the-server.patch
+++ b/patches/server/0728-Stop-large-look-changes-from-crashing-the-server.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Stop large look changes from crashing the server
Co-authored-by: Jaren Knodel <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 94cc2bc2f5e6ed32173f675c3b27ab602dbcd7f8..079e6224c56128c0a0fc0643eeec49f2475937ea 100644
+index aef73b8ebc6b7784dea32a70e972fa9adb7d303e..5986af338ffadbfae32783178dfe0b145c875b73 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3270,37 +3270,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3271,37 +3271,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
gameprofilerfiller.pop();
gameprofilerfiller.push("rangeChecks");
diff --git a/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
index 62022124a8..3ce15af172 100644
--- a/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
+++ b/patches/server/0735-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch
@@ -7,10 +7,10 @@ Subject: [PATCH] Mitigate effects of WorldCreator#keepSpawnLoaded ret type
TODO: Remove in 1.21?
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-index f10e7a847e9f57d2a987b118215c0ceab251a5b0..015a2cf3e969e938158f27a04e172c837068437d 100644
+index 5a7aa491e0846ca8133bc4bb6e74b93cff85fb17..2a2e37a7c67cac657712fc20746a892097a3c4be 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-@@ -461,6 +461,12 @@ public class Commodore {
+@@ -463,6 +463,12 @@ public class Commodore {
super.visitMethodInsn(Opcodes.INVOKEVIRTUAL, runtimeCbPkgPrefix() + "advancement/CraftAdvancement", "getDisplay0", desc, false);
return;
}
diff --git a/patches/server/0754-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0754-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
index 1c5db8b76d..4ff7d42404 100644
--- a/patches/server/0754-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
+++ b/patches/server/0754-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix EntityCombustEvent cancellation cant fully prevent
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 0de6c90c195439564810036c90f31e8296538666..8b2b0cf8318f06f0fef59908ece650fb54b6a6b3 100644
+index 7d4817cf9d2783f7be5882748323391a8cae5673..9b5af1041410be058afde31d2630d8dcb3b25179 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3320,6 +3320,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3321,6 +3321,10 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
pluginManager.callEvent(entityCombustEvent);
if (!entityCombustEvent.isCancelled()) {
this.igniteForSeconds(entityCombustEvent.getDuration(), false);
diff --git a/patches/server/0760-check-global-player-list-where-appropriate.patch b/patches/server/0760-check-global-player-list-where-appropriate.patch
index 96d945ad74..a4e7a411b2 100644
--- a/patches/server/0760-check-global-player-list-where-appropriate.patch
+++ b/patches/server/0760-check-global-player-list-where-appropriate.patch
@@ -24,10 +24,10 @@ index 45e61a08152517a61260e662764d8bb0335537e3..b81d814619e4175f42aee397811b07ca
+ // Paper end - check global player list where appropriate
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 079e6224c56128c0a0fc0643eeec49f2475937ea..0e2b5e1dbdf671da0a4edfa77f7fb759732674cb 100644
+index 5986af338ffadbfae32783178dfe0b145c875b73..d121b28c8a79b6f5b690c53ae4fef7cd304afdaa 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3865,7 +3865,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3866,7 +3866,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
public void onItemPickup(ItemEntity item) {
diff --git a/patches/server/0763-Friction-API.patch b/patches/server/0763-Friction-API.patch
index 0262ffef84..b2946a72b1 100644
--- a/patches/server/0763-Friction-API.patch
+++ b/patches/server/0763-Friction-API.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Friction API
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 0e2b5e1dbdf671da0a4edfa77f7fb759732674cb..076c7828fdfa53c7453406beb937700e12b137d2 100644
+index d121b28c8a79b6f5b690c53ae4fef7cd304afdaa..29c3db84b55e82e25d60c99c87f3472b30fc9239 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -296,6 +296,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -110,12 +110,12 @@ index d555fd0b200c012f30ed0c0ec09a37b25a737b76..7a6d51020d9c6be33b4c34c0d6085595
this.discard(null); // CraftBukkit - add Bukkit remove cause
}
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
-index d8fcd6d1edec1f31a861fab4b86cbeb15ddc799d..d277f56fef882313d6d21f636fafae2f26630ad7 100644
+index 1fdf2179eb768575fa49c019fb6d81f466892f98..ce91809d66007def728a127a0a9d33f6235cc94d 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -93,6 +93,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
private double flyingZ = 0.95;
- public double maxSpeed = 0.4D;
+ public Double maxSpeed;
// CraftBukkit end
+ public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
@@ -152,10 +152,10 @@ index d8fcd6d1edec1f31a861fab4b86cbeb15ddc799d..d277f56fef882313d6d21f636fafae2f
@Override
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/NewMinecartBehavior.java b/src/main/java/net/minecraft/world/entity/vehicle/NewMinecartBehavior.java
-index 00b0004940339dc105fb95f813bd35b16f7a9fb4..a8718ee94cd6b9a20bd1e9a49d58d39e6f3f2a7a 100644
+index 60b8d8c1ccfe7f9d1a327d1a361493e97ca9ad4c..f43439b31a14b9db4744512465d81134ebe5b3e1 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/NewMinecartBehavior.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/NewMinecartBehavior.java
-@@ -548,6 +548,7 @@ public class NewMinecartBehavior extends MinecartBehavior {
+@@ -554,6 +554,7 @@ public class NewMinecartBehavior extends MinecartBehavior {
@Override
public double getSlowdownFactor() {
@@ -164,10 +164,10 @@ index 00b0004940339dc105fb95f813bd35b16f7a9fb4..a8718ee94cd6b9a20bd1e9a49d58d39e
}
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/OldMinecartBehavior.java b/src/main/java/net/minecraft/world/entity/vehicle/OldMinecartBehavior.java
-index cf871c174091139c8ad1affb84f98fcd74b60dee..23cbafcc12f6e5f5755215a72879a6cab306ad18 100644
+index 62ae79808aba4112ea845311080bb496174a68d2..04a622f52353ebcc21f41c233f5a0fd67690cf4a 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/OldMinecartBehavior.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/OldMinecartBehavior.java
-@@ -522,6 +522,7 @@ public class OldMinecartBehavior extends MinecartBehavior {
+@@ -528,6 +528,7 @@ public class OldMinecartBehavior extends MinecartBehavior {
@Override
public double getSlowdownFactor() {
@@ -221,10 +221,10 @@ index 1ceaa081231a617bd87331b308c24d9c7a8dcf2b..2fd4a3068d86a37cc18c9203448823c5
+ // Paper end - friction API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java
-index d35c1a10e58932b19c8053c5dacdc25fd7f22e8c..ab9d06a9a4951a5b8aa14d47818a3850433e92b8 100644
+index 8192ccb01ed4efe9e987cab94952c172ed876581..5791f9936532899b337b149a109781fba0819657 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMinecart.java
-@@ -137,4 +137,18 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
+@@ -138,4 +138,18 @@ public abstract class CraftMinecart extends CraftVehicle implements Minecart {
public int getDisplayBlockOffset() {
return this.getHandle().getDisplayOffset();
}
diff --git a/patches/server/0767-Player-Entity-Tracking-Events.patch b/patches/server/0767-Player-Entity-Tracking-Events.patch
index fc9f07d3da..ca45b05945 100644
--- a/patches/server/0767-Player-Entity-Tracking-Events.patch
+++ b/patches/server/0767-Player-Entity-Tracking-Events.patch
@@ -21,10 +21,10 @@ index 51a6735b35e73175680e61c2d67d4adbedf305c9..8b5d11aceb77135c917c3581f4db792e
} else if (this.seenBy.remove(player.connection)) {
this.serverEntity.removePairing(player);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 8b2b0cf8318f06f0fef59908ece650fb54b6a6b3..429cdb83252b417c810d529125fc7343dca7990d 100644
+index 9b5af1041410be058afde31d2630d8dcb3b25179..a361480801d113b9619f7cd93b0da2332ca089dd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -4071,7 +4071,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4072,7 +4072,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public void startSeenByPlayer(ServerPlayer player) {}
diff --git a/patches/server/0769-fix-Instruments.patch b/patches/server/0769-fix-Instruments.patch
index b04e954595..a3ba7ec083 100644
--- a/patches/server/0769-fix-Instruments.patch
+++ b/patches/server/0769-fix-Instruments.patch
@@ -55,3 +55,29 @@ index 0000000000000000000000000000000000000000..cd718ed01ba5d448cdf0a2b6a39dc7ef
+ assertEquals(nms.getSoundEvent(), CraftSound.bukkitToMinecraftHolder(bukkit.getSound()));
+ }
+}
+diff --git a/src/test/java/org/bukkit/InstrumentTest.java b/src/test/java/org/bukkit/InstrumentTest.java
+new file mode 100644
+index 0000000000000000000000000000000000000000..5da6b5c996c9a4077f309e923731e3f148e91c19
+--- /dev/null
++++ b/src/test/java/org/bukkit/InstrumentTest.java
+@@ -0,0 +1,20 @@
++package org.bukkit;
++
++import org.bukkit.support.environment.AllFeatures;
++import org.junit.jupiter.api.Test;
++
++import static org.bukkit.support.MatcherAssert.assertThat;
++import static org.hamcrest.CoreMatchers.is;
++
++@AllFeatures
++public class InstrumentTest { // Paper - moved to internals as this test now access the sound registry.
++
++ @Test
++ public void getByType() {
++ for (Instrument instrument : Instrument.values()) {
++ // Paper - byte magic values are still used
++
++ assertThat(Instrument.getByType(instrument.getType()), is(instrument));
++ }
++ }
++}
diff --git a/patches/server/0774-Improve-PortalEvents.patch b/patches/server/0774-Improve-PortalEvents.patch
index af78ad7bc0..1bced68acf 100644
--- a/patches/server/0774-Improve-PortalEvents.patch
+++ b/patches/server/0774-Improve-PortalEvents.patch
@@ -18,10 +18,10 @@ index 25b1e8bec23465f0e9a17f156bdff7fe716db84c..f05a9fd321a4af28e9771bbf39d73f80
// Paper start - gateway-specific teleport event
if (this.portalProcess != null && this.portalProcess.isSamePortal(((net.minecraft.world.level.block.EndGatewayBlock) net.minecraft.world.level.block.Blocks.END_GATEWAY)) && this.serverLevel().getBlockEntity(this.portalProcess.getEntryPosition()) instanceof net.minecraft.world.level.block.entity.TheEndGatewayBlockEntity theEndGatewayBlockEntity) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 429cdb83252b417c810d529125fc7343dca7990d..411ffaf842841709eaef48776e2c6ce4f524af05 100644
+index a361480801d113b9619f7cd93b0da2332ca089dd..4d9680748a00df783e9611a90c31e2665ce3d736 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3742,7 +3742,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3743,7 +3743,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
org.bukkit.entity.Entity bukkitEntity = entity.getBukkitEntity();
Location enter = bukkitEntity.getLocation();
diff --git a/patches/server/0779-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0779-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
index 3af6c787db..18b9184eff 100644
--- a/patches/server/0779-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
+++ b/patches/server/0779-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Expose pre-collision moving velocity to
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 411ffaf842841709eaef48776e2c6ce4f524af05..5340d6d911a7e586468f2b7e2e74b3386d1dc72d 100644
+index 4d9680748a00df783e9611a90c31e2665ce3d736..798fd11e76326ace74035cf782be9f4218fe5edc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -968,6 +968,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -969,6 +969,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void move(MoverType type, Vec3 movement) {
@@ -17,7 +17,7 @@ index 411ffaf842841709eaef48776e2c6ce4f524af05..5340d6d911a7e586468f2b7e2e74b338
if (this.noPhysics) {
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
} else {
-@@ -1059,7 +1060,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1060,7 +1061,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
if (!bl.getType().isAir()) {
diff --git a/patches/server/0792-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0792-Fix-advancement-triggers-for-entity-damage.patch
index 7a76ace176..1f72ba6104 100644
--- a/patches/server/0792-Fix-advancement-triggers-for-entity-damage.patch
+++ b/patches/server/0792-Fix-advancement-triggers-for-entity-damage.patch
@@ -23,10 +23,10 @@ index 821bb93e1b055ba38fafe3b7079d79aa062ebe8a..221d73676fe2fd240a47cf312c1179e0
return !this.getResponse();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 879ac6ec0b429ddb89ede2d51c8ccee9090fdc49..2a587683463fb0a0770ab54125868e82c0694ca6 100644
+index 0f20301c8194dcf9f3b42429437552ca0a613b13..c6fa51118232e5875779482ed1d694b7b9c7b861 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2463,7 +2463,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2464,7 +2464,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Duplicate triggers if blocking
if (event.getDamage(DamageModifier.BLOCKING) < 0) {
if (this instanceof ServerPlayer) {
@@ -35,7 +35,7 @@ index 879ac6ec0b429ddb89ede2d51c8ccee9090fdc49..2a587683463fb0a0770ab54125868e82
f2 = (float) -event.getDamage(DamageModifier.BLOCKING);
if (f2 > 0.0F && f2 < 3.4028235E37F) {
((ServerPlayer) this).awardStat(Stats.DAMAGE_BLOCKED_BY_SHIELD, Math.round(originalDamage * 10.0F));
-@@ -2471,7 +2471,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2472,7 +2472,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
if (damagesource.getEntity() instanceof ServerPlayer) {
diff --git a/patches/server/0809-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0809-Refresh-ProjectileSource-for-projectiles.patch
index 4e706befac..3c6865e72d 100644
--- a/patches/server/0809-Refresh-ProjectileSource-for-projectiles.patch
+++ b/patches/server/0809-Refresh-ProjectileSource-for-projectiles.patch
@@ -14,10 +14,10 @@ clearing the owner.
Co-authored-by: Warrior <[email protected]>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 5340d6d911a7e586468f2b7e2e74b3386d1dc72d..90b47da5c6df05565b522636e08c4ebb7165c351 100644
+index 798fd11e76326ace74035cf782be9f4218fe5edc..3d4d5d23623dccb8a5be85c2205dae11509a7119 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -393,6 +393,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -394,6 +394,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public boolean inWorld = false;
public boolean generation;
public int maxAirTicks = this.getDefaultMaxAirSupply(); // CraftBukkit - SPIGOT-6907: re-implement LivingEntity#setMaximumAir()
diff --git a/patches/server/0823-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0823-Don-t-load-chunks-for-supporting-block-checks.patch
index 4984d9ef4c..5d7e485869 100644
--- a/patches/server/0823-Don-t-load-chunks-for-supporting-block-checks.patch
+++ b/patches/server/0823-Don-t-load-chunks-for-supporting-block-checks.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't load chunks for supporting block checks
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 90b47da5c6df05565b522636e08c4ebb7165c351..a8bb9caaf0db01d8b7cfb18e5f162c6eeada5d6a 100644
+index 3d4d5d23623dccb8a5be85c2205dae11509a7119..c26c814e9a3a54fb7b46b0e5f51843621f179d3d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1228,7 +1228,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1229,7 +1229,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
protected BlockPos getOnPos(float offset) {
diff --git a/patches/server/0829-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0829-Fix-possible-NPE-on-painting-creation.patch
index d5fa31bd07..cc63dc03cf 100644
--- a/patches/server/0829-Fix-possible-NPE-on-painting-creation.patch
+++ b/patches/server/0829-Fix-possible-NPE-on-painting-creation.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix possible NPE on painting creation
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
-index 39ea25d2145acaa7c7b458800adc674a3e73e7c1..8715d8e790b6735610e2f880f8c1f88a89967f21 100644
+index 0b9c4f9b61651660e821735f18b4f3cc7cfd164c..e31aa2a499e894847f19800b6bceb17aba38a1c0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityTypes.java
@@ -361,8 +361,13 @@ public final class CraftEntityTypes {
@@ -24,7 +24,7 @@ index 39ea25d2145acaa7c7b458800adc674a3e73e7c1..8715d8e790b6735610e2f880f8c1f88a
net.minecraft.world.entity.decoration.Painting entity = new net.minecraft.world.entity.decoration.Painting(net.minecraft.world.entity.EntityType.PAINTING, spawnData.minecraftWorld());
entity.absMoveTo(spawnData.x(), spawnData.y(), spawnData.z(), spawnData.yaw(), spawnData.pitch());
entity.setDirection(hangingData.direction());
-@@ -523,6 +528,7 @@ public final class CraftEntityTypes {
+@@ -529,6 +534,7 @@ public final class CraftEntityTypes {
AABB bb = (ItemFrame.class.isAssignableFrom(clazz))
? net.minecraft.world.entity.decoration.ItemFrame.calculateBoundingBoxStatic(pos, CraftBlock.blockFaceToNotch(dir).getOpposite())
: net.minecraft.world.entity.decoration.Painting.calculateBoundingBoxStatic(pos, CraftBlock.blockFaceToNotch(dir).getOpposite(), width, height);
diff --git a/patches/server/0835-Folia-scheduler-and-owned-region-API.patch b/patches/server/0835-Folia-scheduler-and-owned-region-API.patch
index f2c0e01477..2c701102be 100644
--- a/patches/server/0835-Folia-scheduler-and-owned-region-API.patch
+++ b/patches/server/0835-Folia-scheduler-and-owned-region-API.patch
@@ -1173,7 +1173,7 @@ index 741b5ba321d9bd854afb9b54f0e23c739c7f929c..9312279f8f958cd1fd13e8333ca47680
gameprofilerfiller.push("commandFunctions");
this.getFunctions().tick();
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index cbba549176b3acfc25ec42c2935b31ab2176e0fa..4ac0bb0ec3222ebdd3fa386696dcb0723dc162a4 100644
+index 7da3e315de67f3273997ce9160995183a3a1ce71..3a6e918e9db6397b6f1cff531041655298ce087d 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -597,6 +597,7 @@ public abstract class PlayerList {
@@ -1185,10 +1185,10 @@ index cbba549176b3acfc25ec42c2935b31ab2176e0fa..4ac0bb0ec3222ebdd3fa386696dcb072
this.players.remove(entityplayer);
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index a8bb9caaf0db01d8b7cfb18e5f162c6eeada5d6a..cc4906ed08e84beaca0ba93200693a0a3730fb4c 100644
+index c26c814e9a3a54fb7b46b0e5f51843621f179d3d..638b202519b0cca5ca7ba406e6f92c51a0ef990e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -262,10 +262,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -263,10 +263,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public CraftEntity getBukkitEntity() {
if (this.bukkitEntity == null) {
@@ -1211,7 +1211,7 @@ index a8bb9caaf0db01d8b7cfb18e5f162c6eeada5d6a..cc4906ed08e84beaca0ba93200693a0a
// CraftBukkit - SPIGOT-6907: re-implement LivingEntity#setMaximumAir()
public int getDefaultMaxAirSupply() {
-@@ -4676,6 +4687,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4706,6 +4717,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public final void setRemoved(Entity.RemovalReason entity_removalreason, EntityRemoveEvent.Cause cause) {
CraftEventFactory.callEntityRemoveEvent(this, cause);
// CraftBukkit end
@@ -1219,7 +1219,7 @@ index a8bb9caaf0db01d8b7cfb18e5f162c6eeada5d6a..cc4906ed08e84beaca0ba93200693a0a
if (this.removalReason == null) {
this.removalReason = entity_removalreason;
}
-@@ -4687,12 +4699,28 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4717,12 +4729,28 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.getPassengers().forEach(Entity::stopRiding);
this.levelCallback.onRemove(entity_removalreason);
this.onRemoval(entity_removalreason);
@@ -1249,7 +1249,7 @@ index a8bb9caaf0db01d8b7cfb18e5f162c6eeada5d6a..cc4906ed08e84beaca0ba93200693a0a
public void setLevelCallback(EntityInLevelCallback changeListener) {
this.levelCallback = changeListener;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index a7b79c9ec51f037287fad609c29b240e2071f2f8..46807d5d94a0f90b230dfaf4d37378a3bfa21414 100644
+index b59dc253a086374e07338b989ba5835d138e5d72..190529d8f96b2cb4096a454aec37775388650af2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -313,6 +313,76 @@ public final class CraftServer implements Server {
diff --git a/patches/server/0844-API-for-updating-recipes-on-clients.patch b/patches/server/0844-API-for-updating-recipes-on-clients.patch
index bda5ca5713..e0119725e2 100644
--- a/patches/server/0844-API-for-updating-recipes-on-clients.patch
+++ b/patches/server/0844-API-for-updating-recipes-on-clients.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] API for updating recipes on clients
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 4ac0bb0ec3222ebdd3fa386696dcb0723dc162a4..d92fb522d88a790d9cea2e6c4edad30bb73298fc 100644
+index 3a6e918e9db6397b6f1cff531041655298ce087d..efc12d629b71ba1da664d9ecfd4575bee9b45dc3 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1448,6 +1448,13 @@ public abstract class PlayerList {
@@ -15,14 +15,14 @@ index 4ac0bb0ec3222ebdd3fa386696dcb0723dc162a4..d92fb522d88a790d9cea2e6c4edad30b
+ // Paper start - API for updating recipes on clients
+ this.reloadAdvancementData();
+ this.reloadTagData();
-+ this.reloadRecipeData();
++ this.reloadRecipes();
+ }
+ public void reloadAdvancementData() {
+ // Paper end - API for updating recipes on clients
// CraftBukkit start
/*Iterator iterator = this.advancements.values().iterator();
-@@ -1463,7 +1470,13 @@ public abstract class PlayerList {
+@@ -1463,9 +1470,13 @@ public abstract class PlayerList {
}
// CraftBukkit end
@@ -30,14 +30,15 @@ index 4ac0bb0ec3222ebdd3fa386696dcb0723dc162a4..d92fb522d88a790d9cea2e6c4edad30b
+ }
+ public void reloadTagData() {
this.broadcastAll(new ClientboundUpdateTagsPacket(TagNetworkSerialization.serializeTagsToNetwork(this.registries)));
-+ }
-+ public void reloadRecipeData() {
+ // CraftBukkit start
+- this.reloadRecipes();
++ // this.reloadRecipes(); // Paper - do not reload recipes just because tag data was reloaded
+ // Paper end - API for updating recipes on clients
- RecipeManager craftingmanager = this.server.getRecipeManager();
- ClientboundUpdateRecipesPacket packetplayoutrecipeupdate = new ClientboundUpdateRecipesPacket(craftingmanager.getSynchronizedItemProperties(), craftingmanager.getSynchronizedStonecutterRecipes());
- Iterator iterator1 = this.players.iterator();
+ }
+
+ public void reloadRecipes() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index da3819f49b105bd98ce94b5abdf1c7652ff625a4..fa505c0714bb95b2ab08b4bbb9ea79ce98898f4b 100644
+index 87bc228c121077815bdad7942df1c9576edac21b..a618258fde1226588ea447522ba4177aa9cf9016 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1178,6 +1178,18 @@ public final class CraftServer implements Server {
@@ -52,7 +53,7 @@ index da3819f49b105bd98ce94b5abdf1c7652ff625a4..fa505c0714bb95b2ab08b4bbb9ea79ce
+
+ @Override
+ public void updateRecipes() {
-+ this.playerList.reloadRecipeData();
++ this.playerList.reloadRecipes();
+ }
+ // Paper end - API for updating recipes on clients
+
@@ -79,7 +80,7 @@ index da3819f49b105bd98ce94b5abdf1c7652ff625a4..fa505c0714bb95b2ab08b4bbb9ea79ce
toAdd.addToCraftingManager();
+ // Paper start - API for updating recipes on clients
+ if (true || resendRecipes) { // Always needs to be resent now... TODO
-+ this.playerList.reloadRecipeData();
++ this.playerList.reloadRecipes();
+ }
+ // Paper end - API for updating recipes on clients
return true;
@@ -103,7 +104,7 @@ index da3819f49b105bd98ce94b5abdf1c7652ff625a4..fa505c0714bb95b2ab08b4bbb9ea79ce
+ final ResourceKey<net.minecraft.world.item.crafting.Recipe<?>> minecraftKey = CraftRecipe.toMinecraft(recipeKey);
+ final boolean removed = this.getServer().getRecipeManager().removeRecipe(minecraftKey);
+ if (removed/* && resendRecipes*/) { // TODO Always need to resend them rn - deprecate this method?
-+ this.playerList.reloadRecipeData();
++ this.playerList.reloadRecipes();
+ }
+ return removed;
+ // Paper end - resend recipes on successful removal
diff --git a/patches/server/0858-Expand-Pose-API.patch b/patches/server/0858-Expand-Pose-API.patch
index 118d446644..476fb71f73 100644
--- a/patches/server/0858-Expand-Pose-API.patch
+++ b/patches/server/0858-Expand-Pose-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Expand Pose API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index cc4906ed08e84beaca0ba93200693a0a3730fb4c..67dda7d37cc4af2f09734da5653e8fa33098c7db 100644
+index 638b202519b0cca5ca7ba406e6f92c51a0ef990e..8a0b26533e6bbabe829efbf5afcef1a79cdf0adb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -427,6 +427,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -428,6 +428,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@javax.annotation.Nullable
private UUID originWorld;
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
@@ -16,7 +16,7 @@ index cc4906ed08e84beaca0ba93200693a0a3730fb4c..67dda7d37cc4af2f09734da5653e8fa3
public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector();
-@@ -625,6 +626,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -626,6 +627,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public void onRemoval(Entity.RemovalReason reason) {}
public void setPose(net.minecraft.world.entity.Pose pose) {
diff --git a/patches/server/0865-Fix-slot-desync.patch b/patches/server/0865-Fix-slot-desync.patch
index 4d13d63e2c..a1835267ae 100644
--- a/patches/server/0865-Fix-slot-desync.patch
+++ b/patches/server/0865-Fix-slot-desync.patch
@@ -40,10 +40,10 @@ index 38730e11118bf71d167a18b807e06c20ea0d63d0..5be7304c8417e2987837d1c6ce8b8023
if (event.isCancelled()) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 67dda7d37cc4af2f09734da5653e8fa33098c7db..56f2ac87f42572556646eb62f16274726e7ae455 100644
+index 8a0b26533e6bbabe829efbf5afcef1a79cdf0adb..4cd07d9a90885b59ef1b2be7562386d5e8c7b2ae 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2752,8 +2752,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2753,8 +2753,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (!this.level().isClientSide()) {
// CraftBukkit start - fire PlayerLeashEntityEvent
if (CraftEventFactory.callPlayerLeashEntityEvent(this, player, player, hand).isCancelled()) {
diff --git a/patches/server/0891-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0891-Broadcast-take-item-packets-with-collector-as-source.patch
index 3c153487e4..6c7d603b8c 100644
--- a/patches/server/0891-Broadcast-take-item-packets-with-collector-as-source.patch
+++ b/patches/server/0891-Broadcast-take-item-packets-with-collector-as-source.patch
@@ -6,10 +6,10 @@ Subject: [PATCH] Broadcast take item packets with collector as source
This fixes players (which can't view the collector) seeing item pickups with themselves as the target.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 2a587683463fb0a0770ab54125868e82c0694ca6..375280dd829eb2f6b98a95228250a3d87a7872cf 100644
+index c6fa51118232e5875779482ed1d694b7b9c7b861..2bff94cef4fef66b81508a2ef4b5613e76044832 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3891,7 +3891,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3892,7 +3892,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public void take(Entity item, int count) {
if (!item.isRemoved() && !this.level().isClientSide && (item instanceof ItemEntity || item instanceof AbstractArrow || item instanceof ExperienceOrb)) {
diff --git a/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch
index 6a0d1b6e72..4849f6aa02 100644
--- a/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch
+++ b/patches/server/0899-Don-t-fire-sync-events-during-worldgen.patch
@@ -31,10 +31,10 @@ index 7cecbac43f1cd2d9516034ea9d2633c0c76e61f4..7a985c30a973efacf3e8b70e7163c550
if (entity.valid) {
MinecraftServer.LOGGER.error("Attempted Double World add on {}", entity, new Throwable());
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 56f2ac87f42572556646eb62f16274726e7ae455..5c7df0efee4a0aa078e36d3e262cd0b48a27cf47 100644
+index 4cd07d9a90885b59ef1b2be7562386d5e8c7b2ae..7657888bab53428fda9d3d10ac35bfddc5c16266 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -631,7 +631,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -632,7 +632,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
if (pose == this.getPose()) {
return;
}
@@ -68,7 +68,7 @@ index 64dc0bd1900575e40ac72a98c6df371223bd244c..c2693d530be00af16b2aa4ca4afd1d13
}, () -> {
EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id"));
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 375280dd829eb2f6b98a95228250a3d87a7872cf..e8749957c39abcd922b734a87df95b815012737a 100644
+index 2bff94cef4fef66b81508a2ef4b5613e76044832..22c565fd6b14ae018f4526b174388ed5247600f6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1159,6 +1159,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
diff --git a/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch
index 8ad8d898eb..8ab0f9fb23 100644
--- a/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch
+++ b/patches/server/0902-Restore-vanilla-entity-drops-behavior.patch
@@ -37,10 +37,10 @@ index 419fcb4cd97cf10a2601e02024b999a51a0ff952..df21cd1bd2a3dda7169edbea18bbfdf0
loot.addAll(this.drops);
this.drops.clear(); // SPIGOT-5188: make sure to clear
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 5c7df0efee4a0aa078e36d3e262cd0b48a27cf47..b78395ab8f393a0f6551951731ddce7a5228b44c 100644
+index 7657888bab53428fda9d3d10ac35bfddc5c16266..b7594a0fd6fe7e25d13202c95b2c39a04e84abde 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -2678,19 +2678,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2679,19 +2679,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@Nullable
public ItemEntity spawnAtLocation(ServerLevel world, ItemStack stack, float yOffset) {
@@ -89,7 +89,7 @@ index 5c7df0efee4a0aa078e36d3e262cd0b48a27cf47..b78395ab8f393a0f6551951731ddce7a
return this.spawnAtLocation(world, entityitem);
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index e8749957c39abcd922b734a87df95b815012737a..9e105732fb765258af9154b84534234fd84eb24f 100644
+index 22c565fd6b14ae018f4526b174388ed5247600f6..8c3ec957210a259e26253dbb3a4191702ce6699c 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -289,7 +289,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -150,7 +150,7 @@ index 2bb2b36f793d25b6e49d1a72bb665cfa9f212730..63f02cdc67d9e88cc6998d0ae9d139c8
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index dbef230ae88ee1bfbc20ba53b534434c3ccac985..a0455f590d549343d6d8fd7991ba1b87a87acdb8 100644
+index b6c30bb70fb4746da024bc4d80b71aeb3558f101..1c87019f5eb8e51accef3dc7ee949cdf2bec8f72 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -973,19 +973,25 @@ public class CraftEventFactory {
diff --git a/patches/server/0905-Improve-Registry.patch b/patches/server/0905-Improve-Registry.patch
index 7bd4b1163b..5546233da5 100644
--- a/patches/server/0905-Improve-Registry.patch
+++ b/patches/server/0905-Improve-Registry.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Improve Registry
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-index 16985dc1f54d64c44f96b045012612f16ba9ae8a..002a3475c6e062071845399ed723754ce4ce9e95 100644
+index 249f0dcad04a35244da6dab837a461bb42aad00a..273844c9071b8d5cf6009c6c94a6c47a9d0cc700 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -150,6 +150,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -152,6 +152,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
private final Class<?> bukkitClass; // Paper - relax preload class
private final Map<NamespacedKey, B> cache = new HashMap<>();
@@ -16,7 +16,7 @@ index 16985dc1f54d64c44f96b045012612f16ba9ae8a..002a3475c6e062071845399ed723754c
private final net.minecraft.core.Registry<M> minecraftRegistry;
private final BiFunction<NamespacedKey, M, B> minecraftToBukkit;
private final BiFunction<NamespacedKey, ApiVersion, NamespacedKey> serializationUpdater; // Paper - rename to make it *clear* what it is *only* for
-@@ -198,6 +199,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -200,6 +201,7 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
}
this.cache.put(namespacedKey, bukkit);
@@ -24,7 +24,7 @@ index 16985dc1f54d64c44f96b045012612f16ba9ae8a..002a3475c6e062071845399ed723754c
return bukkit;
}
-@@ -230,4 +232,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -232,4 +234,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
return this.minecraftToBukkit.apply(namespacedKey, minecraft);
}
diff --git a/patches/server/0906-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0906-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
index 636531b7e9..0889a0b322 100644
--- a/patches/server/0906-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
+++ b/patches/server/0906-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch
@@ -26,10 +26,10 @@ index c6dcc37ac5fcf50bcb246f533b99983dfc5c19c2..c13b6f14c3061710c2b27034db240cc9
d3 = to.getX();
d4 = to.getY();
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 9e105732fb765258af9154b84534234fd84eb24f..97a524db692b7367f22a373439c1233b143f4a17 100644
+index 8c3ec957210a259e26253dbb3a4191702ce6699c..0557a182a17a2891f2a9e0e4367d5102674e3b42 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4363,7 +4363,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4364,7 +4364,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!(this instanceof ServerPlayer)) {
EntityTeleportEvent teleport = new EntityTeleportEvent(this.getBukkitEntity(), new Location(this.level().getWorld(), d3, d4, d5), new Location(this.level().getWorld(), d0, d6, d2));
this.level().getCraftServer().getPluginManager().callEvent(teleport);
diff --git a/patches/server/0912-Fixup-NamespacedKey-handling.patch b/patches/server/0912-Fixup-NamespacedKey-handling.patch
index 0eee21b8d0..2de1c49d0b 100644
--- a/patches/server/0912-Fixup-NamespacedKey-handling.patch
+++ b/patches/server/0912-Fixup-NamespacedKey-handling.patch
@@ -18,10 +18,10 @@ index 90b82ad996b2b85628c9a5ddeef9410150b7f70c..5fd22a80e9d05afbea273471cee99173
public static NamespacedKey minecraftToBukkitKey(ResourceKey<LootTable> minecraft) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-index 002a3475c6e062071845399ed723754ce4ce9e95..9245f6de141384bfc12e8dd81ce1df366c6a62aa 100644
+index 273844c9071b8d5cf6009c6c94a6c47a9d0cc700..45c78c113e881b277e1216293ad918ee40b44325 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -125,6 +125,16 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -127,6 +127,16 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+ ", this can happen if a plugin creates its own registry entry with out properly registering it.");
}
@@ -68,7 +68,7 @@ index afed8bdb9bd6a135e9b5f7bd9bfc61964cb240f7..bb2d1dddca6bfe719b28df136e80a7c5
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java
-index bcac1359c667ef1ee46384f9c7a5adf4010d2b08..98a4463c9f194f33f4f85d95a0b9fa061cf6faaf 100644
+index bcac1359c667ef1ee46384f9c7a5adf4010d2b08..b1b139b773b37e6ec2afea85c500387d6ba9800e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java
@@ -16,7 +16,7 @@ public class CraftPainting extends CraftHanging implements Painting {
@@ -76,7 +76,7 @@ index bcac1359c667ef1ee46384f9c7a5adf4010d2b08..98a4463c9f194f33f4f85d95a0b9fa06
@Override
public Art getArt() {
- return CraftArt.minecraftHolderToBukkit(this.getHandle().getVariant());
-+ return org.bukkit.craftbukkit.CraftRegistry.unwrapAndConvertHolder(org.bukkit.Registry.ART, this.getHandle().getVariant()).orElseThrow(() -> new IllegalStateException("Inlined/custom painting variants are not supported yet in the API!")); // Paper
++ return org.bukkit.craftbukkit.CraftRegistry.unwrapAndConvertHolder(org.bukkit.Registry.ART, this.getHandle().getVariant()).orElseThrow(() -> new IllegalStateException("Inlined painting variants are not supported yet in the API!")); // Paper
}
@Override
diff --git a/patches/server/0934-Fix-DamageSource-API.patch b/patches/server/0934-Fix-DamageSource-API.patch
index bdeb62149f..d03ac9d5ef 100644
--- a/patches/server/0934-Fix-DamageSource-API.patch
+++ b/patches/server/0934-Fix-DamageSource-API.patch
@@ -84,10 +84,10 @@ index fddbdb7322a2063996a28c5c3d93c265188b1256..be87cb3cfa15a7d889118cdc4b87232e
public DamageSource sonicBoom(Entity attacker) {
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index b78395ab8f393a0f6551951731ddce7a5228b44c..e2322f361271712aca31c95b8b79cdf1c04945f2 100644
+index b7594a0fd6fe7e25d13202c95b2c39a04e84abde..6ebd653ea3c302f26d02f81b6718924708148e4c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -3388,7 +3388,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -3389,7 +3389,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return;
}
@@ -220,7 +220,7 @@ index 4c6e15535fa40aad8cf1920f392589404f9ba79c..35eb95ef6fb6a0f7ea63351e90741c48
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index e7749a3ef6289d73379649f2f76f4e4fdfac7a8b..96b901d07718d8926a2175925e867b4417c3947c 100644
+index ea4e1bf4bfe003c102ecce5958131aa86ec83864..937ed4e77739ff02ff1e4405047f15eac40906fe 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1092,7 +1092,7 @@ public class CraftEventFactory {
diff --git a/patches/server/0945-Fix-shield-disable-inconsistency.patch b/patches/server/0945-Fix-shield-disable-inconsistency.patch
index 30eef15e53..3dcabedf09 100644
--- a/patches/server/0945-Fix-shield-disable-inconsistency.patch
+++ b/patches/server/0945-Fix-shield-disable-inconsistency.patch
@@ -8,10 +8,10 @@ it will not disable the shield if the attacker is holding
an axe item.
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 2fa73a9f444628a5e0df9f54e9bcd453973f0029..e2a069d15d355e985bd80e27023c53b8ef72e0e9 100644
+index 9154f43b578176e13604a7cbd8c210ff3b0ecce9..241c0b1d509bf60104820914a32b81edfdbb33c4 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2424,7 +2424,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2425,7 +2425,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurtCurrentlyUsedShield((float) -event.getDamage(DamageModifier.BLOCKING));
Entity entity = damagesource.getDirectEntity();
diff --git a/patches/server/0949-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/server/0949-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
index 3c84264fc6..ce7f3d5550 100644
--- a/patches/server/0949-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
+++ b/patches/server/0949-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Revert to vanilla handling of LivingEntity#actuallyHurt
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index e2a069d15d355e985bd80e27023c53b8ef72e0e9..ea423fd53150b4a530de673359bfcadc432e9501 100644
+index 241c0b1d509bf60104820914a32b81edfdbb33c4..fe545447bdb982355491ec83c14993325dcc799d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1455,7 +1455,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -33,7 +33,7 @@ index e2a069d15d355e985bd80e27023c53b8ef72e0e9..ea423fd53150b4a530de673359bfcadc
this.lastHurt = amount;
this.invulnerableTime = this.invulnerableDuration; // CraftBukkit - restore use of maxNoDamageTicks
// this.actuallyHurt(worldserver, damagesource, f);
-@@ -2486,12 +2488,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2487,12 +2489,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
return true;
} else {
diff --git a/patches/server/0956-Brigadier-based-command-API.patch b/patches/server/0956-Brigadier-based-command-API.patch
index a29a06bfc2..966239124f 100644
--- a/patches/server/0956-Brigadier-based-command-API.patch
+++ b/patches/server/0956-Brigadier-based-command-API.patch
@@ -2376,7 +2376,7 @@ index c4ffa8519b520e0793af90e149518951d7ffb65b..688916c8fef40d4c81379ad38609a979
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 6136037d3d096300d93b9710dd854224b30e0738..694eacb7d3ffd28fe7684139554113e58be1ebfa 100644
+index b8c2df77ee339c0f711eb767c00cd262c0b84ff3..91ede397a5de5582fcff9d18d1d1b2be9f0909cf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -275,11 +275,11 @@ public final class CraftServer implements Server {
@@ -2559,10 +2559,10 @@ index 4b1ac1fe7ea07f419ae2818251900e7ba434ee16..90ed57a7fbcd0625b64084347460e986
public Map<String, Command> getKnownCommands() {
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-index a35e2d2f53e8308d51e5a07b34c56d05a707bc14..945878e989f136ac516eb1c539c0626547c465fb 100644
+index 4d4a1ac9d75908bbd105a1e5756d2c0932b2d238..7b9f95802071e009412c4a3e6427e34f0b4d468c 100644
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
-@@ -23,14 +23,26 @@ import org.bukkit.craftbukkit.entity.CraftEntity;
+@@ -24,14 +24,26 @@ import org.bukkit.craftbukkit.entity.CraftEntity;
import org.bukkit.craftbukkit.entity.CraftMinecartCommand;
import org.bukkit.entity.minecart.CommandMinecart;
@@ -2592,7 +2592,7 @@ index a35e2d2f53e8308d51e5a07b34c56d05a707bc14..945878e989f136ac516eb1c539c06265
this.vanillaCommand = vanillaCommand;
this.setPermission(VanillaCommandWrapper.getPermission(vanillaCommand));
}
-@@ -40,7 +52,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
+@@ -41,7 +53,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
if (!this.testPermission(sender)) return true;
CommandSourceStack icommandlistener = VanillaCommandWrapper.getListener(sender);
@@ -2601,7 +2601,7 @@ index a35e2d2f53e8308d51e5a07b34c56d05a707bc14..945878e989f136ac516eb1c539c06265
return true;
}
-@@ -51,10 +63,10 @@ public final class VanillaCommandWrapper extends BukkitCommand {
+@@ -52,10 +64,10 @@ public final class VanillaCommandWrapper extends BukkitCommand {
Preconditions.checkArgument(alias != null, "Alias cannot be null");
CommandSourceStack icommandlistener = VanillaCommandWrapper.getListener(sender);
@@ -2614,7 +2614,7 @@ index a35e2d2f53e8308d51e5a07b34c56d05a707bc14..945878e989f136ac516eb1c539c06265
suggestions.getList().forEach((s) -> results.add(s.getText()));
});
-@@ -111,4 +123,15 @@ public final class VanillaCommandWrapper extends BukkitCommand {
+@@ -116,4 +128,15 @@ public final class VanillaCommandWrapper extends BukkitCommand {
private String toDispatcher(String[] args, String name) {
return name + ((args.length > 0) ? " " + Joiner.on(' ').join(args) : "");
}
diff --git a/patches/server/0960-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0960-Prevent-sending-oversized-item-data-in-equipment-and.patch
index d361fe02f7..58783adedb 100644
--- a/patches/server/0960-Prevent-sending-oversized-item-data-in-equipment-and.patch
+++ b/patches/server/0960-Prevent-sending-oversized-item-data-in-equipment-and.patch
@@ -222,10 +222,10 @@ index 688916c8fef40d4c81379ad38609a97993b4b702..6cf3b28749d92b4e33e2f88c6335c9a6
ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); // Paper - fix slot desync - always refresh player inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index ea423fd53150b4a530de673359bfcadc432e9501..ce686e5a98aea61979b842637ed6ebb97e64d2e1 100644
+index fe545447bdb982355491ec83c14993325dcc799d..6feab3d1b85857ab2c5b2228f2b0d5e6c2a5518d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -3460,7 +3460,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -3461,7 +3461,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
});
diff --git a/patches/server/0970-Configurable-damage-tick-when-blocking-with-shield.patch b/patches/server/0970-Configurable-damage-tick-when-blocking-with-shield.patch
index 63023e73f0..a161fd71b6 100644
--- a/patches/server/0970-Configurable-damage-tick-when-blocking-with-shield.patch
+++ b/patches/server/0970-Configurable-damage-tick-when-blocking-with-shield.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable damage tick when blocking with shield
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index ce686e5a98aea61979b842637ed6ebb97e64d2e1..cebb05310502cd1e2277896e75fddab268a3fdf1 100644
+index 6feab3d1b85857ab2c5b2228f2b0d5e6c2a5518d..ff7616e1d6d6c821a75649812ec69e0dc6a8e378 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2486,7 +2486,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2487,7 +2487,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
CriteriaTriggers.PLAYER_HURT_ENTITY.trigger((ServerPlayer) damagesource.getEntity(), this, damagesource, originalDamage, f, true); // Paper - fix taken/dealt param order
}
diff --git a/patches/server/0978-Entity-Activation-Range-2.0.patch b/patches/server/0978-Entity-Activation-Range-2.0.patch
index 13245e49f4..051ceaf599 100644
--- a/patches/server/0978-Entity-Activation-Range-2.0.patch
+++ b/patches/server/0978-Entity-Activation-Range-2.0.patch
@@ -87,10 +87,10 @@ index ce148cf5930cdcf0163c7f6416cbbd89e4d22720..cd00b534e4c527e0b4a5ad78cde87c22
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index e2322f361271712aca31c95b8b79cdf1c04945f2..4c76002af5eee553b92a026688c83ab36429fe4f 100644
+index 6ebd653ea3c302f26d02f81b6718924708148e4c..72dbee3795eb634b3ff3f063a226a1965bc988fb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -420,6 +420,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -421,6 +421,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// Spigot end
protected int numCollisions = 0; // Paper - Cap entity collisions
public boolean fromNetherPortal; // Paper - Add option to nerf pigmen from nether portals
@@ -99,7 +99,7 @@ index e2322f361271712aca31c95b8b79cdf1c04945f2..4c76002af5eee553b92a026688c83ab3
public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one
// Paper start - Entity origin API
@javax.annotation.Nullable
-@@ -992,6 +994,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -993,6 +995,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
} else {
this.wasOnFire = this.isOnFire();
if (type == MoverType.PISTON) {
@@ -108,7 +108,7 @@ index e2322f361271712aca31c95b8b79cdf1c04945f2..4c76002af5eee553b92a026688c83ab3
movement = this.limitPistonMovement(movement);
if (movement.equals(Vec3.ZERO)) {
return;
-@@ -1006,6 +1010,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1007,6 +1011,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.stuckSpeedMultiplier = Vec3.ZERO;
this.setDeltaMovement(Vec3.ZERO);
}
@@ -349,10 +349,10 @@ index 46afba838cf12eeb1bbccaa260131a76f090364b..e1c9a961064887070b29207efd7af478
}
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e8568265007 100644
+index 964e3e81ab522ceebfceb651dfe3309d7b87c688..c1f753f7c4530a772fb408db83fc8c78675cbec2 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
-@@ -1,26 +1,35 @@
+@@ -1,14 +1,22 @@
package org.spigotmc;
+import net.minecraft.core.BlockPos;
@@ -375,7 +375,8 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
import net.minecraft.world.entity.boss.EnderDragonPart;
import net.minecraft.world.entity.boss.enderdragon.EndCrystal;
import net.minecraft.world.entity.boss.enderdragon.EnderDragon;
- import net.minecraft.world.entity.boss.wither.WitherBoss;
+@@ -16,12 +24,13 @@ import net.minecraft.world.entity.boss.wither.WitherBoss;
+ import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.entity.item.PrimedTnt;
import net.minecraft.world.entity.monster.Creeper;
-import net.minecraft.world.entity.monster.Monster;
@@ -390,7 +391,7 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
import net.minecraft.world.entity.projectile.FireworkRocketEntity;
import net.minecraft.world.entity.projectile.ThrowableProjectile;
import net.minecraft.world.entity.projectile.ThrownTrident;
-@@ -43,6 +52,43 @@ public class ActivationRange
+@@ -44,6 +53,43 @@ public class ActivationRange
AABB boundingBox = new AABB( 0, 0, 0, 0, 0, 0 );
}
@@ -434,7 +435,7 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
static AABB maxBB = new AABB( 0, 0, 0, 0, 0, 0 );
-@@ -55,10 +101,13 @@ public class ActivationRange
+@@ -56,10 +102,13 @@ public class ActivationRange
*/
public static ActivationType initializeEntityActivationType(Entity entity)
{
@@ -449,7 +450,7 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
{
return ActivationType.MONSTER;
} else if ( entity instanceof PathfinderMob || entity instanceof AmbientCreature )
-@@ -79,10 +128,14 @@ public class ActivationRange
+@@ -80,10 +129,14 @@ public class ActivationRange
*/
public static boolean initializeEntityActivationState(Entity entity, SpigotWorldConfig config)
{
@@ -468,7 +469,7 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
|| entity instanceof Player
|| entity instanceof ThrowableProjectile
|| entity instanceof EnderDragon
-@@ -116,10 +169,25 @@ public class ActivationRange
+@@ -117,10 +170,25 @@ public class ActivationRange
final int raiderActivationRange = world.spigotConfig.raiderActivationRange;
final int animalActivationRange = world.spigotConfig.animalActivationRange;
final int monsterActivationRange = world.spigotConfig.monsterActivationRange;
@@ -494,7 +495,7 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
maxRange = Math.min( ( world.spigotConfig.simulationDistance << 4 ) - 8, maxRange );
for ( Player player : world.players() )
-@@ -130,13 +198,30 @@ public class ActivationRange
+@@ -131,13 +199,30 @@ public class ActivationRange
continue;
}
@@ -531,7 +532,7 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
}
}
-@@ -168,60 +253,118 @@ public class ActivationRange
+@@ -169,60 +254,118 @@ public class ActivationRange
* @param entity
* @return
*/
@@ -667,8 +668,8 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
}
/**
-@@ -236,8 +379,19 @@ public class ActivationRange
- if ( entity instanceof FireworkRocketEntity ) {
+@@ -237,8 +380,19 @@ public class ActivationRange
+ if (entity instanceof FireworkRocketEntity || (entity instanceof ItemEntity && (entity.tickCount + entity.getId() + 1) % 4 == 0)) {
return true;
}
+ // Paper start - special case always immunities
@@ -688,7 +689,7 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
// Should this entity tick?
if ( !isActive )
-@@ -245,11 +399,14 @@ public class ActivationRange
+@@ -246,11 +400,14 @@ public class ActivationRange
if ( ( MinecraftServer.currentTick - entity.activatedTick - 1 ) % 20 == 0 )
{
// Check immunities every 20 ticks.
@@ -705,8 +706,8 @@ index 05ad15fc40ccb7feed5c51ad0ad0a98bd0d02af6..133bcf639a45bd7fa1a2d02410ea3e85
}
+ // Paper end
isActive = true;
- } else if (entity instanceof net.minecraft.world.entity.item.ItemEntity && (entity.tickCount + entity.getId()) % 4 == 0) { // Paper - Needed for item gravity, see ItemEntity tick
- isActive = true;
+ }
+ }
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 2b263246135c85aa225120519e9702a628773935..2c408fa4abcbe1171c58aee8799c8cf7867d0f0a 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
diff --git a/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch
index 1dc4b385f4..391381dabf 100644
--- a/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch
+++ b/patches/server/0981-Optimize-Collision-to-not-load-chunks.patch
@@ -14,7 +14,7 @@ movement will load only the chunk the player enters anyways and avoids loading
massive amounts of surrounding chunks due to large AABB lookups.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 7097d87dead028c8dd44cefc97694bada93f608b..751fc4b0fe60c6d26ea0f768f3d66031a4bad963 100644
+index 3e03d65ac4ef267de67684d24c6f9c303b1a0bf0..b451842d6848af883cc3abf200f03c9a4680106c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -826,6 +826,7 @@ public abstract class PlayerList {
@@ -26,10 +26,10 @@ index 7097d87dead028c8dd44cefc97694bada93f608b..751fc4b0fe60c6d26ea0f768f3d66031
if (teleporttransition.missingRespawnBlock()) {
entityplayer1.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.NO_RESPAWN_BLOCK_AVAILABLE, 0.0F));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 4c76002af5eee553b92a026688c83ab36429fe4f..7fbaaed892b39ca920b15e08d6c44943a69a35d7 100644
+index 72dbee3795eb634b3ff3f063a226a1965bc988fb..430addbb5c3d84f4354a89a9ec8fa15bca4d2a60 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -258,6 +258,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -259,6 +259,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// Paper end - Share random for entities to make them more random
public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason; // Paper - Entity#getEntitySpawnReason
diff --git a/patches/server/0990-Check-distance-in-entity-interactions.patch b/patches/server/0990-Check-distance-in-entity-interactions.patch
index bfc89098b0..2c49ce329c 100644
--- a/patches/server/0990-Check-distance-in-entity-interactions.patch
+++ b/patches/server/0990-Check-distance-in-entity-interactions.patch
@@ -17,7 +17,7 @@ index 57223285860f61119b6cf348aa78e59384a04e22..ccfe9ef24dce9f34613692adb13738d3
};
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index cebb05310502cd1e2277896e75fddab268a3fdf1..40697022b64100fcf7f5c079c6863cd0eabfb0b8 100644
+index ff7616e1d6d6c821a75649812ec69e0dc6a8e378..bd34c878d8ca6fb4e4f526761fd657b250c26d80 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1467,7 +1467,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -44,7 +44,7 @@ index cebb05310502cd1e2277896e75fddab268a3fdf1..40697022b64100fcf7f5c079c6863cd0
this.knockback(0.4000000059604645D, d0, d1, entity1, entity1 == null ? io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.DAMAGE : io.papermc.paper.event.entity.EntityKnockbackEvent.Cause.ENTITY_ATTACK); // CraftBukkit // Paper - knockback events
if (!flag) {
-@@ -2426,7 +2434,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2427,7 +2435,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurtCurrentlyUsedShield((float) -event.getDamage(DamageModifier.BLOCKING));
Entity entity = damagesource.getDirectEntity();
diff --git a/patches/server/0992-Properly-resend-entities.patch b/patches/server/0992-Properly-resend-entities.patch
index 3963567da9..9bb9004b32 100644
--- a/patches/server/0992-Properly-resend-entities.patch
+++ b/patches/server/0992-Properly-resend-entities.patch
@@ -102,7 +102,7 @@ index da719576b2c7e992b74266c7fbe5c9728d238dcf..c93aa97abd46b3ad87e284feac51487e
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 751fc4b0fe60c6d26ea0f768f3d66031a4bad963..700ab5ef2f8ab1466c4f659cd34679dc809efbaf 100644
+index b451842d6848af883cc3abf200f03c9a4680106c..88299abf563a041ade1683b66b43103b0eeeea0d 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -396,7 +396,7 @@ public abstract class PlayerList {
@@ -134,10 +134,10 @@ index 751fc4b0fe60c6d26ea0f768f3d66031a4bad963..700ab5ef2f8ab1466c4f659cd34679dc
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 7fbaaed892b39ca920b15e08d6c44943a69a35d7..ddfc4818f091802e5999c6b99e5bc57c6f370648 100644
+index 430addbb5c3d84f4354a89a9ec8fa15bca4d2a60..7093a7383c93f172fb7674799d7efe4c563fc99c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -598,13 +598,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -599,13 +599,45 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// CraftBukkit start
public void refreshEntityData(ServerPlayer to) {
@@ -186,10 +186,10 @@ index 7fbaaed892b39ca920b15e08d6c44943a69a35d7..ddfc4818f091802e5999c6b99e5bc57c
public boolean equals(Object object) {
return object instanceof Entity ? ((Entity) object).id == this.id : false;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 40697022b64100fcf7f5c079c6863cd0eabfb0b8..61d4515cce2b5ed73a2202d43b8f96bb63b9a459 100644
+index bd34c878d8ca6fb4e4f526761fd657b250c26d80..016be3addd3bf0ae3dd5f6094de3902206c5b43a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4029,6 +4029,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4030,6 +4030,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
return ((Byte) this.entityData.get(LivingEntity.DATA_LIVING_ENTITY_FLAGS) & 2) > 0 ? InteractionHand.OFF_HAND : InteractionHand.MAIN_HAND;
}
diff --git a/patches/server/0993-Registry-Modification-API.patch b/patches/server/0993-Registry-Modification-API.patch
index 8c62f4ec9b..8dbd5f3ff2 100644
--- a/patches/server/0993-Registry-Modification-API.patch
+++ b/patches/server/0993-Registry-Modification-API.patch
@@ -9,7 +9,7 @@ public net.minecraft.resources.RegistryOps lookupProvider
public net.minecraft.resources.RegistryOps$HolderLookupAdapter
diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
-index b5df90b500a64ee3ba1026fa3449ca6441293367..36bc8d005de14622eb8a0bf4736d964276c95344 100644
+index 39120c63ed25d45a4083523fbfe79d871f4d892e..f563e6e7a558d22f571154640e99cc86718c89f5 100644
--- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java
+++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
@@ -2,6 +2,7 @@ package io.papermc.paper.registry;
@@ -20,7 +20,7 @@ index b5df90b500a64ee3ba1026fa3449ca6441293367..36bc8d005de14622eb8a0bf4736d9642
import java.util.Collections;
import java.util.IdentityHashMap;
import java.util.List;
-@@ -64,6 +65,7 @@ import org.checkerframework.framework.qual.DefaultQualifier;
+@@ -68,6 +69,7 @@ import org.checkerframework.framework.qual.DefaultQualifier;
import static io.papermc.paper.registry.entry.RegistryEntry.apiOnly;
import static io.papermc.paper.registry.entry.RegistryEntry.entry;
@@ -28,7 +28,7 @@ index b5df90b500a64ee3ba1026fa3449ca6441293367..36bc8d005de14622eb8a0bf4736d9642
@DefaultQualifier(NonNull.class)
public final class PaperRegistries {
-@@ -147,6 +149,15 @@ public final class PaperRegistries {
+@@ -151,6 +153,15 @@ public final class PaperRegistries {
return ResourceKey.create((ResourceKey<? extends Registry<M>>) PaperRegistries.registryToNms(typedKey.registryKey()), PaperAdventure.asVanilla(typedKey.key()));
}
@@ -1323,10 +1323,10 @@ index 6fddef967b6314ca0158f5bd4b8898670ea5e9ec..b5ca1a0acb16d0cd8dccc854f309d425
return writableRegistry;
}, prepareExecutor);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-index 9245f6de141384bfc12e8dd81ce1df366c6a62aa..d97ddbcb5efdae5f848c77bee52058b16316b3dc 100644
+index 45c78c113e881b277e1216293ad918ee40b44325..8314059455d91f01b986c5c0a239f41817834bd6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
-@@ -162,11 +162,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -164,11 +164,11 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
private final Map<NamespacedKey, B> cache = new HashMap<>();
private final Map<B, NamespacedKey> byValue = new java.util.IdentityHashMap<>(); // Paper - improve Registry
private final net.minecraft.core.Registry<M> minecraftRegistry;
@@ -1340,7 +1340,7 @@ index 9245f6de141384bfc12e8dd81ce1df366c6a62aa..d97ddbcb5efdae5f848c77bee52058b1
this.bukkitClass = bukkitClass;
this.minecraftRegistry = minecraftRegistry;
this.minecraftToBukkit = minecraftToBukkit;
-@@ -249,4 +249,17 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
+@@ -251,4 +251,17 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
return this.byValue.get(value);
}
// Paper end - improve Registry
diff --git a/patches/server/0994-Add-registry-entry-and-builders.patch b/patches/server/0994-Add-registry-entry-and-builders.patch
index 1b4049eaa9..478f6366df 100644
--- a/patches/server/0994-Add-registry-entry-and-builders.patch
+++ b/patches/server/0994-Add-registry-entry-and-builders.patch
@@ -5,7 +5,7 @@ Subject: [PATCH] Add registry entry and builders
diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
-index 3c48848a2628d07c470425d1c70d10b45db346a1..97fceb4de04d6756bd9b18b650e3325f21854f40 100644
+index f563e6e7a558d22f571154640e99cc86718c89f5..a2d26151b5d1ae413e1e588520ecf13fe479de94 100644
--- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java
+++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java
@@ -1,6 +1,8 @@
@@ -17,7 +17,7 @@ index 3c48848a2628d07c470425d1c70d10b45db346a1..97fceb4de04d6756bd9b18b650e3325f
import io.papermc.paper.registry.entry.RegistryEntry;
import io.papermc.paper.registry.tag.TagKey;
import java.util.Collections;
-@@ -76,7 +78,7 @@ public final class PaperRegistries {
+@@ -80,7 +82,7 @@ public final class PaperRegistries {
static {
REGISTRY_ENTRIES = List.of(
// built-ins
@@ -26,7 +26,7 @@ index 3c48848a2628d07c470425d1c70d10b45db346a1..97fceb4de04d6756bd9b18b650e3325f
entry(Registries.STRUCTURE_TYPE, RegistryKey.STRUCTURE_TYPE, StructureType.class, CraftStructureType::new),
entry(Registries.INSTRUMENT, RegistryKey.INSTRUMENT, MusicInstrument.class, CraftMusicInstrument::new),
entry(Registries.MOB_EFFECT, RegistryKey.MOB_EFFECT, PotionEffectType.class, CraftPotionEffectType::new),
-@@ -98,7 +100,7 @@ public final class PaperRegistries {
+@@ -103,7 +105,7 @@ public final class PaperRegistries {
entry(Registries.TRIM_PATTERN, RegistryKey.TRIM_PATTERN, TrimPattern.class, CraftTrimPattern::new).delayed(),
entry(Registries.DAMAGE_TYPE, RegistryKey.DAMAGE_TYPE, DamageType.class, CraftDamageType::new).delayed(),
entry(Registries.WOLF_VARIANT, RegistryKey.WOLF_VARIANT, Wolf.Variant.class, CraftWolf.CraftVariant::new).delayed(),
@@ -34,7 +34,7 @@ index 3c48848a2628d07c470425d1c70d10b45db346a1..97fceb4de04d6756bd9b18b650e3325f
+ writable(Registries.ENCHANTMENT, RegistryKey.ENCHANTMENT, Enchantment.class, CraftEnchantment::new, PaperEnchantmentRegistryEntry.PaperBuilder::new).withSerializationUpdater(FieldRename.ENCHANTMENT_RENAME).delayed(),
entry(Registries.JUKEBOX_SONG, RegistryKey.JUKEBOX_SONG, JukeboxSong.class, CraftJukeboxSong::new).delayed(),
entry(Registries.BANNER_PATTERN, RegistryKey.BANNER_PATTERN, PatternType.class, CraftPatternType::new).delayed(),
-
+ entry(Registries.PAINTING_VARIANT, RegistryKey.PAINTING_VARIANT, Art.class, CraftArt::new).delayed(),
diff --git a/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java b/src/main/java/io/papermc/paper/registry/data/PaperEnchantmentRegistryEntry.java
new file mode 100644
index 0000000000000000000000000000000000000000..481f5f0cfae1fada3bc3f873fb7e04c3086ea9bf
diff --git a/patches/server/1032-Void-damage-configuration-API.patch b/patches/server/1032-Void-damage-configuration-API.patch
index f295b3373b..30f8cf9c5a 100644
--- a/patches/server/1032-Void-damage-configuration-API.patch
+++ b/patches/server/1032-Void-damage-configuration-API.patch
@@ -5,10 +5,10 @@ Subject: [PATCH] Void damage configuration API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index ddfc4818f091802e5999c6b99e5bc57c6f370648..e5466be840ef32e4fa17c0e9446c4d0b30a56e26 100644
+index 7093a7383c93f172fb7674799d7efe4c563fc99c..ed276c599890d9db11130d8ae0844ca364a824a6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -853,8 +853,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -854,8 +854,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void checkBelowWorld() {
@@ -20,10 +20,10 @@ index ddfc4818f091802e5999c6b99e5bc57c6f370648..e5466be840ef32e4fa17c0e9446c4d0b
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end - Configurable nether ceiling damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 4d75ce205d5a0d61780936aa522710f5f753b271..22bb0aaf3aebdc60a8894dc473cbeb0e58ca37b8 100644
+index 99c98a91fe7471791fca8233acf6eeba516b10ed..4836b01323abb125289982ef3ceca09d6a9cfc3b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -2700,7 +2700,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -2701,7 +2701,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
protected void onBelowWorld() {
diff --git a/patches/server/1038-Moonrise-optimisation-patches.patch b/patches/server/1038-Moonrise-optimisation-patches.patch
index 2ed5270818..492290e894 100644
--- a/patches/server/1038-Moonrise-optimisation-patches.patch
+++ b/patches/server/1038-Moonrise-optimisation-patches.patch
@@ -28026,7 +28026,7 @@ index b7d29389a357f142237cecd75f8ca91cf1eb6b5b..e4b0dc3121101d54394a0c3a413dabf8
this.generatingStep = generationStep;
this.cache = chunks;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
-index 700ab5ef2f8ab1466c4f659cd34679dc809efbaf..b28b23c69512b054e856388f2f94d27d35347b8c 100644
+index 88299abf563a041ade1683b66b43103b0eeeea0d..61f3ee42aaad1641c92df3eb60d699b9dd5679e3 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1420,7 +1420,7 @@ public abstract class PlayerList {
@@ -28416,10 +28416,10 @@ index 50040c497a819cd1229042ab3cb057d34a32cacc..1f9c436a632e4f110be61cf76fcfc3b7
+ // Paper end - block counting
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb69b63c75 100644
+index ed276c599890d9db11130d8ae0844ca364a824a6..86e3d37ac9b4d5efe240c07289f88a070543b30d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -175,7 +175,7 @@ import org.bukkit.event.player.PlayerTeleportEvent;
+@@ -176,7 +176,7 @@ import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.plugin.PluginManager;
// CraftBukkit end
@@ -28428,7 +28428,7 @@ index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb
// CraftBukkit start
private static final int CURRENT_LEVEL = 2;
-@@ -460,6 +460,156 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -461,6 +461,156 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.dimensions.makeBoundingBox(x, y, z);
}
// Paper end
@@ -28585,7 +28585,7 @@ index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb
public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
-@@ -1365,41 +1515,76 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1366,41 +1516,76 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
private Vec3 collide(Vec3 movement) {
@@ -28690,7 +28690,7 @@ index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb
}
private static float[] collectCandidateStepUpHeights(AABB collisionBox, List<VoxelShape> collisions, float f, float stepHeight) {
-@@ -2787,18 +2972,110 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -2788,18 +2973,110 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public boolean isInWall() {
@@ -28808,7 +28808,7 @@ index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb
}
public InteractionResult interact(Player player, InteractionHand hand) {
-@@ -4271,14 +4548,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4272,14 +4549,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public Iterable<Entity> getIndirectPassengers() {
@@ -28833,7 +28833,7 @@ index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb
}
private Iterable<Entity> getIndirectPassengers_old() {
// Paper end - Optimize indirect passenger iteration
-@@ -4407,82 +4687,136 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4437,82 +4717,136 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return Mth.lerp(delta, this.yRotO, this.yRot);
}
@@ -29028,7 +29028,7 @@ index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb
public boolean touchingUnloadedChunk() {
AABB axisalignedbb = this.getBoundingBox().inflate(1.0D);
-@@ -4634,6 +4968,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4664,6 +4998,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.setPosRaw(x, y, z, false);
}
public final void setPosRaw(double x, double y, double z, boolean forceBoundingBoxUpdate) {
@@ -29044,7 +29044,7 @@ index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb
if (!checkPosition(this, x, y, z)) {
return;
}
-@@ -4763,6 +5106,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4793,6 +5136,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@Override
public final void setRemoved(Entity.RemovalReason entity_removalreason, EntityRemoveEvent.Cause cause) {
@@ -29057,7 +29057,7 @@ index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb
CraftEventFactory.callEntityRemoveEvent(this, cause);
// CraftBukkit end
final boolean alreadyRemoved = this.removalReason != null; // Paper - Folia schedulers
-@@ -4774,7 +5123,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4804,7 +5153,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.stopRiding();
}
@@ -29066,7 +29066,7 @@ index 0b7aea178cd6097a7dfefd1435b70333c6a2e0ff..6cdb0460c2d232f022ee6ea8dcbe4dcb
this.levelCallback.onRemove(entity_removalreason);
this.onRemoval(entity_removalreason);
// Paper start - Folia schedulers
-@@ -4806,7 +5155,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4836,7 +5185,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@Override
public boolean shouldBeSaved() {
@@ -36006,7 +36006,7 @@ index f65cc95ab28e8a3b21eac2b16bd9ebe97e56e571..0074bc0e7147dc3a8c538e796f14ac9b
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 02ee599dff305d63b44c724a2f6807d91362f675..97ebe3852f34b88e727083b539d94de62dc1ca80 100644
+index 4a1fa5b7597a06e57619bbc336d8ca117bc6f5b2..c814b68933155fe7391b325260052d9affb6841c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1432,7 +1432,7 @@ public final class CraftServer implements Server {
diff --git a/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch
index c14568a5d7..983806d780 100644
--- a/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch
+++ b/patches/server/1043-Detail-more-information-in-watchdog-dumps.patch
@@ -121,10 +121,10 @@ index 70efc63102b3d3727be376d42f1bef70174468a3..7b936a01888d71fe305863054471b6b4
private void tickPassenger(Entity vehicle, Entity passenger, boolean isActive) { // Paper - EAR 2
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
-index 88543de6e51acbe76b89aef4a84de20337d616e4..6574219da33a7b9a4906883e65b78d7806f6e67b 100644
+index 86e3d37ac9b4d5efe240c07289f88a070543b30d..a0876d3f88620bb24ef69101fc67b0dcd5dca0d2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
-@@ -1171,8 +1171,43 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1172,8 +1172,43 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
return this.onGround;
}
@@ -168,7 +168,7 @@ index 88543de6e51acbe76b89aef4a84de20337d616e4..6574219da33a7b9a4906883e65b78d78
if (this.noPhysics) {
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
} else {
-@@ -1293,6 +1328,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -1294,6 +1329,13 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
gameprofilerfiller.pop();
}
}
@@ -182,7 +182,7 @@ index 88543de6e51acbe76b89aef4a84de20337d616e4..6574219da33a7b9a4906883e65b78d78
}
private void applyMovementEmissionAndPlaySound(Entity.MovementEmission moveEffect, Vec3 movement, BlockPos landingPos, BlockState landingState) {
-@@ -4886,7 +4928,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -4916,7 +4958,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public void setDeltaMovement(Vec3 velocity) {
@@ -192,7 +192,7 @@ index 88543de6e51acbe76b89aef4a84de20337d616e4..6574219da33a7b9a4906883e65b78d78
}
public void addDeltaMovement(Vec3 velocity) {
-@@ -4992,7 +5036,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
+@@ -5022,7 +5066,9 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
// Paper end - Fix MC-4
if (this.position.x != x || this.position.y != y || this.position.z != z) {
diff --git a/patches/server/1051-Lag-compensation-ticks.patch b/patches/server/1051-Lag-compensation-ticks.patch
index 009e900964..4a89c2d30a 100644
--- a/patches/server/1051-Lag-compensation-ticks.patch
+++ b/patches/server/1051-Lag-compensation-ticks.patch
@@ -8,7 +8,7 @@ Areas affected by lag comepnsation:
- Eating food items
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 196d7ffb8b362873f93224ccdd37e7efc656fd78..9dfa6bb83469620a446509656ea1ad140b2e683f 100644
+index b33b68649e67de08719b30e98650c84f4c3c18d6..e636a96ea6220fda671a31d3d9cdea468a558768 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -331,6 +331,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -63,10 +63,10 @@ index 504c996220b278c194c93e001a3b326d549868ec..a96f859a5d0c6ec692d4627a69f3c9ee
if (this.hasDelayedDestroy) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-index 22bb0aaf3aebdc60a8894dc473cbeb0e58ca37b8..9c61225a728a2ca91a1c71dead75fc7cd93668b6 100644
+index 4836b01323abb125289982ef3ceca09d6a9cfc3b..e86314de8d908a0c3e9f17d3e163c11180cf3f59 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
-@@ -4050,6 +4050,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4051,6 +4051,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.resendPossiblyDesyncedDataValues(java.util.List.of(DATA_LIVING_ENTITY_FLAGS), serverPlayer);
}
// Paper end - Properly cancel usable items
@@ -77,7 +77,7 @@ index 22bb0aaf3aebdc60a8894dc473cbeb0e58ca37b8..9c61225a728a2ca91a1c71dead75fc7c
private void updatingUsingItem() {
if (this.isUsingItem()) {
if (ItemStack.isSameItem(this.getItemInHand(this.getUsedItemHand()), this.useItem)) {
-@@ -4064,7 +4068,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4065,7 +4069,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected void updateUsingItem(ItemStack stack) {
stack.onUseTick(this.level(), this, this.getUseItemRemainingTicks());
@@ -91,7 +91,7 @@ index 22bb0aaf3aebdc60a8894dc473cbeb0e58ca37b8..9c61225a728a2ca91a1c71dead75fc7c
this.completeUsingItem();
}
-@@ -4102,7 +4111,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4103,7 +4112,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (!itemstack.isEmpty() && !this.isUsingItem() || forceUpdate) { // Paper - Prevent consuming the wrong itemstack
this.useItem = itemstack;
@@ -103,7 +103,7 @@ index 22bb0aaf3aebdc60a8894dc473cbeb0e58ca37b8..9c61225a728a2ca91a1c71dead75fc7c
if (!this.level().isClientSide) {
this.setLivingEntityFlag(1, true);
this.setLivingEntityFlag(2, hand == InteractionHand.OFF_HAND);
-@@ -4127,7 +4139,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4128,7 +4140,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
} else if (!this.isUsingItem() && !this.useItem.isEmpty()) {
this.useItem = ItemStack.EMPTY;
@@ -115,7 +115,7 @@ index 22bb0aaf3aebdc60a8894dc473cbeb0e58ca37b8..9c61225a728a2ca91a1c71dead75fc7c
}
}
-@@ -4258,7 +4273,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
+@@ -4259,7 +4274,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.useItem = ItemStack.EMPTY;
diff --git a/work/Bukkit b/work/Bukkit
-Subproject 97c5926140420c7b9e8a06b2b8348b1816f2a6b
+Subproject b9df8e9f23bd025e9f99e9ebe0d46deff75717a
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject 7235ad7b04542ce214869eb1ec1966bb392aedc
+Subproject df1efc0bbfc40d10132d440345c8b28aa713090
diff --git a/work/Spigot b/work/Spigot
-Subproject 5eb8a94b2f4dfefed5c71a40f87a84c34d1c882
+Subproject e65d67a7a97d6502296109d5c295255ecbc0457